Files
updater/README.md
T
2026-07-14 17:53:07 +03:00

32 lines
1.7 KiB
Markdown

# 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)](https://github.com/settings/tokens/new?description=FromChat%20Updater&scopes=read:packages,repo) — set as `UPDATER_TOKEN` in `deployment/.env.prod` (deploy copies it to the server main `.env`).
## Run standalone
```bash
cd ~/fromchat-server/updater
docker compose --env-file .env up -d
```
The installer sets this up automatically when **updater** is selected.