FromChat Updater
Watches GitHub tags and container packages for backend + frontend repos.
When a newer semver tag exists in both and all required fromchat/* images are published,
regenerates compose.yml (via the deployment merge script) and restarts the stack.
Environment
Production stack: the updater service loads both the main stack .env (secrets from deployment/.env.prod) and updater/.env (repo URLs and paths below).
| Variable | Where | Description |
|---|---|---|
UPDATER_TOKEN |
main .env |
PAT with read:packages + repo (GitHub or Gitea) |
BACKEND_REPO |
updater/.env |
e.g. https://github.com/fromchat-messenger/backend.git |
WEB_REPO |
updater/.env |
e.g. https://github.com/fromchat-messenger/web.git |
DEPLOYMENT_REPO |
updater/.env |
Deployment repo for generate-compose.py |
COMPOSE_PROJECT_DIR |
updater/.env |
Host path to the stack (compose.yml parent directory) |
FROMCHAT_COMPONENTS |
updater/.env |
Comma list: backend,frontend,caddy,updater |
CHECK_INTERVAL_SECONDS |
updater/.env |
Poll interval (default 60) |
GITEA_BASE |
optional | Override Gitea API base (e.g. http://host.docker.internal:3000). If unset, probes host-gateway :3000 then https://git.fromchat.ru. |
Create token: GitHub PAT (read:packages + repo) — set as UPDATER_TOKEN in deployment/.env.prod (deploy copies it to the server main .env).
Run standalone
cd ~/fromchat-server/updater
docker compose --env-file .env up -d
The installer sets this up automatically when updater is selected.
Description
Languages
Python
98%
Dockerfile
2%