diff --git a/docker-compose.development.yml b/docker-compose.development.yml index 4f1ad6b..d895e6a 100644 --- a/docker-compose.development.yml +++ b/docker-compose.development.yml @@ -5,13 +5,9 @@ volumes: node-modules: services: - db: - env_file: ./.development.env - celery: build: target: development - env_file: ./.development.env volumes: - ./src/:/app/src @@ -19,7 +15,6 @@ services: build: target: development command: python /app/src/manage.py runserver 0.0.0.0:8000 - env_file: ./.development.env ports: - "${DJANGO_PORT:-8000}:8000" volumes: diff --git a/docker-compose.production.yml b/docker-compose.production.yml index 9a53f8a..4eeb6af 100644 --- a/docker-compose.production.yml +++ b/docker-compose.production.yml @@ -5,21 +5,11 @@ volumes: static-files: services: - db: - env_file: ./.production.env - - celery: - env_file: ./.production.env - - django: - env_file: ./.production.env - nginx: image: nginx:1.23 depends_on: django: condition: service_healthy - env_file: ./.production.env ports: # Note that --env-file should be used to set these correctly - "${NGINX_HTTP_PORT:-80}:80" diff --git a/docker-compose.yml b/docker-compose.yml index 3c5d74e..d400e30 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,8 +6,22 @@ volumes: postgres-data: static-files: +x-db-env: &db-env + POSTGRES_HOST: + POSTGRES_PORT: + POSTGRES_DB: + POSTGRES_USER: + POSTGRES_PASSWORD: + +x-django-env: &django-env + <<: *db-env + DJANGO_SECRET_KEY: + DJANGO_SETTINGS_MODULE: + services: db: + environment: + <<: *db-env image: postgres:15 healthcheck: # Note that --env-file should be used to set these correctly @@ -33,13 +47,9 @@ services: dockerfile: ./docker/django target: production args: - POSTGRES_HOST: - POSTGRES_PORT: - POSTGRES_DB: - POSTGRES_USER: - POSTGRES_PASSWORD: - DJANGO_SECRET_KEY: - DJANGO_SETTINGS_MODULE: + <<: *django-env + environment: + <<: *django-env command: | celery worker -n worker1@%h -n worker2@%h @@ -67,13 +77,9 @@ services: dockerfile: ./docker/django target: production args: - POSTGRES_HOST: - POSTGRES_PORT: - POSTGRES_DB: - POSTGRES_USER: - POSTGRES_PASSWORD: - DJANGO_SECRET_KEY: - DJANGO_SETTINGS_MODULE: + <<: *django-env + environment: + <<: *django-env entrypoint: /app/bin/docker-entrypoint.sh command: | gunicorn --bind 0.0.0.0:8000