From 3251b093a41078c7036adf6ed43e54aa9413a0ec Mon Sep 17 00:00:00 2001 From: Lev Vereshchagin Date: Mon, 13 Dec 2021 19:36:54 +0300 Subject: [PATCH] Update installation (overrides) --- installation/docker-compose-common.yml | 42 ----- installation/docker-compose-custom.yml | 123 ------------- installation/docker-compose-erpnext.yml | 120 ------------- installation/docker-compose-frappe.yml | 120 ------------- installation/docker-compose-networks.yml | 6 - installation/erpnext-publish.yml | 6 - .../frappe-postgresql/docker-compose.yml | 165 ------------------ installation/frappe-postgresql/env-local | 14 -- installation/frappe-postgresql/env-production | 14 -- installation/frappe-publish.yml | 6 - overrides/compose.erpnext.yml | 28 +++ overrides/compose.https.yml | 29 +++ overrides/compose.postgres.yml | 22 +++ 13 files changed, 79 insertions(+), 616 deletions(-) delete mode 100644 installation/docker-compose-common.yml delete mode 100644 installation/docker-compose-custom.yml delete mode 100644 installation/docker-compose-erpnext.yml delete mode 100644 installation/docker-compose-frappe.yml delete mode 100644 installation/docker-compose-networks.yml delete mode 100644 installation/erpnext-publish.yml delete mode 100644 installation/frappe-postgresql/docker-compose.yml delete mode 100644 installation/frappe-postgresql/env-local delete mode 100644 installation/frappe-postgresql/env-production delete mode 100644 installation/frappe-publish.yml create mode 100644 overrides/compose.erpnext.yml create mode 100644 overrides/compose.https.yml create mode 100644 overrides/compose.postgres.yml diff --git a/installation/docker-compose-common.yml b/installation/docker-compose-common.yml deleted file mode 100644 index 3786a32e..00000000 --- a/installation/docker-compose-common.yml +++ /dev/null @@ -1,42 +0,0 @@ -version: "3" - -services: - redis-cache: - image: redis:latest - restart: on-failure - volumes: - - redis-cache-vol:/data - - redis-queue: - image: redis:latest - restart: on-failure - volumes: - - redis-queue-vol:/data - - redis-socketio: - image: redis:latest - restart: on-failure - volumes: - - redis-socketio-vol:/data - - mariadb: - image: mariadb:10.6 - restart: on-failure - command: - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_unicode_ci - - --skip-character-set-client-handshake - - --skip-innodb-read-only-compressed # Temporary fix for MariaDB 10.6 - environment: - - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - # Sometimes db initialization takes longer than 10 seconds and site-creator goes away. - # Frappe doesn't use CONVERT_TZ() function that requires time zone info, so we can just skip it. - - MYSQL_INITDB_SKIP_TZINFO=1 - volumes: - - mariadb-vol:/var/lib/mysql - -volumes: - mariadb-vol: - redis-cache-vol: - redis-queue-vol: - redis-socketio-vol: diff --git a/installation/docker-compose-custom.yml b/installation/docker-compose-custom.yml deleted file mode 100644 index 9dacfd91..00000000 --- a/installation/docker-compose-custom.yml +++ /dev/null @@ -1,123 +0,0 @@ -version: '3' - -services: - [app]-assets: - image: [app]-assets - build: - context: ../build/[app]-nginx - restart: on-failure - environment: - - FRAPPE_PY=[app]-python - - FRAPPE_PY_PORT=8000 - - FRAPPE_SOCKETIO=frappe-socketio - - SOCKETIO_PORT=9000 - - LETSENCRYPT_HOST=${SITES} - - VIRTUAL_HOST=${SITES} - - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} - depends_on: - - [app]-python - - frappe-socketio - - frappe-worker-default - - frappe-worker-long - - frappe-worker-short - links: - - [app]-python - - frappe-socketio - - frappe-worker-default - - frappe-worker-long - - frappe-worker-short - volumes: - - sites-vol:/var/www/html/sites:rw - - assets-vol:/assets:rw - - [app]-python: - image: [app]-worker - build: - context: ../build/[app]-worker - restart: on-failure - environment: - - MARIADB_HOST=${MARIADB_HOST} - - REDIS_CACHE=redis-cache:6379 - - REDIS_QUEUE=redis-queue:6379 - - REDIS_SOCKETIO=redis-socketio:6379 - - SOCKETIO_PORT=9000 - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - assets-vol:/home/frappe/frappe-bench/sites/assets:rw - - frappe-socketio: - image: frappe/frappe-socketio:${FRAPPE_VERSION} - restart: on-failure - depends_on: - - redis-socketio - links: - - redis-socketio - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-worker-default: - image: [app]-worker - restart: on-failure - command: worker - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-worker-short: - image: [app]-worker - restart: on-failure - command: worker - environment: - - WORKER_TYPE=short - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-worker-long: - image: [app]-worker - restart: on-failure - command: worker - environment: - - WORKER_TYPE=long - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-schedule: - image: [app]-worker - restart: on-failure - command: schedule - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - -volumes: - assets-vol: - sites-vol: - logs-vol: diff --git a/installation/docker-compose-erpnext.yml b/installation/docker-compose-erpnext.yml deleted file mode 100644 index 6593e18c..00000000 --- a/installation/docker-compose-erpnext.yml +++ /dev/null @@ -1,120 +0,0 @@ -version: "3" - -services: - erpnext-nginx: - image: frappe/erpnext-nginx:${ERPNEXT_VERSION} - restart: on-failure - environment: - - FRAPPE_PY=erpnext-python - - FRAPPE_PY_PORT=8000 - - FRAPPE_SOCKETIO=frappe-socketio - - SOCKETIO_PORT=9000 - - LETSENCRYPT_HOST=${SITES} - - VIRTUAL_HOST=${SITES} - - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} - depends_on: - - erpnext-python - - frappe-socketio - - frappe-worker-default - - frappe-worker-long - - frappe-worker-short - links: - - erpnext-python - - frappe-socketio - - frappe-worker-default - - frappe-worker-long - - frappe-worker-short - volumes: - - sites-vol:/var/www/html/sites:rw - - assets-vol:/assets:rw - - erpnext-python: - image: frappe/erpnext-worker:${ERPNEXT_VERSION} - restart: on-failure - environment: - - MARIADB_HOST=${MARIADB_HOST} - - REDIS_CACHE=redis-cache:6379 - - REDIS_QUEUE=redis-queue:6379 - - REDIS_SOCKETIO=redis-socketio:6379 - - SOCKETIO_PORT=9000 - - AUTO_MIGRATE=1 - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - assets-vol:/home/frappe/frappe-bench/sites/assets:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-socketio: - image: frappe/frappe-socketio:${FRAPPE_VERSION} - restart: on-failure - depends_on: - - redis-socketio - links: - - redis-socketio - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-worker-default: - image: frappe/erpnext-worker:${ERPNEXT_VERSION} - restart: on-failure - command: worker - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-worker-short: - image: frappe/erpnext-worker:${ERPNEXT_VERSION} - restart: on-failure - command: worker - environment: - - WORKER_TYPE=short - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-worker-long: - image: frappe/erpnext-worker:${ERPNEXT_VERSION} - restart: on-failure - command: worker - environment: - - WORKER_TYPE=long - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-schedule: - image: frappe/erpnext-worker:${ERPNEXT_VERSION} - restart: on-failure - command: schedule - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - -volumes: - assets-vol: - sites-vol: - logs-vol: diff --git a/installation/docker-compose-frappe.yml b/installation/docker-compose-frappe.yml deleted file mode 100644 index 0ffacbeb..00000000 --- a/installation/docker-compose-frappe.yml +++ /dev/null @@ -1,120 +0,0 @@ -version: "3" - -services: - frappe-nginx: - image: frappe/frappe-nginx:${FRAPPE_VERSION} - restart: on-failure - environment: - - FRAPPE_PY=frappe-python - - FRAPPE_PY_PORT=8000 - - FRAPPE_SOCKETIO=frappe-socketio - - SOCKETIO_PORT=9000 - - LETSENCRYPT_HOST=${SITES} - - VIRTUAL_HOST=${SITES} - - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} - depends_on: - - frappe-python - - frappe-socketio - - frappe-worker-default - - frappe-worker-long - - frappe-worker-short - links: - - frappe-python - - frappe-socketio - - frappe-worker-default - - frappe-worker-long - - frappe-worker-short - volumes: - - sites-vol:/var/www/html/sites:rw - - assets-vol:/assets:rw - - frappe-python: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - environment: - - MARIADB_HOST=${MARIADB_HOST} - - REDIS_CACHE=redis-cache:6379 - - REDIS_QUEUE=redis-queue:6379 - - REDIS_SOCKETIO=redis-socketio:6379 - - SOCKETIO_PORT=9000 - - AUTO_MIGRATE=1 - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - assets-vol:/home/frappe/frappe-bench/sites/assets:rw - - frappe-socketio: - image: frappe/frappe-socketio:${FRAPPE_VERSION} - restart: on-failure - depends_on: - - redis-socketio - links: - - redis-socketio - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-worker-default: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - command: worker - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-worker-short: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - command: worker - environment: - - WORKER_TYPE=short - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-worker-long: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - command: worker - environment: - - WORKER_TYPE=long - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - - frappe-schedule: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - command: schedule - depends_on: - - redis-queue - - redis-cache - links: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - logs-vol:/home/frappe/frappe-bench/logs:rw - -volumes: - assets-vol: - sites-vol: - logs-vol: diff --git a/installation/docker-compose-networks.yml b/installation/docker-compose-networks.yml deleted file mode 100644 index 4daa6684..00000000 --- a/installation/docker-compose-networks.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: "3" - -networks: - default: - external: - name: webproxy diff --git a/installation/erpnext-publish.yml b/installation/erpnext-publish.yml deleted file mode 100644 index 130c52b6..00000000 --- a/installation/erpnext-publish.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: "3" - -services: - erpnext-nginx: - ports: - - "80:8080" diff --git a/installation/frappe-postgresql/docker-compose.yml b/installation/frappe-postgresql/docker-compose.yml deleted file mode 100644 index a3fd1665..00000000 --- a/installation/frappe-postgresql/docker-compose.yml +++ /dev/null @@ -1,165 +0,0 @@ -version: "3" - -services: - traefik: - image: "traefik:v2.2" - command: - - "--providers.docker=true" - - "--providers.docker.exposedbydefault=false" - - "--entrypoints.web.address=:80" - - "--entrypoints.websecure.address=:443" - - "--certificatesresolvers.myresolver.acme.httpchallenge=true" - - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web" - - "--certificatesresolvers.myresolver.acme.email=${LETSENCRYPT_EMAIL}" - - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" - labels: - # enable traefik - - "traefik.enable=true" - # global redirect to https for production only - - "${HTTPS_REDIRECT_RULE_LABEL}" - - "${HTTPS_REDIRECT_ENTRYPOINT_LABEL}" - - "${HTTPS_REDIRECT_MIDDLEWARE_LABEL}" - # middleware redirect for production only - - "${HTTPS_USE_REDIRECT_MIDDLEWARE_LABEL}" - ports: - - "80:80" - - "443:443" - volumes: - - cert-vol:/letsencrypt - - /var/run/docker.sock:/var/run/docker.sock:ro - - frappe-nginx: - image: frappe/frappe-nginx:${FRAPPE_VERSION} - restart: on-failure - environment: - - FRAPPE_PY=frappe-python - - FRAPPE_PY_PORT=8000 - - FRAPPE_SOCKETIO=frappe-socketio - - SOCKETIO_PORT=9000 - labels: - - "traefik.enable=true" - - "traefik.http.routers.frappe-nginx.rule=Host(${SITES})" - - "${ENTRYPOINT_LABEL}" - - "${CERT_RESOLVER_LABEL}" - - "traefik.http.services.frappe-nginx.loadbalancer.server.port=8080" - volumes: - - sites-vol:/var/www/html/sites:rw - - assets-vol:/assets:rw - - frappe-python: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - environment: - - POSTGRES_HOST=${POSTGRES_HOST} - - DB_PORT=5432 - - REDIS_CACHE=redis-cache:6379 - - REDIS_QUEUE=redis-queue:6379 - - REDIS_SOCKETIO=redis-socketio:6379 - - SOCKETIO_PORT=9000 - - AUTO_MIGRATE=1 - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - assets-vol:/home/frappe/frappe-bench/sites/assets:rw - - frappe-socketio: - image: frappe/frappe-socketio:${FRAPPE_VERSION} - restart: on-failure - depends_on: - - redis-socketio - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - frappe-worker-default: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - command: worker - depends_on: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - frappe-worker-short: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - command: worker - environment: - - WORKER_TYPE=short - depends_on: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - frappe-worker-long: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - command: worker - environment: - - WORKER_TYPE=long - depends_on: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - frappe-schedule: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: on-failure - command: schedule - depends_on: - - redis-queue - - redis-cache - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - - redis-cache: - image: redis:latest - restart: on-failure - volumes: - - redis-cache-vol:/data - - redis-queue: - image: redis:latest - restart: on-failure - volumes: - - redis-queue-vol:/data - - redis-socketio: - image: redis:latest - restart: on-failure - volumes: - - redis-socketio-vol:/data - - postgresql: - image: postgres:11.8 - restart: on-failure - environment: - - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - volumes: - - postgresql-vol:/var/lib/postgresql/data - - site-creator: - image: frappe/frappe-worker:${FRAPPE_VERSION} - restart: "no" - command: new - depends_on: - - frappe-python - environment: - - POSTGRES_HOST=${POSTGRES_HOST} - - SITE_NAME=${SITE_NAME} - - DB_ROOT_USER=${DB_ROOT_USER} - - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - - ADMIN_PASSWORD=${ADMIN_PASSWORD} - - INSTALL_APPS=${INSTALL_APPS} - volumes: - - sites-vol:/home/frappe/frappe-bench/sites:rw - -volumes: - postgresql-vol: - redis-cache-vol: - redis-queue-vol: - redis-socketio-vol: - assets-vol: - sites-vol: - cert-vol: diff --git a/installation/frappe-postgresql/env-local b/installation/frappe-postgresql/env-local deleted file mode 100644 index 14a0d12f..00000000 --- a/installation/frappe-postgresql/env-local +++ /dev/null @@ -1,14 +0,0 @@ -LETSENCRYPT_EMAIL=email@example.com -FRAPPE_VERSION=edge -POSTGRES_HOST=postgresql -POSTGRES_PASSWORD=admin -SITE_NAME=mysite.localhost -SITES=`mysite.localhost` -DB_ROOT_USER=postgres -ADMIN_PASSWORD=admin -ENTRYPOINT_LABEL=traefik.http.routers.erpnext-nginx.entrypoints=web -CERT_RESOLVER_LABEL=erpnext.local.no-cert-resolver -HTTPS_REDIRECT_RULE_LABEL=erpnext.local.no-redirect-rule -HTTPS_REDIRECT_ENTRYPOINT_LABEL=erpnext.local.no-entrypoint -HTTPS_REDIRECT_MIDDLEWARE_LABEL=erpnext.local.no-middleware -HTTPS_USE_REDIRECT_MIDDLEWARE_LABEL=erpnext.local-no-redirect-middleware diff --git a/installation/frappe-postgresql/env-production b/installation/frappe-postgresql/env-production deleted file mode 100644 index 689f0339..00000000 --- a/installation/frappe-postgresql/env-production +++ /dev/null @@ -1,14 +0,0 @@ -LETSENCRYPT_EMAIL=email@example.com -FRAPPE_VERSION=edge -POSTGRES_HOST=postgresql -POSTGRES_PASSWORD=admin -SITE_NAME=erp.example.com -SITES=`erp.example.com` -DB_ROOT_USER=postgres -ADMIN_PASSWORD=admin -ENTRYPOINT_LABEL=traefik.http.routers.erpnext-nginx.entrypoints=websecure -CERT_RESOLVER_LABEL=traefik.http.routers.erpnext-nginx.tls.certresolver=myresolver -HTTPS_REDIRECT_RULE_LABEL=traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`) -HTTPS_REDIRECT_ENTRYPOINT_LABEL=traefik.http.routers.http-catchall.entrypoints=web -HTTPS_REDIRECT_MIDDLEWARE_LABEL=traefik.http.routers.http-catchall.middlewares=redirect-to-https -HTTPS_USE_REDIRECT_MIDDLEWARE_LABEL=traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https diff --git a/installation/frappe-publish.yml b/installation/frappe-publish.yml deleted file mode 100644 index f573cb79..00000000 --- a/installation/frappe-publish.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: "3" - -services: - frappe-nginx: - ports: - - "80:8080" diff --git a/overrides/compose.erpnext.yml b/overrides/compose.erpnext.yml new file mode 100644 index 00000000..97aa7ac4 --- /dev/null +++ b/overrides/compose.erpnext.yml @@ -0,0 +1,28 @@ +version: "3.9" + +services: + backend: + image: frappe/erpnext-backend:${ERPNEXT_VERSION} + volumes: + - assets:/home/frappe/frappe-bench/sites/assets + + frontend: + image: frappe/erpnext-frontend:${ERPNEXT_VERSION} + volumes: + - assets:/usr/share/nginx/html/assets + + queue-short: + image: frappe/erpnext-backend:${ERPNEXT_VERSION} + + queue-default: + image: frappe/erpnext-backend:${ERPNEXT_VERSION} + + queue-long: + image: frappe/erpnext-backend:${ERPNEXT_VERSION} + + scheduler: + image: frappe/erpnext-backend:${ERPNEXT_VERSION} + +# ERPNext requires local assets access (Frappe does not) +volumes: + assets: diff --git a/overrides/compose.https.yml b/overrides/compose.https.yml new file mode 100644 index 00000000..b3217569 --- /dev/null +++ b/overrides/compose.https.yml @@ -0,0 +1,29 @@ +version: "3.9" + +services: + frontend: + labels: + - traefik.enable=true + - traefik.http.services.frontend.loadbalancer.server.port=80 + - traefik.http.routers.frontend-http.entrypoints=websecure + - traefik.http.routers.frontend-http.tls.certresolver=main-resolver + + proxy: + command: + - --providers.docker=true + - --providers.docker.exposedbydefault=false + - --entrypoints.web.address=:80 + - --entrypoints.web.http.redirections.entrypoint.to=websecure + - --entrypoints.web.http.redirections.entrypoint.scheme=https + - --entrypoints.websecure.address=:443 + - --certificatesResolvers.main-resolver.acme.httpChallenge=true + - --certificatesResolvers.main-resolver.acme.httpChallenge.entrypoint=web + - --certificatesResolvers.main-resolver.acme.email=${LETSENCRYPT_EMAIL} + - --certificatesResolvers.main-resolver.acme.storage=/letsencrypt/acme.json + ports: + - 443:443 + volumes: + - cert:/letsencrypt + +volumes: + cert: diff --git a/overrides/compose.postgres.yml b/overrides/compose.postgres.yml new file mode 100644 index 00000000..27dbbcb1 --- /dev/null +++ b/overrides/compose.postgres.yml @@ -0,0 +1,22 @@ +version: "3.9" + +services: + backend: + image: frappe/backend:${FRAPPE_VERSION} + environment: + DB_HOST: db + DB_PORT: 5432 + depends_on: + - db + + db: + image: postgres:14.1 + healthcheck: + test: pg_isready + interval: 1s + retries: 15 + command: [] + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + volumes: + - db:/var/lib/postgresql