Files
tonehaus/docs/01-setup.md
boris dae8f3d999
All checks were successful
CI - Build Tonehaus Docker image / tonehaus-ci-build (push) Successful in 2m0s
wtf
2025-11-28 02:00:11 +00:00

1.4 KiB

Setup

Prerequisites

  • Docker + Docker Compose
  • Spotify Developer account (for a Client ID/Secret)

Start services

docker compose up -d --build

Database

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

docker compose exec php php bin/console app:promote-admin you@example.com

Moderator (optional)

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:
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:
export APP_ALLOW_REGISTRATION=0 # set to 1 (default) to re-enable