From 8c8f6b1b109efeb99e5ab907a11acafce9d10906 Mon Sep 17 00:00:00 2001 From: Haletran Date: Thu, 5 Mar 2026 16:14:26 +0100 Subject: [PATCH] refactor: caddy init script --- core/caddy/compose.yml | 2 ++ core/caddy/config/Caddyfile | 2 +- core/keycloak/compose.yml | 5 ++++ core/tools/caddy-init.sh | 47 ++++++++++++++++++++++--------------- 4 files changed, 36 insertions(+), 20 deletions(-) diff --git a/core/caddy/compose.yml b/core/caddy/compose.yml index 4fa337c..f9610fb 100644 --- a/core/caddy/compose.yml +++ b/core/caddy/compose.yml @@ -27,7 +27,9 @@ volumes: name: caddy-caddyfiles external: true caddy-data: + name: caddy-data caddy-config: + name: caddy-config caddy-diagrams: name: caddy-diagrams external: true diff --git a/core/caddy/config/Caddyfile b/core/caddy/config/Caddyfile index 2435e96..b902fc2 100644 --- a/core/caddy/config/Caddyfile +++ b/core/caddy/config/Caddyfile @@ -1,5 +1,5 @@ { - local_certs + #local_certs default_bind 0.0.0.0 } diff --git a/core/keycloak/compose.yml b/core/keycloak/compose.yml index af34ee5..5b4c4e6 100644 --- a/core/keycloak/compose.yml +++ b/core/keycloak/compose.yml @@ -1,3 +1,6 @@ +include: + - ../postgresql/compose.yml + services: keycloak: image: quay.io/keycloak/keycloak @@ -8,6 +11,8 @@ services: - proxy env_file: - runtime.env + depends_on: + - postgres environment: KC_DB: postgres KC_DB_URL: jdbc:postgresql://postgres:3212/keycloak diff --git a/core/tools/caddy-init.sh b/core/tools/caddy-init.sh index 15bf018..99552a1 100644 --- a/core/tools/caddy-init.sh +++ b/core/tools/caddy-init.sh @@ -2,8 +2,18 @@ DRAWIO_VERSION="29.5.2" -docker volume create caddy-caddyfiles -docker volume create caddy-diagrams +create_volume_if_missing() { + local vol="$1" + if docker volume inspect "$vol" > /dev/null 2>&1; then + echo "Volume '$vol' already exists, skipping." + else + echo "Creating volume '$vol'..." + docker volume create "$vol" + fi +} + +create_volume_if_missing caddy-caddyfiles +create_volume_if_missing caddy-diagrams docker run --rm \ -v /home/bapasqui/projects/ft_chatons/core/caddy/config:/src:ro \ @@ -11,20 +21,19 @@ docker run --rm \ alpine cp -r /src/. /etc/caddy/ -mkdir -p /tmp/drawio-extract -wget -v \ - "https://github.com/jgraph/drawio/releases/download/v${DRAWIO_VERSION}/draw.war" \ - -O /tmp/drawio.war -unzip -q /tmp/drawio.war -d /tmp/drawio-extract -rm /tmp/drawio.war - -docker run --rm \ - -v /tmp/drawio-extract:/src:ro \ - -v caddy-diagrams:/srv/diagrams \ - alpine cp -r /src/. /srv/diagrams/ - -docker run --rm \ - -v caddy-diagrams:/srv/diagrams \ - alpine ls /srv/diagrams - -rm -rf /tmp/drawio-extract \ No newline at end of file +if docker run --rm -v caddy-diagrams:/srv/diagrams alpine ls /srv/diagrams/index.html > /dev/null 2>&1; then + echo "draw.io already deployed in caddy-diagrams, skipping download." +else + echo "Deploying draw.io ${DRAWIO_VERSION}..." + mkdir -p /tmp/drawio-extract + wget -v \ + "https://github.com/jgraph/drawio/releases/download/v${DRAWIO_VERSION}/draw.war" \ + -O /tmp/drawio.war + unzip -q /tmp/drawio.war -d /tmp/drawio-extract + rm /tmp/drawio.war + docker run --rm \ + -v /tmp/drawio-extract:/src:ro \ + -v caddy-diagrams:/srv/diagrams \ + alpine cp -r /src/. /srv/diagrams/ + rm -rf /tmp/drawio-extract +fi \ No newline at end of file