This commit is contained in:
@@ -21,6 +21,30 @@ Persistent data:
|
||||
- Redis data where needed
|
||||
- image storage
|
||||
|
||||
## Production Compose
|
||||
|
||||
The repository includes `compose.production.yaml` with separate API, worker,
|
||||
web, PostgreSQL, and Redis services. It exposes only the Nginx web service and
|
||||
keeps database and Redis ports internal to the Compose network.
|
||||
|
||||
Before starting, create a production `.env` containing real values for
|
||||
`POSTGRES_DB`, `POSTGRES_USER`, `POSTGRES_PASSWORD`, `DATABASE_URL`,
|
||||
`REDIS_URL`, `SMTP_URL`, `SMTP_FROM`, and a stable base64-encoded 32-byte
|
||||
`MFA_ENCRYPTION_KEY`. Do not use the fixture pricing provider in production.
|
||||
|
||||
Start the stack and apply migrations with:
|
||||
|
||||
```sh
|
||||
docker compose -f compose.production.yaml up -d --build postgres redis
|
||||
docker compose -f compose.production.yaml run --rm api npm run db:migrate
|
||||
docker compose -f compose.production.yaml up -d --build api worker web
|
||||
```
|
||||
|
||||
The default web port is `8080` and can be changed with `WEB_PORT`. The API and
|
||||
worker images share the same Node workspace image; the web image builds the Vue
|
||||
application and serves it through Nginx with SPA fallback and internal `/api`
|
||||
proxying.
|
||||
|
||||
## Reverse proxy
|
||||
|
||||
Responsible for:
|
||||
|
||||
Reference in New Issue
Block a user