From 716c1bfd18bd4e927d84c66cba57ae98f2e6c5ec Mon Sep 17 00:00:00 2001 From: akanealw Date: Mon, 17 Mar 2025 18:30:33 -0500 Subject: [PATCH] new config for testing --- caddy/Dockerfile | 22 --- caddy/compose.yml | 163 ------------------ reverseproxy/Dockerfile | 8 + .../authelia}/config/configuration.yml | 0 .../authelia}/config/secrets/JWT_SECRET | 0 .../authelia}/config/secrets/REDIS_PASSWORD | 0 .../authelia}/config/secrets/SESSION_SECRET | 0 .../authelia}/config/secrets/SMTP_PASSWORD | 0 .../config/secrets/STORAGE_ENCRYPTION_KEY | 0 .../authelia}/config/secrets/STORAGE_PASSWORD | 0 .../authelia}/config/users_database.yml | 0 {caddy => reverseproxy/caddy}/Caddyfile | 0 reverseproxy/compose.yml | 64 +++++++ 13 files changed, 72 insertions(+), 185 deletions(-) delete mode 100644 caddy/Dockerfile delete mode 100644 caddy/compose.yml create mode 100644 reverseproxy/Dockerfile rename {caddy => reverseproxy/authelia}/config/configuration.yml (100%) rename {caddy => reverseproxy/authelia}/config/secrets/JWT_SECRET (100%) rename {caddy => reverseproxy/authelia}/config/secrets/REDIS_PASSWORD (100%) rename {caddy => reverseproxy/authelia}/config/secrets/SESSION_SECRET (100%) rename {caddy => reverseproxy/authelia}/config/secrets/SMTP_PASSWORD (100%) rename {caddy => reverseproxy/authelia}/config/secrets/STORAGE_ENCRYPTION_KEY (100%) rename {caddy => reverseproxy/authelia}/config/secrets/STORAGE_PASSWORD (100%) rename {caddy => reverseproxy/authelia}/config/users_database.yml (100%) rename {caddy => reverseproxy/caddy}/Caddyfile (100%) create mode 100644 reverseproxy/compose.yml diff --git a/caddy/Dockerfile b/caddy/Dockerfile deleted file mode 100644 index b577fed..0000000 --- a/caddy/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM caddy:builder AS builder - -RUN caddy-builder \ - github.com/caddy-dns/cloudflare - -FROM caddy:latest - -COPY --from=builder /usr/bin/caddy /usr/bin/caddy - -# ARG CADDY_VERSION=2 -# FROM caddy:${CADDY_VERSION}-builder AS builder - -# no need the "v2.9.0-beta.2" part after new version release -# RUN xcaddy build \ - # --with github.com/lucaslorentz/caddy-docker-proxy/v2 \ - # --with github.com/caddy-dns/cloudflare - -# FROM caddy:${CADDY_VERSION}-alpine - -# COPY --from=builder /usr/bin/caddy /usr/bin/caddy - -# CMD ["caddy", "docker-proxy"] diff --git a/caddy/compose.yml b/caddy/compose.yml deleted file mode 100644 index 8a5b9b6..0000000 --- a/caddy/compose.yml +++ /dev/null @@ -1,163 +0,0 @@ -networks: - authelia: - name: authelia - reverse-proxy: - name: reverse-proxy - external: true - # caddy: - # name: caddy - # external: true - # caddy_controller: - # name: caddy_controller - # external: true - -services: - authelia: - container_name: authelia - image: authelia/authelia:latest - restart: unless-stopped - depends_on: - - postgres - - redis - volumes: - - ./config:/config - networks: - # - caddy - - authelia - - reverse-proxy - expose: - - 9091 - environment: - AUTHELIA_JWT_SECRET_FILE: /config/secrets/JWT_SECRET - AUTHELIA_SESSION_SECRET_FILE: /config/secrets/SESSION_SECRET - AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: /config/secrets/SMTP_PASSWORD - AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /config/secrets/STORAGE_ENCRYPTION_KEY - AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: /config/secrets/STORAGE_PASSWORD - AUTHELIA_SESSION_REDIS_PASSWORD_FILE: /config/secrets/REDIS_PASSWORD - labels: - caddy_9091: auth.akanealw.com - caddy_9091.reverse_proxy: "{{upstreams 9091}}" - - postgres: - container_name: postgres - image: postgres:15 - restart: unless-stopped - volumes: - - ./postgres:/var/lib/postgresql/data - networks: - - authelia - environment: - POSTGRES_USER: "authelia" - POSTGRES_PASSWORD: "8RXS4KPhejCw7OaqrtOhdgaUN4k9rPOcK4sUDBvIQ6q8BDNFWo4l47RXtY7Itkic" - - redis: - container_name: redis - image: redis:7 - networks: - - authelia - restart: unless-stopped - command: "redis-server --save 60 1 --loglevel warning --requirepass t7SxQuf48cUu1XLBNKLbWGBJzEUSMnaWMd9a1QRqoXyhajcPQObfX0so9M2Mklxn" - volumes: - - ./redis:/data - - caddy: - container_name: caddy - build: . - restart: always - # environment: - # - CADDY_INGRESS_NETWORKS=caddy - # - CADDY_DOCKER_MODE=controller - # - CADDY_CONTROLLER_NETWORK=10.0.2.0/24 - volumes: - # - /var/run/docker.sock:/var/run/docker.sock:ro - # - ./caddydata:/data/caddy - # - ./caddyconfig:/config/caddy - - ./data:/data - - ./Caddyfile:/etc/caddy/Caddyfile - networks: - - reverse-proxy - # - caddy - # - caddy_controller - ports: - - 80:80 - - 443:443 - # extra_hosts: - # - host.docker.internal:host-gateway - - # caddy-config: - # container_name: caddy-config - # image: traefik/whoami:latest - # networks: - # - caddy - # restart: always - # labels: - # ############################################# - # # Settings and snippets to get things working - # # You shouldn't need to modify this normally - # # Custom settings and definitions are below - # ############################################# - - # #### Global Settings #### - # caddy_0.email: akanealw@gmail.com - # caddy_0.auto_https: prefer_wildcard - - # #### Snippets #### - # # Get wildcard certificate - # caddy_1: (wildcard) - # caddy_1.tls.dns: "cloudflare cAPH9-QQPzljKAEMurHpRbJ2sS5DqPO1iWIuW8fq" - # caddy_1.tls.resolvers: 1.1.1.1 1.0.0.1 - # caddy_1.handle.abort: "" - - # # Secure a site with Authelia - # caddy_2: (auth) - # caddy_2.forward_auth: "authelia:9091" - # caddy_2.forward_auth.uri: /api/verify?rd=https://auth.akanealw.com - # caddy_2.forward_auth.copy_headers : Remote-User Remote-Groups Remote-Name Remote-Email - - # # Skip TLS verify for backend with self-signed HTTPS - # caddy_3: (https) - # caddy_3.transport: http - # caddy_3.transport.tls: "" - # caddy_3.transport.tls_insecure_skip_verify: "" - - # ########################################### - # # Custom settings. Modify things below : - # # Make sure they have unique label numbers - # ########################################### - - # # Custom global settings, add/edit as needed - # # caddy_0.log: default - # # caddy_0.log.format: console - - # # Uncomment this during testing to avoid hitting rate limit. - # # It will try to obtain SSL from Let's Encrypt's staging endpoint. - # acme_ca: "https://acme-staging-v02.api.letsencrypt.org/directory" # Staging - - # caddy_3005: akanealw.com - # caddy_3005.reverse_proxy: 192.168.1.30:3005 - # caddy_3005.import: auth - - # ## Setup wildcard sites - # caddy_10: "*.akanealw.com" - # caddy_10.import: wildcard - - # ## Wildcard domains - # caddy_20: whoami.akanealw.com - # caddy_20.reverse_proxy: "{{upstreams 80}}" - # caddy_20.import: auth - - # caddy_8089: bitwarden.akanealw.com - # caddy_8089.reverse_proxy: 192.168.1.4:8089 - - # caddy_3000: gitea.akanealw.com - # caddy_3000.reverse_proxy: 192.168.1.50:3000 - - # caddy_3001: gitea-docker.akanealw.com - # caddy_3001.reverse_proxy: 192.168.1.4:3001 - - # caddy_3232: linkwarden.akanealw.com - # caddy_3232.reverse_proxy: 192.168.1.4:3232 - - # caddy_30012: codeserver.akanealw.com - # caddy_30012.reverse_proxy: 192.168.1.50:3001 - # caddy_30012.import: auth diff --git a/reverseproxy/Dockerfile b/reverseproxy/Dockerfile new file mode 100644 index 0000000..2d40d76 --- /dev/null +++ b/reverseproxy/Dockerfile @@ -0,0 +1,8 @@ +FROM caddy:builder AS builder + +RUN caddy-builder \ + github.com/caddy-dns/cloudflare + +FROM caddy:latest + +COPY --from=builder /usr/bin/caddy /usr/bin/caddy diff --git a/caddy/config/configuration.yml b/reverseproxy/authelia/config/configuration.yml similarity index 100% rename from caddy/config/configuration.yml rename to reverseproxy/authelia/config/configuration.yml diff --git a/caddy/config/secrets/JWT_SECRET b/reverseproxy/authelia/config/secrets/JWT_SECRET similarity index 100% rename from caddy/config/secrets/JWT_SECRET rename to reverseproxy/authelia/config/secrets/JWT_SECRET diff --git a/caddy/config/secrets/REDIS_PASSWORD b/reverseproxy/authelia/config/secrets/REDIS_PASSWORD similarity index 100% rename from caddy/config/secrets/REDIS_PASSWORD rename to reverseproxy/authelia/config/secrets/REDIS_PASSWORD diff --git a/caddy/config/secrets/SESSION_SECRET b/reverseproxy/authelia/config/secrets/SESSION_SECRET similarity index 100% rename from caddy/config/secrets/SESSION_SECRET rename to reverseproxy/authelia/config/secrets/SESSION_SECRET diff --git a/caddy/config/secrets/SMTP_PASSWORD b/reverseproxy/authelia/config/secrets/SMTP_PASSWORD similarity index 100% rename from caddy/config/secrets/SMTP_PASSWORD rename to reverseproxy/authelia/config/secrets/SMTP_PASSWORD diff --git a/caddy/config/secrets/STORAGE_ENCRYPTION_KEY b/reverseproxy/authelia/config/secrets/STORAGE_ENCRYPTION_KEY similarity index 100% rename from caddy/config/secrets/STORAGE_ENCRYPTION_KEY rename to reverseproxy/authelia/config/secrets/STORAGE_ENCRYPTION_KEY diff --git a/caddy/config/secrets/STORAGE_PASSWORD b/reverseproxy/authelia/config/secrets/STORAGE_PASSWORD similarity index 100% rename from caddy/config/secrets/STORAGE_PASSWORD rename to reverseproxy/authelia/config/secrets/STORAGE_PASSWORD diff --git a/caddy/config/users_database.yml b/reverseproxy/authelia/config/users_database.yml similarity index 100% rename from caddy/config/users_database.yml rename to reverseproxy/authelia/config/users_database.yml diff --git a/caddy/Caddyfile b/reverseproxy/caddy/Caddyfile similarity index 100% rename from caddy/Caddyfile rename to reverseproxy/caddy/Caddyfile diff --git a/reverseproxy/compose.yml b/reverseproxy/compose.yml new file mode 100644 index 0000000..0fa1621 --- /dev/null +++ b/reverseproxy/compose.yml @@ -0,0 +1,64 @@ +networks: + authelia: + name: authelia + reverseproxy: + name: reverseproxy + external: true + +services: + authelia: + container_name: authelia + image: authelia/authelia:latest + restart: unless-stopped + depends_on: + - postgres + - redis + volumes: + - ./authelia/config:/config + networks: + - authelia + - reverseproxy + environment: + AUTHELIA_JWT_SECRET_FILE: /authelia/config/secrets/JWT_SECRET + AUTHELIA_SESSION_SECRET_FILE: /authelia/config/secrets/SESSION_SECRET + AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: /authelia/config/secrets/SMTP_PASSWORD + AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /authelia/config/secrets/STORAGE_ENCRYPTION_KEY + AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: /authelia/config/secrets/STORAGE_PASSWORD + AUTHELIA_SESSION_REDIS_PASSWORD_FILE: /authelia/config/secrets/REDIS_PASSWORD + + caddy: + container_name: caddy + build: . + # image: caddy:latest + #restart: unless-stopped + ports: + - "80:80" + - "443:443" + networks: + - reverseproxy + volumes: + - ./caddy/data:/data + - ./caddy/Caddyfile:/etc/caddy/Caddyfile + + postgres: + container_name: postgres + image: postgres:15 + restart: unless-stopped + volumes: + - ./postgres:/var/lib/postgresql/data + networks: + - authelia + environment: + POSTGRES_USER: "authelia" + POSTGRES_PASSWORD: "8RXS4KPhejCw7OaqrtOhdgaUN4k9rPOcK4sUDBvIQ6q8BDNFWo4l47RXtY7Itkic" + + redis: + container_name: redis + image: redis:7 + networks: + - authelia + restart: unless-stopped + command: "redis-server --save 60 1 --loglevel warning --requirepass t7SxQuf48cUu1XLBNKLbWGBJzEUSMnaWMd9a1QRqoXyhajcPQObfX0so9M2Mklxn" + volumes: + - ./redis:/data +