Gancio
Gancio is a shared agenda for local communities connected to the Fediverse.
License
All relevant legal information can be found here
Prerequisites
You’ll need your MySQL credentials. Get them with my_print_defaults
:
[isabell@stardust ~]$ my_print_defaults client
--default-character-set=utf8mb4
--user=isabell
--password=MySuperSecretPassword
[isabell@stardust ~]$
Gancio v1.6.14 is running with node 14=> and 18=<.
[isabell@stardust ~]$ uberspace tools version list node
- 12
- 14
- 16
- 18
- 19
[isabell@stardust ~]$ uberspace tools version use node 18
Selected Node.js version 18
The new configuration is adapted immediately. Minor updates will be applied automatically.
[isabell@stardust ~]$
Installation
We will install gancio using yarn:
[isabell@stardust ~]$ yarn global add --network-timeout 1000000000 --silent https://gancio.org/latest.tgz
Note
you can ignore warnings for “unmet peer dependency” and outdated packages.
Create a database for the application:
[isabell@stardust html]$ mysql -e "CREATE DATABASE ${USER}_ganico"
[isabell@stardust html]$
Configuration
You will be asked for your database credentials at the setup process when you visit your Gancio instance for the first time.
Setup daemon
Create ~/etc/services.d/gancio.ini
with the following content:
[program:gancio]
command=%(ENV_HOME)s/bin/gancio
directory=%(ENV_HOME)s
autostart=yes
autorestart=yes
After creating the configuration, tell supervisord to refresh its configuration and start the service:
[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE RUNNING pid 26020, uptime 0:03:14
[isabell@stardust ~]$
Point the uberspace web backend
on /
to the listener on port 13120.
To make the application accessible from the outside, configure a web backend:
[isabell@stardust ~]$ uberspace web backend set / --http --port <port>
Set backend for / to port <port>; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$
Problems after updating to gancio 1.27.0
Note
After updating to gancio 1.27.0, in the web-admin-interface, you may encounter the error Cannot reach myself from the server! Please check that proxy, firewall and network are correctly configured.
You can solve that by setting your IP address in your config.json
.
First, get your Uberspace IP address:
[isabell@stardust ~]$ ip addr | grep $USER
61: veth_isabell@if62: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 100.64.118.2/30 scope global veth_isabell
[isabell@stardust ~]$
In this case, it’s 100.64.118.2
, but make sure to use your own. Use your favourite editor to edit ~/config.json
and set the IP address as server
in the host
block.
{ "baseurl": "", "hostname": "", "server": { "host": "100.64.118.2", "port": 13120 },
After that, restart gancio:
[isabell@stardust ~]$ supervisorctl restart gancio
gancio: stopped
gancio: started
Updates
[isabell@stardust ~]$ yarn global remove gancio
[1/2] Removing module gancio...
[2/2] Regenerating lockfile and installing missing dependencies...
success Uninstalled packages.
Done in 12.09s.
[isabell@stardust ~]$ yarn cache clean
yarn cache v1.22.19
success Cleared cache.
Done in 12.99s.
[isabell@stardust ~]$ yarn global add --network-timeout 1000000000 --silent https://gancio.org/latest.tgz
[isabell@stardust ~]$ supervisorctl restart gancio
gancio: stopped
gancio: started
Tested with Gancio 1.27.0 and Uberspace 7.15.4.0
Written by: Jonathan Herper <jonathan@herper.me>