Been getting config files downloaded
This commit is contained in:
+155
@@ -0,0 +1,155 @@
|
||||
# Base directory on the host for all persistent data (compose defaults to /data if unset)
|
||||
DATA_DIR=/data
|
||||
|
||||
# ---------------------------
|
||||
# Published ports (host side)
|
||||
# ---------------------------
|
||||
|
||||
# Keycloak HTTP host port
|
||||
KEYCLOAK_HTTP_PUBLISHED_PORT=8080
|
||||
|
||||
# Caddy host ports
|
||||
CADDY_HTTP_PUBLISHED_PORT=80
|
||||
CADDY_HTTPS_PUBLISHED_PORT=443
|
||||
|
||||
# Nextcloud signaling host port
|
||||
SIGNALING_PUBLISHED_PORT=8090
|
||||
|
||||
# GitLab SSH host port
|
||||
GITLAB_SSH_PUBLISHED_PORT=2222
|
||||
|
||||
# Janus published ports
|
||||
JANUS_HTTP_PUBLISHED_PORT=8088
|
||||
JANUS_HTTPS_PUBLISHED_PORT=8089
|
||||
JANUS_ADMIN_HTTP_PUBLISHED_PORT=8188
|
||||
JANUS_ADMIN_HTTPS_PUBLISHED_PORT=8889
|
||||
JANUS_RTP_PUBLISHED_PORT=8000
|
||||
JANUS_WS_PUBLISHED_PORT=7088
|
||||
JANUS_WSS_PUBLISHED_PORT=7089
|
||||
|
||||
# TURN published ports
|
||||
TURN_PORT=3478
|
||||
TURN_TLS_PORT=5349
|
||||
|
||||
# ---------------------------
|
||||
# Keycloak
|
||||
# ---------------------------
|
||||
|
||||
# Keycloak DB mode/vendor (as used by Keycloak)
|
||||
KC_DB=dev-file
|
||||
# Enable HTTP listener (true/false)
|
||||
KC_HTTP_ENABLED=true
|
||||
# Public hostname for Keycloak
|
||||
KC_HOSTNAME=keycloak.data-pro.nu
|
||||
# Proxy headers mode (e.g. xforwarded)
|
||||
KC_PROXY_HEADERS=xforwarded
|
||||
# Proxy mode (e.g. edge)
|
||||
KC_PROXY=edge
|
||||
# Enforce strict hostname checks (true/false)
|
||||
KC_HOSTNAME_STRICT=false
|
||||
# Enforce strict HTTPS hostname checks (true/false)
|
||||
KC_HOSTNAME_STRICT_HTTPS=false
|
||||
# Enable metrics endpoint (true/false)
|
||||
KC_METRICS_ENABLED=true
|
||||
# Enable health endpoint (true/false)
|
||||
KC_HEALTH_ENABLED=true
|
||||
# Log level (e.g. info, debug)
|
||||
KC_LOG_LEVEL=info
|
||||
# Bootstrap admin username (first-run)
|
||||
KC_BOOTSTRAP_ADMIN_USERNAME=admin
|
||||
# Bootstrap admin password (first-run secret)
|
||||
KC_BOOTSTRAP_ADMIN_PASSWORD=admin
|
||||
|
||||
# ---------------------------
|
||||
# Nextcloud
|
||||
# ---------------------------
|
||||
|
||||
# MariaDB password for the Nextcloud DB user (secret)
|
||||
NEXTCLOUD_MYSQL_PASSWORD=MySQL2
|
||||
# Nextcloud database name
|
||||
NEXTCLOUD_MYSQL_DATABASE=nextcloud
|
||||
# Nextcloud database user
|
||||
NEXTCLOUD_MYSQL_USER=nextcloud
|
||||
# MariaDB host (service name)
|
||||
NEXTCLOUD_MYSQL_HOST=mariadb
|
||||
# Redis host (service name)
|
||||
NEXTCLOUD_REDIS_HOST=redis
|
||||
|
||||
# ---------------------------
|
||||
# Signaling
|
||||
# ---------------------------
|
||||
|
||||
# Path to signaling config inside the container
|
||||
SIGNALING_CONFIG=/config/server.conf
|
||||
|
||||
# ---------------------------
|
||||
# GitLab
|
||||
# ---------------------------
|
||||
|
||||
# GitLab container hostname
|
||||
GITLAB_HOSTNAME=gitlab.data-pro.nu
|
||||
# GitLab external URL (used in omnibus config)
|
||||
GITLAB_EXTERNAL_URL=https://gitlab.data-pro.nu
|
||||
|
||||
# ---------------------------
|
||||
# Gitea
|
||||
# ---------------------------
|
||||
|
||||
# Public hostname for Gitea
|
||||
GITEA_DOMAIN=gitea.data-pro.nu
|
||||
# Public root URL (must match how users access it)
|
||||
GITEA_ROOT_URL=https://gitea.data-pro.nu/
|
||||
# Internal HTTP port Gitea listens on inside container (usually 3000)
|
||||
GITEA_HTTP_PORT=3000
|
||||
# UID for file ownership on the host volume (match your server user, often 1000)
|
||||
GITEA_USER_UID=1000
|
||||
# GID for file ownership on the host volume (match your server group, often 1000)
|
||||
GITEA_USER_GID=1000
|
||||
# Hostname used in SSH clone URLs shown by Gitea
|
||||
GITEA_SSH_DOMAIN=gitea.data-pro.nu
|
||||
# SSH port shown in clone URLs (22 if not publishing a different host port)
|
||||
GITEA_SSH_PORT=22
|
||||
# OPTIONAL: host port to publish for Gitea SSH (only if you enable ports mapping in compose)
|
||||
GITEA_SSH_PUBLISHED_PORT=2223
|
||||
|
||||
# ---------------------------
|
||||
# Collabora
|
||||
# ---------------------------
|
||||
|
||||
# Collabora 'domain' regex (escaped for .env)
|
||||
COLLABORA_DOMAIN_REGEX=nextcloud\\.data\\-pro\\.nu
|
||||
# Collabora admin username
|
||||
COLLABORA_USERNAME=admin
|
||||
# Collabora admin password (secret)
|
||||
COLLABORA_PASSWORD=1Collabora2@
|
||||
# Collabora runtime flags (quoted because it contains spaces)
|
||||
COLLABORA_EXTRA_PARAMS="--o:ssl.enable=false --o:ssl.termination=true"
|
||||
|
||||
# ---------------------------
|
||||
# MariaDB
|
||||
# ---------------------------
|
||||
|
||||
# MariaDB root password (secret)
|
||||
MYSQL_ROOT_PASSWORD=1MySQLRoot12!
|
||||
# MariaDB initial database name
|
||||
MARIADB_MYSQL_DATABASE=nextcloud
|
||||
# MariaDB initial user
|
||||
MARIADB_MYSQL_USER=nextcloud
|
||||
# MariaDB initial user password (secret)
|
||||
MARIADB_MYSQL_PASSWORD=MySQL2
|
||||
|
||||
#---------------------------
|
||||
# n8n
|
||||
# ---------------------------
|
||||
|
||||
N8N_HOST=n8n.data-pro.nu
|
||||
N8N_PROTOCOL=https
|
||||
N8N_WEBHOOK_URL=https://n8n.data-pro.nu/
|
||||
N8N_ENCRYPTION_KEY=change_me_to_a_long_random_string
|
||||
N8N_SECURE_COOKIE=true
|
||||
N8N_TIMEZONE=Europe/AmsterdamN8N_HOST=n8n.data-pro.nu
|
||||
N8N_PROTOCOL=https
|
||||
N8N_WEBHOOK_URL=https://n8n.data-pro.nu/
|
||||
N8N_ENCRYPTION_KEY=change_me_to_a_long_random_string
|
||||
N8N_SECURE_COOKIE=true
|
||||
N8N_TIMEZONE=Europe/Amsterdam
|
||||
@@ -0,0 +1,214 @@
|
||||
services:
|
||||
|
||||
keycloak:
|
||||
image: keycloak/keycloak:latest
|
||||
container_name: keycloak
|
||||
restart: unless-stopped
|
||||
command: start
|
||||
depends_on:
|
||||
- mariadb
|
||||
ports:
|
||||
- "${KEYCLOAK_HTTP_PUBLISHED_PORT}:8080"
|
||||
environment:
|
||||
KC_DB: ${KC_DB}
|
||||
KC_HTTP_ENABLED: ${KC_HTTP_ENABLED}
|
||||
KC_HOSTNAME: ${KC_HOSTNAME}
|
||||
KC_PROXY_HEADERS: ${KC_PROXY_HEADERS}
|
||||
KC_PROXY: ${KC_PROXY}
|
||||
KC_HOSTNAME_STRICT: ${KC_HOSTNAME_STRICT}
|
||||
KC_HOSTNAME_STRICT_HTTPS: ${KC_HOSTNAME_STRICT_HTTPS}
|
||||
KC_METRICS_ENABLED: ${KC_METRICS_ENABLED}
|
||||
KC_HEALTH_ENABLED: ${KC_HEALTH_ENABLED}
|
||||
KC_LOG_LEVEL: ${KC_LOG_LEVEL}
|
||||
KC_BOOTSTRAP_ADMIN_USERNAME: ${KC_BOOTSTRAP_ADMIN_USERNAME}
|
||||
KC_BOOTSTRAP_ADMIN_PASSWORD: ${KC_BOOTSTRAP_ADMIN_PASSWORD}
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/keycloak:/opt/keycloak/data
|
||||
networks:
|
||||
- caddy_net
|
||||
|
||||
caddy:
|
||||
image: caddy:2
|
||||
container_name: caddy
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${CADDY_HTTP_PUBLISHED_PORT}:80"
|
||||
- "${CADDY_HTTPS_PUBLISHED_PORT}:443"
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/caddy/Caddyfile:/etc/caddy/Caddyfile
|
||||
- ${DATA_DIR:-/data}/caddy:/data
|
||||
- ${DATA_DIR:-/data}/caddy_config:/config
|
||||
networks:
|
||||
- caddy_net
|
||||
|
||||
nextcloud:
|
||||
image: nextcloud:latest
|
||||
container_name: nextcloud
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- mariadb
|
||||
- signaling
|
||||
- caddy
|
||||
- redis
|
||||
- janus
|
||||
- collabora
|
||||
environment:
|
||||
MYSQL_PASSWORD: ${NEXTCLOUD_MYSQL_PASSWORD}
|
||||
MYSQL_DATABASE: ${NEXTCLOUD_MYSQL_DATABASE}
|
||||
MYSQL_USER: ${NEXTCLOUD_MYSQL_USER}
|
||||
MYSQL_HOST: ${NEXTCLOUD_MYSQL_HOST}
|
||||
REDIS_HOST: ${NEXTCLOUD_REDIS_HOST}
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/nextcloud/config:/var/www/html/config
|
||||
- ${DATA_DIR:-/data}/nextcloud/data:/var/www/html/data
|
||||
- ${DATA_DIR:-/data}/nextcloud/custom_apps:/var/www/html/custom_apps
|
||||
- ${DATA_DIR:-/data}/nextcloud/themes:/var/www/html/themes
|
||||
- ${DATA_DIR:-/data}/nextcloud/php/conf.d/opcache.ini:/usr/local/etc/php/conf.d/opcache.ini:ro
|
||||
- ${DATA_DIR:-/data}/nextcloud/scripts:/data/nextcloud/scripts:ro
|
||||
networks:
|
||||
- caddy_net
|
||||
|
||||
signaling:
|
||||
image: ghcr.io/strukturag/nextcloud-spreed-signaling:latest
|
||||
container_name: signaling
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${SIGNALING_PUBLISHED_PORT}:8090"
|
||||
depends_on:
|
||||
- janus
|
||||
- coturn
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/signaling/config:/config
|
||||
- ${DATA_DIR:-/data}/certs:/certs
|
||||
environment:
|
||||
SIGNALING_CONFIG: ${SIGNALING_CONFIG}
|
||||
networks:
|
||||
- caddy_net
|
||||
|
||||
redis:
|
||||
image: redis:latest
|
||||
container_name: redis
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/redis:/data
|
||||
networks:
|
||||
- caddy_net
|
||||
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
container_name: gitea
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
USER_UID: ${GITEA_USER_UID}
|
||||
USER_GID: ${GITEA_USER_GID}
|
||||
|
||||
# Configure via environment variables (maps to app.ini keys)
|
||||
GITEA__server__DOMAIN: ${GITEA_DOMAIN}
|
||||
GITEA__server__ROOT_URL: ${GITEA_ROOT_URL}
|
||||
GITEA__server__HTTP_PORT: ${GITEA_HTTP_PORT}
|
||||
|
||||
# Show correct SSH clone URL in the UI
|
||||
GITEA__server__SSH_DOMAIN: ${GITEA_SSH_DOMAIN}
|
||||
GITEA__server__SSH_PORT: ${GITEA_SSH_PORT}
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/gitea:/data
|
||||
networks:
|
||||
- caddy_net
|
||||
# Optional: enable Git-over-SSH on a dedicated host port (avoid conflicts with GitLab 2222)
|
||||
ports:
|
||||
- "${GITEA_SSH_PUBLISHED_PORT}:22"
|
||||
|
||||
janus:
|
||||
image: mwalbeck/janus-gateway
|
||||
container_name: janus
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${JANUS_HTTP_PUBLISHED_PORT}:8088"
|
||||
- "${JANUS_HTTPS_PUBLISHED_PORT}:8089"
|
||||
- "${JANUS_ADMIN_HTTP_PUBLISHED_PORT}:8188"
|
||||
- "${JANUS_ADMIN_HTTPS_PUBLISHED_PORT}:8889"
|
||||
- "${JANUS_RTP_PUBLISHED_PORT}:8000"
|
||||
- "${JANUS_WS_PUBLISHED_PORT}:7088"
|
||||
- "${JANUS_WSS_PUBLISHED_PORT}:7089"
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/janus:/usr/local/etc/janus
|
||||
networks:
|
||||
- caddy_net
|
||||
|
||||
collabora:
|
||||
image: collabora/code
|
||||
container_name: collabora
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- domain=${COLLABORA_DOMAIN_REGEX}
|
||||
- username=${COLLABORA_USERNAME}
|
||||
- password=${COLLABORA_PASSWORD}
|
||||
- extra_params=${COLLABORA_EXTRA_PARAMS}
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/collabora:/data
|
||||
networks:
|
||||
- caddy_net
|
||||
|
||||
mariadb:
|
||||
image: mariadb:11.4
|
||||
container_name: mariadb
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||
MYSQL_DATABASE: ${MARIADB_MYSQL_DATABASE}
|
||||
MYSQL_USER: ${MARIADB_MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MARIADB_MYSQL_PASSWORD}
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/mariadb:/var/lib/mysql
|
||||
networks:
|
||||
- caddy_net
|
||||
|
||||
coturn:
|
||||
image: instrumentisto/coturn
|
||||
container_name: coturn
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- caddy_net
|
||||
ports:
|
||||
- "${TURN_PORT}:3478" # STUN/TURN TCP
|
||||
- "${TURN_PORT}:3478/udp" # STUN/TURN UDP
|
||||
- "${TURN_TLS_PORT}:5349" # TLS
|
||||
- "${TURN_TLS_PORT}:5349/udp"
|
||||
environment:
|
||||
- TURN_PORT=${TURN_PORT}
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/coturn/turnserver.conf:/etc/coturn/turnserver.conf
|
||||
- ${DATA_DIR:-/data}/coturn/logs:/var/log
|
||||
- ${DATA_DIR:-/data}/caddy/certificates/acme-v02.api.letsencrypt.org-directory/turn.data-pro.nu:/etc/coturn/certs
|
||||
|
||||
# --- n8n (automation/workflows) ---
|
||||
n8n:
|
||||
image: n8nio/n8n:latest
|
||||
container_name: n8n
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
N8N_HOST: ${N8N_HOST}
|
||||
N8N_PORT: 5678
|
||||
N8N_PROTOCOL: ${N8N_PROTOCOL}
|
||||
WEBHOOK_URL: ${N8N_WEBHOOK_URL}
|
||||
GENERIC_TIMEZONE: ${N8N_TIMEZONE:-Europe/Amsterdam}
|
||||
N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
|
||||
N8N_SECURE_COOKIE: ${N8N_SECURE_COOKIE:-true}
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/n8n:/home/node/.n8n
|
||||
networks:
|
||||
- caddy_net
|
||||
|
||||
ansible:
|
||||
image: alpine/ansible:latest
|
||||
container_name: ansible
|
||||
restart: unless-stopped
|
||||
working_dir: /ansible
|
||||
volumes:
|
||||
- ${DATA_DIR:-/data}/ansible/ansible-project:/ansible
|
||||
- ${DATA_DIR:-/data}/ansible/ansible-ssh:/home/ansible/.ssh
|
||||
network_mode: host
|
||||
command: ["sh", "-c", "while true; do sleep 3600; done"]
|
||||
|
||||
networks:
|
||||
caddy_net:
|
||||
Reference in New Issue
Block a user