From 60d314abaf14e83b95deefc9ebee88321f0e1c10 Mon Sep 17 00:00:00 2001 From: Thomas Peetz Date: Sun, 10 Aug 2025 02:55:56 +0200 Subject: [PATCH] split docker-compose.yml to extract database services --- compose-couchdb.yaml | 22 +++++++++++ compose-postgres.yaml | 35 ++++++++++++++++++ docker-compose.yml | 85 ++++++++++++++++++------------------------- 3 files changed, 92 insertions(+), 50 deletions(-) create mode 100644 compose-couchdb.yaml create mode 100644 compose-postgres.yaml diff --git a/compose-couchdb.yaml b/compose-couchdb.yaml new file mode 100644 index 0000000..18b3586 --- /dev/null +++ b/compose-couchdb.yaml @@ -0,0 +1,22 @@ +services: + couchdb: + image: couchdb + restart: unless-stopped + environment: + - COUCHDB_USER=admin + - COUCHDB_PASSWORD=admin + ports: + - 5984:5984 + networks: + - database + - frontend + volumes: + - couchdb-data:/opt/couchdb/data + secrets: + - couchdb-password + +volumes: + couchdb-data: +secrets: + couchdb-password: + file: couchdb-password.txt diff --git a/compose-postgres.yaml b/compose-postgres.yaml new file mode 100644 index 0000000..6abb4dc --- /dev/null +++ b/compose-postgres.yaml @@ -0,0 +1,35 @@ + +services: + postgres: + image: postgres + restart: unless-stopped + environment: + - POSTGRES_DB=kontor + - POSTGRES_USER=kontor + #- POSTGRES_PASSWORD_FILE=/run/secrets/db-password + - POSTGRES_PASSWORD=kontor + healthcheck: + test: ["CMD-SHELL", "pg_isready -U kontor"] + interval: 1s + timeout: 5s + retries: 10 + ports: + - 5432:5432 + networks: + - database + volumes: + - postgres-data:/var/lib/postgresql/data:rw + secrets: + - db-password + adminer: + image: adminer + ports: + - 8090:8080 + networks: + - database + - frontend +volumes: + postgres-data: +secrets: + db-password: + file: db-password.txt diff --git a/docker-compose.yml b/docker-compose.yml index aaad792..6a7a792 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,48 +1,7 @@ +include: + - ./compose-postgres.yaml services: - postgres: - image: postgres - restart: unless-stopped - environment: - - POSTGRES_DB=kontor - - POSTGRES_USER=kontor - #- POSTGRES_PASSWORD_FILE=/run/secrets/db-password - - POSTGRES_PASSWORD=kontor - healthcheck: - test: ["CMD-SHELL", "pg_isready -U kontor"] - interval: 1s - timeout: 5s - retries: 10 - ports: - - 5432:5432 - networks: - - database - volumes: - - postgres-data:/var/lib/postgresql/data:rw - secrets: - - db-password - adminer: - image: adminer - ports: - - 8090:8080 - networks: - - database - - frontend - couchdb: - image: couchdb - restart: unless-stopped - environment: - - COUCHDB_USER=admin - - COUCHDB_PASSWORD=admin - ports: - - 5984:5984 - networks: - - database - - frontend - volumes: - - couchdb-data:/opt/couchdb/data - secrets: - - couchdb-password activemq: image: apache/activemq-artemis:latest-alpine restart: unless-stopped @@ -56,6 +15,11 @@ services: volumes: - activemq-data:/var/lib/artemis-instance kontor: + build: + context: ./kontor-spring + dockerfile: Dockerfile + tags: + - kontor:0.2.0-SNAPSHOT image: kontor:0.2.0-SNAPSHOT restart: unless-stopped networks: @@ -70,6 +34,11 @@ services: postgres: condition: service_healthy kontor-api: + build: + context: ./kontor-api + dockerfile: Dockerfile + tags: + - kontor-api:0.2.0-SNAPSHOT image: kontor-api:0.2.0-SNAPSHOT restart: unless-stopped networks: @@ -84,6 +53,11 @@ services: postgres: condition: service_healthy kontor-angular: + build: + context: ./kontor-angular + dockerfile: Dockerfile + tags: + - kontor-angular:0.2.0-SNAPSHOT image: kontor-angular:0.2.0-SNAPSHOT restart: unless-stopped networks: @@ -95,19 +69,30 @@ services: depends_on: postgres: condition: service_healthy + kontor-vue: + build: + context: ./kontor-vue + dockerfile: Dockerfile + tags: + - kontor-vue:0.2.0-SNAPSHOT + image: kontor-vue:0.2.0-SNAPSHOT + restart: unless-stopped + networks: + - database + - integration + - frontend + ports: + - 8300:80 + depends_on: + postgres: + condition: service_healthy + networks: database: integration: name: integration frontend: volumes: - postgres-data: - couchdb-data: activemq-data: images-data: -secrets: - db-password: - file: db-password.txt - couchdb-password: - file: couchdb-password.txt