From 0ee76bd055dec0e6a3c55fdb4569ef5e8fc04a9b Mon Sep 17 00:00:00 2001 From: Olivier Guntenaar Date: Thu, 6 Nov 2025 12:18:07 +0000 Subject: [PATCH] vm: apps.json and https-dynamic override --- apps.json | 34 ++++++++++++++++++++++ overrides/compose.assets.volume.yaml | 12 ++++++++ overrides/compose.https-dynamic.yaml | 42 ++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 apps.json create mode 100644 overrides/compose.assets.volume.yaml create mode 100644 overrides/compose.https-dynamic.yaml diff --git a/apps.json b/apps.json new file mode 100644 index 00000000..6651a0c9 --- /dev/null +++ b/apps.json @@ -0,0 +1,34 @@ +[ + { + "url": "https://github.com/frappe/erpnext", + "branch": "version-15" + }, + { + "url": "https://github.com/Bamboi-tech/frappe_ecommerce_integrations", + "branch": "develop" + }, + { + "url": "https://github.com/Bamboi-tech/frappe_kuehne_nagel_sftp", + "branch": "develop" + }, + { + "url": "https://github.com/frappe/hrms", + "branch": "develop" + }, + { + "url": "https://github.com/frappe/drive", + "branch": "develop" + }, + { + "url": "https://github.com/frappe/payments", + "branch": "develop" + }, + { + "url": "https://github.com/frappe/crm", + "branch": "develop" + }, + { + "url": "https://github.com/frappe/insights", + "branch": "develop" + } +] diff --git a/overrides/compose.assets.volume.yaml b/overrides/compose.assets.volume.yaml new file mode 100644 index 00000000..c80f7f9d --- /dev/null +++ b/overrides/compose.assets.volume.yaml @@ -0,0 +1,12 @@ +services: + backend: + volumes: + - assets:/home/frappe/frappe-bench/sites/assets + + frontend: + volumes: + - assets:/home/frappe/frappe-bench/sites/assets:ro + +volumes: + assets: + name: frappe_docker_assets diff --git a/overrides/compose.https-dynamic.yaml b/overrides/compose.https-dynamic.yaml new file mode 100644 index 00000000..45723896 --- /dev/null +++ b/overrides/compose.https-dynamic.yaml @@ -0,0 +1,42 @@ +services: + frontend: + labels: + - traefik.enable=true + - traefik.http.services.frontend.loadbalancer.server.port=8080 + - traefik.http.routers.frontend-http.entrypoints=websecure + - traefik.http.routers.frontend-http.tls.certresolver=main-resolver + - traefik.http.routers.frontend-http.rule=Host(${SITES:?List of sites not set}) + + proxy: + image: traefik:v2.11 + restart: unless-stopped + command: + - --providers.docker=true + - --providers.docker.exposedbydefault=false + + # ADD file provider: + - --providers.file.directory=/dynamic + - --providers.file.watch=true + + - --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:?No Let's Encrypt email set} + - --certificatesResolvers.main-resolver.acme.storage=/letsencrypt/acme.json + ports: + - ${HTTP_PUBLISH_PORT:-80}:80 + - ${HTTPS_PUBLISH_PORT:-443}:443 + volumes: + - cert-data:/letsencrypt + - /var/run/docker.sock:/var/run/docker.sock:ro + # Mount a folder for dynamic rules: + - /opt/traefik/dynamic:/dynamic:ro + # Make "host.docker.internal" resolve to the host on Linux: + extra_hosts: + - "host.docker.internal:host-gateway" + +volumes: + cert-data: