This commit is contained in:
Mike McFetridge
2026-07-20 09:23:17 -04:00
parent c1315882da
commit 72272e4006
3179 changed files with 562960 additions and 14 deletions
+100
View File
@@ -0,0 +1,100 @@
---
services:
<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>:
image: ghcr.io/getarcaneapp/manager:v2.1.0
restart: << restart_policy >>
<%- if container_name is string and container_name and (container_name | lower) not in ['true', 'false'] %>
container_name: << container_name >>
<%- endif %>
environment:
APP_URL: "<< app_url >>"
<%- if puid %>
PUID: "<< puid >>"
<%- endif %>
<%- if pgid %>
PGID: "<< pgid >>"
<%- endif %>
ENCRYPTION_KEY: "${ARCANE_ENCRYPTION_KEY}"
JWT_SECRET: "${ARCANE_JWT_SECRET}"
TZ: "<< container_timezone >>"
<%- if analytics_enabled %>
ANALYTICS_DISABLED: "false"
<%- endif %>
<%- if oidc_enabled %>
OIDC_ENABLED: "true"
OIDC_CLIENT_ID: "<< oidc_client_id >>"
OIDC_CLIENT_SECRET: "${ARCANE_OIDC_CLIENT_SECRET}"
OIDC_ISSUER_URL: "<< oidc_issuer_url >>"
<%- if oidc_provider_name %>
OIDC_PROVIDER_NAME: "<< oidc_provider_name >>"
<%- endif %>
<%- if oidc_scopes %>
OIDC_SCOPES: "<< oidc_scopes >>"
<%- endif %>
<%- if oidc_groups_claim %>
OIDC_GROUPS_CLAIM: "<< oidc_groups_claim >>"
<%- endif %>
<%- if oidc_role_mappings %>
OIDC_ROLE_MAPPINGS: '<< oidc_role_mappings >>'
<%- endif %>
<%- endif %>
volumes:
- << docker_socket_path >>:/var/run/docker.sock
<%- if volume_mode == 'mount' and volume_mount_path %>
- << volume_mount_path >>:/app/data
<%- else %>
- << service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-data:/app/data
<%- endif %>
<%- if project_mount_path %>
- << project_mount_path >>:/app/data/projects
<%- endif %>
<%- if builds_mount_path %>
- << builds_mount_path >>:/builds
<%- endif %>
<%- if backups_mount_path %>
- << backups_mount_path >>:/backups
<%- endif %>
<%- if traefik_enabled %>
networks:
- << traefik_network >>
<%- endif %>
<%- if not traefik_enabled %>
ports:
- "<< ports_http >>:3552"
<%- endif %>
<%- if traefik_enabled %>
labels:
- traefik.enable=true
- traefik.docker.network=<< traefik_network >>
- traefik.http.services.<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-web.loadBalancer.server.port=3552
- traefik.http.routers.<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-http.service=<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-web
- traefik.http.routers.<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-http.rule=Host(`<< traefik_host >>.<< traefik_domain >>`)
- traefik.http.routers.<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-http.entrypoints=<< traefik_entrypoint >>
<%- if traefik_tls_enabled %>
- traefik.http.routers.<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-https.service=<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-web
- traefik.http.routers.<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-https.rule=Host(`<< traefik_host >>.<< traefik_domain >>`)
- traefik.http.routers.<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-https.entrypoints=<< traefik_tls_entrypoint >>
- traefik.http.routers.<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-https.tls=true
- traefik.http.routers.<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-https.tls.certresolver=<< traefik_tls_certresolver >>
<%- endif %>
<%- endif %>
<%- if volume_mode == 'local' or (volume_mode == 'mount' and not volume_mount_path) %>
volumes:
<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-data:
driver: local
<%- elif volume_mode == 'nfs' %>
volumes:
<< service_name if service_name is string and service_name and (service_name | lower) not in ['true', 'false'] else 'arcane' >>-data:
driver: local
driver_opts:
type: nfs
o: addr=<< volume_nfs_server >>,nfsvers=4,<< volume_nfs_options >>
device: ":<< volume_nfs_path >>"
<%- endif %>
<%- if traefik_enabled %>
networks:
<< traefik_network >>:
external: true
<%- endif %>