# Set JWT.Secret in config.yaml to the generated value.
docker compose up -d
```
@ -54,11 +57,11 @@ The default compose setup starts these services:
Notes:
- The backend container mounts `./config.yaml.sample` as its runtime config by default.
- The backend container mounts `./config.yaml` as its runtime config. Create it from the sample and set a unique `JWT.Secret` before starting the stack.
- Persistent data is stored under `./custom/`.
- Optional services such as MinIO, OpenObserve, Pyroscope, and phpMyAdmin are present in `docker-compose.yaml` but commented out by default.
If you want to use a custom config file, replace the mounted file in `docker-compose.yaml`:
The Compose file mounts the local config at `/app/paopao-ce/config.yaml`:
@ -130,18 +135,22 @@ docker run -d -p 8010:80 your/paopao-ce:web
### All-in-one image
Create `config.yaml` from `docker/config.yaml` and set a unique `JWT.Secret` before running either all-in-one image. Generate a value with `openssl rand -hex 32`.
# Set JWT.Secret in config.yaml to the generated value.
docker compose up -d
```
@ -116,7 +119,7 @@ Then open:
#### Backend
1. Import `scripts/paopao-mysql.sql` into MySQL.
2. Copy the sample config and adjust only the bootstrap-critical values for your environment.
2. Copy the sample config, set `JWT.Secret` to a unique value from `openssl rand -hex 32`, and adjust the bootstrap-critical values for your environment.