Skip to content

Docker compose file to be use in development environment

Mounted local sources to enable local development:

  • src/
  • docker/conf/
  • docker/bin/docker-entrypoint.sh

To run it:

$ docker compose -f stack-samples/develop/compose.yml up

Content

~~~yaml x-common: &common build: context: ../.. dockerfile: docker/Dockerfile target: dist platform: linux/amd64 tty: true stdin_open: true environment: - ADMIN_EMAIL=admin@bitcaster.io - ADMIN_PASSWORD=password - ALLOWED_HOSTS=localhost,127.0.0.1 - CACHE_URL=redis://redis:6379/1?client_class=django_redis.client.DefaultClient - CSRF_COOKIE_SECURE=False - CSRF_TRUSTED_ORIGINS=http://localhost - DATABASE_URL=postgres://bitcaster:password@db:5432/bitcaster - DEBUG=True - DRAMATIQ_BROKER=redis://redis:6379/2 - LOGGING_LEVEL=CRITICAL - MEDIA_ROOT=/var/storage/media/ - SECRET_KEY=super_secret_key_just_for_development_that_needs_to_be_more_than_fifty_characters - SECURE_HSTS_PRELOAD=0 - SECURE_SSL_REDIRECT=False - SESSION_COOKIE_DOMAIN= - SESSION_COOKIE_SECURE=False - SOCIAL_AUTH_REDIRECT_IS_HTTPS=False - STATIC_ROOT=/var/storage/static/ - STATIC_URL=/static/ volumes: - storage_volume:/var/storage

- $PWD:/code/app

- $PWD/docker/conf:/conf

- $PWD/docker/bin/docker-entrypoint.sh:/usr/local/bin/docker-entrypoint.sh

- $PWD/src/bitcaster:/code/pypackages/3.13/lib/bitcaster

restart: unless-stopped depends_on: db: condition: service_healthy redis: condition: service_healthy

services: app: <<: *common ports: - 8000:8000 healthcheck: test: curl --fail http://127.0.0.1:8000/healthcheck/ || exit 1 interval: 10s timeout: 5s retries: 5 start_period: 60s depends_on: db: condition: service_healthy

worker: <<: *common command: ["worker"] depends_on: db: condition: service_healthy

scheduler: <<: *common command: ["scheduler"] depends_on: db: condition: service_healthy

db: image: postgres:15 user: postgres environment: - PGUSER=bitcaster - POSTGRES_USER=bitcaster - POSTGRES_PASSWORD=password - POSTGRES_DB=bitcaster volumes: - postgres_data:/var/lib/postgresql/data/ restart: always healthcheck: test: ["CMD-SHELL", "pg_isready", "-U", "postgres", "-d", "bitcaster"] start_period: 5s start_interval: 1s interval: 5s timeout: 4s retries: 5

redis: image: redis:7.2 restart: always healthcheck: test: ["CMD", "redis-cli", "ping"] start_period: 5s start_interval: 1s interval: 5s timeout: 4s retries: 5

volumes: postgres_data: storage_volume:

~~~