From 29d413f7e30f068b8b6d68576325b08c2b657b50 Mon Sep 17 00:00:00 2001 From: "Thomas F. K. Jorna" Date: Tue, 18 Feb 2025 19:05:07 +0100 Subject: [PATCH] fix: okay i have learned how env vars work. you cannot set 'environment:' vars using vars from 'env_file' --- .env.docker-compose.test | 17 +++++++++++++++-- docker-compose.base.yml | 7 ------- docker-compose.test.yml | 34 ++++++---------------------------- 3 files changed, 21 insertions(+), 37 deletions(-) diff --git a/.env.docker-compose.test b/.env.docker-compose.test index 1a8004f1e..5fc11cef4 100644 --- a/.env.docker-compose.test +++ b/.env.docker-compose.test @@ -1,5 +1,5 @@ -MINIO_ACCESS_KEY=pubpub-minio-admin -MINIO_SECRET_KEY=pubpub-minio-admin +MINIO_ROOT_USER=pubpub-minio-admin +MINIO_ROOT_PASSWORD=pubpub-minio-admin ASSETS_BUCKET_NAME=byron.v7.pubpub.org ASSETS_UPLOAD_KEY=pubpubuserrr @@ -13,6 +13,19 @@ POSTGRES_PASSWORD=postgres POSTGRES_DB=postgres POSTGRES_HOST=db +# annoying duplication because jobs uses this version +PGHOST=db +PGPORT=5432 +PGUSER=postgres +PGPASSWORD=postgres +PGDATABASE=postgres + +# this needs to be db:5432 bc that's what it is in the app-network +# if you are running this from outside the docker network, you need to use +# @localhost:${POSTGRES_PORT} instead +DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres + + JWT_SECRET=xxx MAILGUN_SMTP_PASSWORD=xxx GCLOUD_KEY_FILE=xxx diff --git a/docker-compose.base.yml b/docker-compose.base.yml index 8934376e0..027e36b68 100644 --- a/docker-compose.base.yml +++ b/docker-compose.base.yml @@ -9,9 +9,6 @@ services: start_period: 30s restart: unless-stopped command: server --console-address ":9001" /data - environment: - - MINIO_ROOT_USER=${MINIO_ACCESS_KEY} - - MINIO_ROOT_PASSWORD=${MINIO_SECRET_KEY} ports: - "9000:9000" # API - "9001:9001" # Console @@ -36,10 +33,6 @@ services: db: image: postgres:15 restart: always - environment: - POSTGRES_USER: ${POSTGRES_USER} - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} - POSTGRES_DB: ${POSTGRES_DB} inbucket: image: inbucket/inbucket:latest diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 54e9ba123..8c0fedbae 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -5,9 +5,7 @@ services: extends: file: ./docker-compose.base.yml service: db - env_file: - - path: .env.docker-compose.test - required: true + env_file: ./.env.docker-compose.test volumes: - postgres_test_data:/var/lib/postgresql/data networks: @@ -22,9 +20,7 @@ services: extends: file: ./docker-compose.base.yml service: minio - env_file: - - path: .env.docker-compose.test - required: true + env_file: ./.env.docker-compose.test volumes: - minio_data:/data networks: @@ -36,9 +32,7 @@ services: depends_on: minio: condition: service_healthy - env_file: - - path: .env.docker-compose.test - required: true + env_file: ./.env.docker-compose.test extends: file: ./docker-compose.base.yml service: minio-init @@ -51,9 +45,7 @@ services: extends: file: ./docker-compose.base.yml service: inbucket - env_file: - - path: .env.docker-compose.test - required: true + env_file: ./.env.docker-compose.test networks: - app-network profiles: @@ -64,17 +56,9 @@ services: container_name: jobs image: ${JOBS_IMAGE} platform: linux/amd64 - env_file: - - path: .env.docker-compose.test - required: true + env_file: .env.docker-compose.test environment: - OTEL_SERVICE_NAME=jobs.jobs - - PGDATABASE=${POSTGRES_DB} - - PGHOST=db - - PGPORT=${POSTGRES_PORT} - - PGUSER=${POSTGRES_USER} - - PGPASSWORD=${POSTGRES_PASSWORD} - - PUBPUB_URL=http://localhost:3000 networks: - app-network depends_on: @@ -84,14 +68,8 @@ services: integration-tests: image: ${INTEGRATION_TESTS_IMAGE} - env_file: - - path: .env.docker-compose.test - required: true + env_file: ./.env.docker-compose.test environment: - # this needs to be db:5432 bc that's what it is in the app-network - # if you are running this from outside the docker network, you need to use - # @localhost:${POSTGRES_PORT} instead - - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} - PORT=3000 - CI=true depends_on: