32 lines
1.7 KiB
Markdown
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.
|