---
title: "Deploy gancio"
description: "A shared agenda for local communities, with federation"
category: "Other"
url: https://railway.com/deploy/gancio
---

# Deploy gancio

A shared agenda for local communities, with federation

**[Deploy gancio on Railway](https://railway.com/template/gancio)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/gancio/manifest.json

- **Creator:** Youssef Siam
- **Category:** Other

## Template content

### gancio

- **Image:** ghcr.io/youssefsiam38/gancio-railway:1.0.0
- **Health check:** /
- **Public domain:** Yes

## Documentation

# 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.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/gancio
