version: "3.4" # DO NOT USE THIS IN PRODUCTION - it is for development only due to insecure # settings and the use of "runserver" versus "gunicorn". # See https://takahe-server.readthedocs.io/en/latest/installation.html for more x-takahe-common: &takahe-common build: context: .. dockerfile: ./docker/Dockerfile image: takahe:latest environment: DJANGO_SETTINGS_MODULE: takahe.settings.development PGHOST: db PGDATABASE: takahe PGUSER: postgres PGPASSWORD: insecure_password networks: - external_network - internal_network restart: on-failure depends_on: - db volumes: - ..:/takahe/ services: db: image: postgres:15-alpine healthcheck: test: ['CMD', 'pg_isready', '-U', 'postgres'] volumes: - dbdata:/var/lib/postgresql/data networks: - internal_network restart: always environment: POSTGRES_DB: takahe POSTGRES_USER: postgres POSTGRES_PASSWORD: insecure_password web: <<: *takahe-common ports: - "8000:8000" setup: <<: *takahe-common command: ["/takahe/manage.py", "migrate"] networks: internal_network: external_network: volumes: dbdata: