48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
# systemd Units
|
|
|
|
This directory contains recommended `systemd` unit templates for the current
|
|
split-service production topology.
|
|
|
|
## Recommended Topology
|
|
|
|
- `agent_service` on `127.0.0.1:8000`
|
|
- `trading_service` on `127.0.0.1:8001`
|
|
- `news_service` on `127.0.0.1:8002`
|
|
- `runtime_service` on `127.0.0.1:8003`
|
|
- `nginx` serves `frontend/dist` and proxies `/api/*` + `/ws`
|
|
- `runtime_service` spawns the run-scoped Gateway subprocess on demand
|
|
- skill execution runs with `SKILL_SANDBOX_MODE=docker`
|
|
|
|
## Install
|
|
|
|
Adjust these placeholders before installing:
|
|
|
|
- `/opt/bigtime/app` -> repository root on the server
|
|
- `/opt/bigtime/app/.venv/bin/python` -> Python interpreter
|
|
- `/etc/bigtime/bigtime.env` -> shared environment file
|
|
- `bigtime` -> service user
|
|
|
|
Then copy units:
|
|
|
|
```bash
|
|
sudo mkdir -p /etc/bigtime
|
|
sudo cp .env /etc/bigtime/bigtime.env
|
|
|
|
sudo cp deploy/systemd/bigtime-*.service /etc/systemd/system/
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable --now bigtime-agent.service
|
|
sudo systemctl enable --now bigtime-trading.service
|
|
sudo systemctl enable --now bigtime-news.service
|
|
sudo systemctl enable --now bigtime-runtime.service
|
|
```
|
|
|
|
## Frontend
|
|
|
|
Recommended production frontend mode:
|
|
|
|
- build with `cd frontend && npm ci && npm run build`
|
|
- let `nginx` serve `frontend/dist` directly
|
|
|
|
The repository also contains `backend.apps.frontend_service`, but for
|
|
production the lower-complexity path is static hosting via `nginx`.
|