Deploy gancio
A shared agenda for local communities, with federation
Just deployed
/data
Deploy and Host gancio on Railway
gancio is a shared agenda for a place. People propose events, a moderator approves them, and the result is published as a web page, an RSS feed, an iCal subscription, an embeddable widget, and over ActivityPub so other instances can follow along. It is built for a neighbourhood, a social centre or a small scene rather than a platform: there are no personal timelines, and the identity of whoever posted an event is never shown, not even to administrators. This is a community-maintained template; it is not affiliated with the gancio project.
About Hosting gancio
gancio is refreshingly small to host. One process, one SQLite database, one directory holding the database, uploaded images and logs. No queue, no cache, no search service. A deployment is a single service with a single persistent volume, and it idles at under two hundred megabytes of memory.
The part that needs care is the first minute. A fresh instance has no administrator at all, and account registration is open by default. On a hosting platform the public address is live from the moment the service starts, which means a stranger can create an account before you have one, and nobody holds the rights to close the door. This template creates your administrator account and applies the registration policy using the application's own command line, before the web server is started. Nothing is listening until the instance belongs to you.
Anonymous event submission stays switched on, because it is the point of the project: anyone can propose an event without an account, and nothing is published until a moderator confirms it.
Why Deploy gancio on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying gancio on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Concretely, this template attaches the volume, writes the configuration file the application expects from your settings, runs the database migrations, generates your password, creates your administrator account and closes registration, with nothing to fill in.
Common Use Cases
- Run the events calendar for a neighbourhood, a social centre, a bookshop or a music scene.
- Let anyone propose an event without an account, and keep editorial control through moderation.
- Publish the same calendar to a website, a feed reader and a phone's calendar app at once.
- Federate with other local instances so nearby communities can see each other's listings without a central platform in the middle.
Dependencies for gancio Hosting
- A persistent volume for the database, uploaded images and logs.
- Optionally a PostgreSQL database instead of the bundled SQLite, for a larger instance.
- Optionally an SMTP server, configured in the application, for confirmation and recovery e-mail.
Deployment Dependencies
- gancio upstream project: https://framagit.org/les/gancio
- Documentation: https://gancio.org
- Template repository, wrapper image and tests: https://github.com/youssefsiam38/gancio-railway
- Published image:
ghcr.io/youssefsiam38/gancio-railway - gancio is licensed AGPL-3.0-only. Running it as a network service makes you a distributor under section 13, so keep the corresponding source of the version you run available.
Implementation Details
The wrapper adds no application code and no proxy. It validates the settings, refuses a public URL that is not absolute because that value is baked into federation and every published link, generates the JSON configuration file the application reads, runs the migrations, creates the administrator and verifies the account exists rather than trusting the command's exit status, applies the registration policy, and only then starts the server. This template tracks the last stable release rather than the beta line the project's own documentation currently points at, so that a published template does not change under the people who deploy it.
Template Content
