Написано ИИ. Могут быть ошибки.
One-click installer and classic (build-on-your-PC) deploy tooling for a production FromChat stack on Debian-based Linux.
curl -fsSL https://l.fromchat.ru/install|sudo bashThe installer (install.sh):
- Installs Docker + Compose plugin if missing
- Downloads the published
compose.yml(GitHub, with Gitea fallback) - Clones backend enough to run
generate-envinto~/fromchat-server/.env - Prints next steps (configure Caddyfile / edge, then
docker compose up -d)
Containers use Docker restart: always — no systemd unit.
Short links on l.fromchat.ru:
| Path | Target |
|---|---|
/install |
This installer script (GitHub → Gitea fallback) |
/telegram |
https://t.me/fromchat_ch |
/max |
https://mxg.su/fromchat_ch |
cd ~/fromchat-server
docker compose --env-file .env up -d~/fromchat-server/
compose.yml # published production stack (do not edit by hand; regenerated by CI/publish)
.env # from backend generate-env
compliance_keypair.txt # keep the private key offline
data/prod/ # runtime data (Caddy ACME under data/prod/caddy/)
firebase-cert.json # optional; empty placeholder may be created by installer
For developers who build images locally and transfer them via SSH + docker pussh:
cd deployment
./deploy.sh user@host ~/fromchat-server linux/arm64 --tag latest
# optional:
./deploy.sh user@host ~/fromchat-server linux/amd64 \
--components backend,frontend,caddy,chat_filter,updater --tag v1.0- Interactive component menu if
--componentsis omitted - Syncs
compose.yml+.envto the server, pushes images, thendocker compose up -d - Sibling checkouts expected (or set env):
../backend,../Web,../updater
overrides:FROMCHAT_BACKEND_DIR,FROMCHAT_WEB_DIR,FROMCHAT_UPDATER_DIR
Publish multi-arch images to registries:
./publish.shCI regenerates root compose.yml from the latest published release (scripts/sync-published-compose.py).
Python helpers live under scripts/deploy/ (requirements-deploy.txt: rich, etc.). Prefer the backend .venv or create one for deployment scripts.