From 05c867f44fb5a23decbb306749d54b6adfa51bcd Mon Sep 17 00:00:00 2001 From: Sonny Date: Sun, 27 Oct 2024 18:39:43 +0100 Subject: [PATCH] refactor: compose files --- compose.yml | 31 +++++++++++++++++--- dev.compose.yml | 46 ++++++++++++++++++++++++------ docker-config/servers_pgadmin.json | 13 --------- 3 files changed, 64 insertions(+), 26 deletions(-) delete mode 100644 docker-config/servers_pgadmin.json diff --git a/compose.yml b/compose.yml index 070b1e9..8515c85 100644 --- a/compose.yml +++ b/compose.yml @@ -9,7 +9,7 @@ services: - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} healthcheck: - test: ['CMD-SHELL', 'pg_isready'] + test: ['CMD-SHELL', 'pg_isready', '-U', '${DB_USER}'] volumes: - postgres-volume:/var/lib/postgresql/data ports: @@ -19,20 +19,28 @@ services: container_name: pgadmin image: dpage/pgadmin4:8 restart: always + entrypoint: /bin/sh -c "chmod 0600 /pgpass; /entrypoint.sh;" healthcheck: test: ['CMD', 'wget', '-O', '-', 'http://localhost:80/misc/ping'] interval: 2s timeout: 10s retries: 30 + env_file: .env environment: - PGADMIN_DEFAULT_EMAIL=myemail@gmail.com - PGADMIN_DEFAULT_PASSWORD=a12345678 + - PGADMIN_CONFIG_SERVER_MODE=False + - PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED=False depends_on: - postgres - volumes: - - ./docker-config/servers_pgadmin.json:/pgadmin4/servers.json ports: - '5050:80' + user: root + configs: + - source: servers.json + target: /pgadmin4/servers.json + - source: pgpass + target: /pgpass my-links: container_name: my-links @@ -53,4 +61,19 @@ services: volumes: postgres-volume: - name: postgres-prod-my-links + +configs: + pgpass: + content: postgres:${DB_PORT}:*:${DB_USER}:${DB_PASSWORD} + servers.json: + content: | + {"Servers": {"1": { + "Group": "Servers", + "Name": "project", + "Host": "postgres", + "Port": ${DB_PORT}, + "MaintenanceDB": "${DB_DATABASE}", + "Username": "${DB_USER}", + "PassFile": "/pgpass", + "SSLMode": "prefer" + }}} diff --git a/dev.compose.yml b/dev.compose.yml index ff26c2b..9f12450 100644 --- a/dev.compose.yml +++ b/dev.compose.yml @@ -1,4 +1,4 @@ -name: dev-stack +name: my-links-dev services: postgres: container_name: postgres @@ -9,26 +9,54 @@ services: - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} healthcheck: - test: ['CMD-SHELL', 'pg_isready'] + test: ["CMD-SHELL", "pg_isready", "-U", "${DB_USER}"] volumes: - - postgres_volume:/var/lib/postgresql/data + - postgres-volume:/var/lib/postgresql/data ports: - - '${DB_PORT}:5432' + - "${DB_PORT}:5432" pgadmin: container_name: pgadmin image: dpage/pgadmin4:8 restart: always + entrypoint: /bin/sh -c "chmod 0600 /pgpass; /entrypoint.sh;" + healthcheck: + test: ["CMD", "wget", "-O", "-", "http://localhost:80/misc/ping"] + interval: 2s + timeout: 10s + retries: 30 + env_file: .env environment: - PGADMIN_DEFAULT_EMAIL=myemail@gmail.com - PGADMIN_DEFAULT_PASSWORD=a12345678 + - PGADMIN_CONFIG_SERVER_MODE=False + - PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED=False depends_on: - postgres - volumes: - - ./docker-config/servers_pgadmin.json:/pgadmin4/servers.json ports: - - '5050:80' + - "5050:80" + user: root + configs: + - source: servers.json + target: /pgadmin4/servers.json + - source: pgpass + target: /pgpass volumes: - postgres_volume: - name: postgres_test_dev_stack + postgres-volume: + +configs: + pgpass: + content: postgres:${DB_PORT}:*:${DB_USER}:${DB_PASSWORD} + servers.json: + content: | + {"Servers": {"1": { + "Group": "Servers", + "Name": "project", + "Host": "postgres", + "Port": ${DB_PORT}, + "MaintenanceDB": "${DB_DATABASE}", + "Username": "${DB_USER}", + "PassFile": "/pgpass", + "SSLMode": "prefer" + }}} diff --git a/docker-config/servers_pgadmin.json b/docker-config/servers_pgadmin.json deleted file mode 100644 index 43e3b00..0000000 --- a/docker-config/servers_pgadmin.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "Servers": { - "1": { - "Name": "project", - "Group": "Servers", - "Port": 5432, - "Username": "postgres", - "Host": "postgres", - "SSLMode": "prefer", - "MaintenanceDB": "my-links" - } - } -}