All checks were successful
CI - Build Tonehaus Docker image / tonehaus-ci-build (push) Successful in 2m0s
48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
# Setup
|
|
|
|
## Prerequisites
|
|
- Docker + Docker Compose
|
|
- Spotify Developer account (for a Client ID/Secret)
|
|
|
|
## Start services
|
|
```bash
|
|
docker compose up -d --build
|
|
```
|
|
|
|
## Database
|
|
```bash
|
|
docker compose exec php php bin/console doctrine:database:create --if-not-exists
|
|
docker compose exec php php bin/console doctrine:migrations:diff --no-interaction
|
|
docker compose exec php php bin/console doctrine:migrations:migrate --no-interaction
|
|
```
|
|
|
|
### Switching database drivers
|
|
- `DATABASE_DRIVER=postgres` (default) continues to use the Postgres 16 service from `docker-compose.yml` and reads credentials from `DATABASE_URL`.
|
|
- `DATABASE_DRIVER=sqlite` runs Doctrine against a local SQLite file at `var/data/database.sqlite`. `DATABASE_URL` is ignored; override the SQLite file path with `DATABASE_SQLITE_PATH` if desired.
|
|
|
|
## Admin user
|
|
```bash
|
|
docker compose exec php php bin/console app:promote-admin you@example.com
|
|
```
|
|
|
|
## Moderator (optional)
|
|
```bash
|
|
docker compose exec php php bin/console app:promote-moderator mod@example.com
|
|
```
|
|
|
|
## Spotify credentials
|
|
- Prefer admin UI: open `/admin/settings` and enter Client ID/Secret. (Stored in DB)
|
|
- Fallback to env vars:
|
|
```bash
|
|
export SPOTIFY_CLIENT_ID=your_client_id
|
|
export SPOTIFY_CLIENT_SECRET=your_client_secret
|
|
```
|
|
|
|
## Optional feature flags
|
|
- Disable public registration by setting an env variable before starting Symfony:
|
|
```bash
|
|
export APP_ALLOW_REGISTRATION=0 # set to 1 (default) to re-enable
|
|
```
|
|
|
|
|