x-base: &BASE image: bmcc links: - "db:postgres" - "rabbitmq:rabbitmq" volumes: - ".:/app:rw" - "./.data:/data:rw" - "./.data/artifacts:/artifacts:rw" - "./.data/staticfiles:/staticfiles:rw" env_file: - .env-local - .env-secrets services: web: <<: *BASE build: context: . dockerfile: Dockerfile.base command: uvicorn --host=0.0.0.0 --lifespan=off --port=80 --reload bmcc.asgi:application environment: VIRTUAL_HOST: bmcc.local.aldryn.net test: <<: *BASE image: bmcc-dev build: context: . dockerfile: Dockerfile.base args: VENV_IMAGE: venv_dev command: pytest ./bmcc env_file: - .env-local - .env-secrets - .env-testing worker: <<: *BASE command: celery -A bmcc.celery.worker worker beat: <<: *BASE command: celery -A bmcc.celery.worker beat rabbitmq: image: rabbitmq:4.2-alpine hostname: rabbitmq expose: - "15672" environment: RABBITMQ_ERLANG_COOKIE: "sJJqrMsriiDxseYUaifAsH02kEvYrI9U1qALYZHoKgMIxBYjEDPtv0Gp4X9AR88kq4M9WZTnBPoxkTQ3" db: image: ghcr.io/baosystems/postgis:15-3.5 environment: POSTGRES_DB: "db" POSTGRES_HOST_AUTH_METHOD: "trust" SERVICE_MANAGER: "fsm-postgres" volumes: - ".:/app:rw" - 'postgres:/var/lib/postgresql/data' deps: build: context: . target: builder dockerfile: Dockerfile.base secrets: - netrc volumes: - '~/.netrc:/root/.netrc:ro' - '.:/app' working_dir: /app entrypoint: uv command: lock --upgrade environment: UV_NO_SYNC: "1" profiles: - donotstart lint: image: divio/lint user: "1000:1000" entrypoint: /bin/lint volumes: - ".:/app:rw" environment: LINT_FILE_DOCKER: Dockerfile.base LINT_FOLDER_PYTHON: bmcc profiles: - donotstart networks: default: name: divio-local-lb external: true volumes: postgres: driver: local secrets: netrc: file: ${HOME}/.netrc