Railway’s real one-click path is a published template (app image + Postgres + variable references), not railway.toml alone.
When a marketplace template exists, add this README button (replace TEMPLATE_CODE):
[](https://railway.com/new/template/TEMPLATE_CODE?utm_medium=integration&utm_source=button&utm_campaign=timetracker)Until then, use manual deploy below or publish the template once (maintainer steps).
- Create a project at railway.app.
- Add PostgreSQL.
- Add a service from Docker image:
ghcr.io/drytrix/timetracker:latest(ordrytrix/timetracker:latest). - Set variables on the app service:
| Variable | Value |
|---|---|
DATABASE_URL |
Reference Postgres ${{Postgres.DATABASE_URL}} (or the plugin’s DATABASE_URL) |
SECRET_KEY |
openssl rand -hex 32 |
FLASK_ENV |
production |
AUTH_METHOD |
local |
REDIS_ENABLED |
false |
- Healthcheck path:
/_ready(seerailway.toml). - Public HTTP networking on port 8080 (Railway sets
PORT; the image honors it).
Do this once in the Railway dashboard so the Deploy button can point at a stable template URL.
- New project → add PostgreSQL → add Docker image service
ghcr.io/drytrix/timetracker:latest. - Wire variables as in the table above (
SECRET_KEY=${{secret(64, "abcdef0123456789")}}in the template composer). - Settings → Generate Template from Project (or Workspace → Templates → New Template with the same services).
- Fill name TimeTracker, description: self-hosted time tracking + Peppol invoicing, link demo + GitHub.
- Publish to the marketplace.
- Copy the template share URL / code and update:
- README.md Install options (Deploy on Railway button)
- DISTRIBUTION.md Railway section
- Replace
TEMPLATE_CODEin this file’s one-click section
- Optional: add a live demo project on the template overview.
- App source: Docker image
ghcr.io/drytrix/timetracker:latest - Postgres plugin included
-
DATABASE_URL→ Postgres connection reference -
SECRET_KEY→${{secret(64, "abcdef0123456789")}} -
FLASK_ENV=production,AUTH_METHOD=local,REDIS_ENABLED=false - Healthcheck
/_ready, timeout ≥ 300s - Public HTTP enabled
- Published + README button updated