1299 lines
41 KiB
YAML
1299 lines
41 KiB
YAML
services:
|
|
|
|
# Proxy for ssl termination and easier hostname access
|
|
# SSL certificates with the virtual host name need to be added to ./data/ssl
|
|
proxy:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-nginx:latest
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:${PROXY_PORT_HTTP:-80}:80"
|
|
- "${IP_BIND:-127.0.0.1}:${PROXY_PORT_HTTPS:-443}:443"
|
|
volumes:
|
|
- ${DOCKER_SOCKET-/var/run/docker.sock}:/tmp/docker.sock:ro
|
|
- ./data/ssl/:/etc/nginx/certs
|
|
- ./data/nginx/vhost.d/:/etc/nginx/vhost.d
|
|
environment:
|
|
DHPARAM_BITS: 2048
|
|
DHPARAM_GENERATION: "false"
|
|
HTTPS_METHOD: "noredirect"
|
|
HSTS: "off"
|
|
cap_add:
|
|
- SYS_ADMIN
|
|
networks:
|
|
default:
|
|
aliases:
|
|
- nextcloud${DOMAIN_SUFFIX}
|
|
- nextcloud2${DOMAIN_SUFFIX}
|
|
- nextcloud3${DOMAIN_SUFFIX}
|
|
- stable16${DOMAIN_SUFFIX}
|
|
- stable17${DOMAIN_SUFFIX}
|
|
- stable18${DOMAIN_SUFFIX}
|
|
- stable19${DOMAIN_SUFFIX}
|
|
- stable20${DOMAIN_SUFFIX}
|
|
- stable21${DOMAIN_SUFFIX}
|
|
- stable22${DOMAIN_SUFFIX}
|
|
- stable23${DOMAIN_SUFFIX}
|
|
- stable24${DOMAIN_SUFFIX}
|
|
- stable25${DOMAIN_SUFFIX}
|
|
- stable26${DOMAIN_SUFFIX}
|
|
- stable27${DOMAIN_SUFFIX}
|
|
- stable28${DOMAIN_SUFFIX}
|
|
- stable29${DOMAIN_SUFFIX}
|
|
- stable30${DOMAIN_SUFFIX}
|
|
- stable31${DOMAIN_SUFFIX}
|
|
- stable32${DOMAIN_SUFFIX}
|
|
- stable33${DOMAIN_SUFFIX}
|
|
- mail${DOMAIN_SUFFIX}
|
|
- sso${DOMAIN_SUFFIX}
|
|
- minio${DOMAIN_SUFFIX}
|
|
- rustfs${DOMAIN_SUFFIX}
|
|
- imap${DOMAIN_SUFFIX}
|
|
- collabora${DOMAIN_SUFFIX}
|
|
- codedev${DOMAIN_SUFFIX}
|
|
- onlyoffice${DOMAIN_SUFFIX}
|
|
- proxy${DOMAIN_SUFFIX}
|
|
- hpb${DOMAIN_SUFFIX}
|
|
- push${DOMAIN_SUFFIX}
|
|
- keycloak${DOMAIN_SUFFIX}
|
|
- portal${DOMAIN_SUFFIX}
|
|
- gs1${DOMAIN_SUFFIX}
|
|
- gs2${DOMAIN_SUFFIX}
|
|
- lookup${DOMAIN_SUFFIX}
|
|
- elasticsearch${DOMAIN_SUFFIX}
|
|
- elasticsearch-ui${DOMAIN_SUFFIX}
|
|
- pgadmin${DOMAIN_SUFFIX}
|
|
- phpmyadmin${DOMAIN_SUFFIX}
|
|
- talk-signaling${DOMAIN_SUFFIX}
|
|
- talk-recording${DOMAIN_SUFFIX}
|
|
- authentik${DOMAIN_SUFFIX}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
haproxy:
|
|
image: haproxy
|
|
expose:
|
|
- 80
|
|
environment:
|
|
VIRTUAL_HOST: "proxy${DOMAIN_SUFFIX}"
|
|
volumes:
|
|
- ./docker/configs/haproxy.conf:/usr/local/etc/haproxy/haproxy.cfg:ro
|
|
|
|
nextcloud:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: ${NEXTCLOUD_AUTOINSTALL:-YES}
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: "nextcloud${DOMAIN_SUFFIX}"
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
BLACKFIRE_CLIENT_ID:
|
|
BLACKFIRE_CLIENT_TOKEN:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${REPO_PATH_SERVER}:/var/www/html'
|
|
- '${REPO_PATH_SERVER}/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- data:/var/www/html/data
|
|
- config:/var/www/html/config
|
|
- apps-writable:/var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
nextcloud2:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
VIRTUAL_HOST: "nextcloud2${DOMAIN_SUFFIX}"
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${REPO_PATH_SERVER}:/var/www/html'
|
|
- '${REPO_PATH_SERVER}/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- data2:/var/www/html/data
|
|
- config2:/var/www/html/config
|
|
- apps-writable2:/var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:${PORTBASE:-800}1:80"
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
nextcloud3:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
VIRTUAL_HOST: "nextcloud3${DOMAIN_SUFFIX}"
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${REPO_PATH_SERVER}:/var/www/html'
|
|
- '${REPO_PATH_SERVER}/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- data3:/var/www/html/data
|
|
- config3:/var/www/html/config
|
|
- apps-writable3:/var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable16:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-73}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable16${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable16:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable16/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable17:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-73}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable17${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable17:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable17/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable18:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-74}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable18${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable18:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable18/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable19:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-74}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable19${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable19:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable19/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable20:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-74}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable20${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable20:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable20/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable21:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable21${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable21:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable21/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable22:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable22${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable22:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable22/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable23:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable23${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable23:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable23/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable24:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-80}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable24${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable24:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable24/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable25:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable25${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable25:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable25/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable26:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable26${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable26:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable26/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable27:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable27${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable27:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable27/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable28:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable28${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable28:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable28/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable29:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable29${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable29:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable29/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable30:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable30${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable30:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable30/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable31:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable31${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable31:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable31/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable32:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable32${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable32:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable32/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
stable33:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-83}:latest
|
|
environment:
|
|
SQL: ${SQL:-mysql}
|
|
NEXTCLOUD_AUTOINSTALL: "YES"
|
|
NEXTCLOUD_AUTOINSTALL_APPS:
|
|
WITH_REDIS: "YES"
|
|
VIRTUAL_HOST: stable33${DOMAIN_SUFFIX}
|
|
ADDITIONAL_APPS_PATH:
|
|
NEXTCLOUD_TRUSTED_DOMAINS:
|
|
PRIMARY: ${PRIMARY:-local}
|
|
PHP_XDEBUG_MODE: ${PHP_XDEBUG_MODE:-develop}
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/stable33:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/stable33/apps-extra:/var/www/html/apps-extra'
|
|
- '${ADDITIONAL_APPS_PATH:-./data/apps-extra}:/var/www/html/apps-shared'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- /var/www/html/apps-writable
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
- ./data/shared:/shared
|
|
depends_on:
|
|
- database-${SQL:-mysql}
|
|
- redis
|
|
- mail
|
|
- ${PROXY_SERVICE:-proxy}
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
database-sqlite:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-noop:latest
|
|
|
|
database-mysql:
|
|
image: mariadb:10.6
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: 'nextcloud'
|
|
MYSQL_PASSWORD: 'nextcloud'
|
|
MYSQL_USER: 'nextcloud'
|
|
MYSQL_DATABASE: 'nextcloud'
|
|
command: [
|
|
'--wait_timeout=28800',
|
|
]
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:${PORTBASE:-800}2:3306"
|
|
volumes:
|
|
- mysql:/var/lib/mysql
|
|
|
|
database-mariadb-primary:
|
|
image: docker.io/bitnami/mariadb:10.6
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:3306:3306"
|
|
volumes:
|
|
- 'mariadb_primary_data:/bitnami/mariadb'
|
|
environment:
|
|
- MARIADB_REPLICATION_MODE=master
|
|
- MARIADB_REPLICATION_USER=repl_user
|
|
- MARIADB_REPLICATION_PASSWORD=repl_password
|
|
- MARIADB_ROOT_PASSWORD=nextcloud
|
|
- MARIADB_USER=nextcloud
|
|
- MARIADB_PASSWORD=nextcloud
|
|
- MARIADB_DATABASE=nextcloud
|
|
|
|
database-mariadb-replica:
|
|
image: docker.io/bitnami/mariadb:10.6
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:3306:3306"
|
|
depends_on:
|
|
- database-mariadb-primary
|
|
environment:
|
|
- MARIADB_REPLICATION_MODE=slave
|
|
- MARIADB_REPLICATION_USER=repl_user
|
|
- MARIADB_REPLICATION_PASSWORD=repl_password
|
|
- MARIADB_MASTER_HOST=database-mariadb-primary
|
|
- MARIADB_MASTER_PORT_NUMBER=3306
|
|
- MARIADB_MASTER_ROOT_PASSWORD=nextcloud
|
|
# This can be useful for testing but should be enabled only after a setup is completed
|
|
# - MARIADB_MASTER_DELAY=10
|
|
|
|
database-maxscale:
|
|
image: mariadb/maxscale:latest
|
|
depends_on:
|
|
- database-mariadb-primary
|
|
- database-mariadb-replica
|
|
volumes:
|
|
- './docker/maxscale/my-maxscale.cnf:/etc/maxscale.cnf.d/my-maxscale.cnf'
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:3306:3306"
|
|
|
|
database-pgsql:
|
|
image: postgres:latest
|
|
environment:
|
|
POSTGRES_DB: nextcloud
|
|
POSTGRES_PASSWORD: postgres
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:${PORTBASE:-800}2:5432"
|
|
volumes:
|
|
- postgres:/var/lib/postgresql
|
|
|
|
database-oci:
|
|
image: gvenzl/oracle-free:23
|
|
environment:
|
|
ORACLE_PASSWORD: oracle
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:1521:1521"
|
|
volumes:
|
|
- oracle:/opt/oracle/oradata
|
|
|
|
pgadmin:
|
|
container_name: pgadmin_container
|
|
image: dpage/pgadmin4
|
|
environment:
|
|
VIRTUAL_HOST: "pgadmin${DOMAIN_SUFFIX}"
|
|
PGADMIN_DEFAULT_EMAIL: pgadmin4@nextcloud.local
|
|
PGADMIN_DEFAULT_PASSWORD: postgres
|
|
PGADMIN_CONFIG_SERVER_MODE: 'False'
|
|
PGADMIN_SERVER_JSON_FILE: /pgadmin4/config/servers.json
|
|
PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: 'False'
|
|
volumes:
|
|
- "./data/pgadmin/config:/pgadmin4/config"
|
|
depends_on:
|
|
- ${PROXY_SERVICE:-proxy}
|
|
|
|
redis:
|
|
image: redis:8
|
|
volumes:
|
|
- redis:/data
|
|
|
|
ldap:
|
|
image: osixia/openldap
|
|
command: --copy-service --loglevel debug
|
|
expose:
|
|
- 389
|
|
- 636
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:3389:389"
|
|
environment:
|
|
LDAP_DOMAIN: planetexpress.com
|
|
LDAP_BASE_DN: dc=planetexpress,dc=com
|
|
volumes:
|
|
- ./data/ldap:/container/service/slapd/assets/config/bootstrap/ldif/custom
|
|
|
|
phpmyadmin:
|
|
image: phpmyadmin
|
|
environment:
|
|
VIRTUAL_HOST: "phpmyadmin${DOMAIN_SUFFIX}"
|
|
PMA_ARBITRARY: 1
|
|
PMA_HOST: database-mysql
|
|
PMA_USER: root
|
|
PMA_PASSWORD: nextcloud
|
|
UPLOAD_LIMIT: 512M
|
|
|
|
ldapadmin:
|
|
image: osixia/phpldapadmin
|
|
environment:
|
|
PHPLDAPADMIN_LDAP_HOSTS: ldap
|
|
PHPLDAPADMIN_HTTPS: 'false'
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:${PORTBASE:-800}8:80"
|
|
|
|
saml:
|
|
image: unicon/simplesamlphp
|
|
volumes:
|
|
- ./docker/configs/var-simplesamlphp/config:/var/simplesamlphp/config
|
|
- ./docker/configs/var-simplesamlphp/cert:/var/simplesamlphp/cert
|
|
- ./docker/configs/var-simplesamlphp/metadata:/var/simplesamlphp/metadata
|
|
environment:
|
|
VIRTUAL_HOST: "sso${DOMAIN_SUFFIX}"
|
|
expose:
|
|
- 80
|
|
|
|
mail:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-mailhog:latest
|
|
environment:
|
|
VIRTUAL_HOST: "mail${DOMAIN_SUFFIX}"
|
|
VIRTUAL_PORT: 8025
|
|
|
|
imap:
|
|
image: ghcr.io/christophwurst/docker-imap-devel:latest
|
|
environment:
|
|
MAILNAME: example.net
|
|
MAIL_ADDRESS: admin@example.net
|
|
MAIL_PASS: admin
|
|
|
|
smb:
|
|
image: dperson/samba
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:139:139"
|
|
- "${IP_BIND:-127.0.0.1}:445:445"
|
|
environment:
|
|
# -u "<username;password>[;ID;group;GID]"
|
|
USER: "admin;admin"
|
|
USER2: "user1;user1"
|
|
USER3: "user2;user2"
|
|
# -s "<name;/path>[;browse;readonly;guest;users;admins;writelist;comment]"
|
|
SHARE: "public;/smbmount;yes;no;yes;all;admin;admin"
|
|
SHARE2: "user1;/smb/user1;yes;no;no;user1"
|
|
SHARE3: "user2;/smb/user2;yes;no;no;user2"
|
|
volumes:
|
|
- smb:/smbmount
|
|
- smbhomes:/smb
|
|
|
|
blackfire:
|
|
image: blackfire/blackfire:2
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:8307:8307"
|
|
environment:
|
|
- BLACKFIRE_SERVER_ID
|
|
- BLACKFIRE_SERVER_TOKEN
|
|
- BLACKFIRE_CLIENT_ID
|
|
- BLACKFIRE_CLIENT_TOKEN
|
|
- BLACKFIRE_DISABLE_LEGACY_PORT=yes
|
|
|
|
collabora:
|
|
image: collabora/code:latest
|
|
expose:
|
|
- 9980
|
|
cap_add:
|
|
- MKNOD
|
|
environment:
|
|
aliasgroup1: http://nextcloud${DOMAIN_SUFFIX}
|
|
aliasgroup2: http://gs1${DOMAIN_SUFFIX}
|
|
aliasgroup3: http://gs2${DOMAIN_SUFFIX}
|
|
aliasgroup4: http://stable20${DOMAIN_SUFFIX}
|
|
aliasgroup5: http://stable24${DOMAIN_SUFFIX}
|
|
aliasgroup6: http://stable25${DOMAIN_SUFFIX}
|
|
aliasgroup7: http://stable26${DOMAIN_SUFFIX}
|
|
aliasgroup8: http://stable27${DOMAIN_SUFFIX}
|
|
aliasgroup9: http://stable28${DOMAIN_SUFFIX}
|
|
aliasgroup10: http://stable29${DOMAIN_SUFFIX}
|
|
aliasgroup11: http://stable30${DOMAIN_SUFFIX}
|
|
aliasgroup12: http://stable31${DOMAIN_SUFFIX}
|
|
aliasgroup13: http://stable32${DOMAIN_SUFFIX}
|
|
aliasgroup14: http://stable33${DOMAIN_SUFFIX}
|
|
dictionaries: de_DE en_US en_GB
|
|
username: admin
|
|
password: admin
|
|
VIRTUAL_HOST: collabora${DOMAIN_SUFFIX}
|
|
VIRTUAL_PORT: 9980
|
|
VIRTUAL_PROTO: http
|
|
server_name: collabora${DOMAIN_SUFFIX}
|
|
extra_params: "--o:ssl.enable=false --o:net.frame_ancestors=*${DOMAIN_SUFFIX} --o:home_mode.enable=true --o:ssl.termination=false ${COLLABORA_PARAMS:-}"
|
|
|
|
codedev:
|
|
privileged: true
|
|
build:
|
|
context: ./docker/codedev
|
|
environment:
|
|
VIRTUAL_HOST: "codedev${DOMAIN_SUFFIX}"
|
|
VIRTUAL_PORT: 9980
|
|
volumes:
|
|
- /Users/julius/repos/collaboraonline:/collabora
|
|
command: >
|
|
tail -f /dev/null
|
|
|
|
onlyoffice:
|
|
image: onlyoffice/documentserver:latest
|
|
environment:
|
|
VIRTUAL_HOST: onlyoffice${DOMAIN_SUFFIX}
|
|
USE_UNAUTHORIZED_STORAGE: "true"
|
|
JWT_SECRET: secret
|
|
expose:
|
|
- '80'
|
|
volumes:
|
|
- document_data:/var/www/onlyoffice/Data
|
|
- document_log:/var/log/onlyoffice
|
|
|
|
minio:
|
|
image: minio/minio
|
|
environment:
|
|
VIRTUAL_HOST: minio${DOMAIN_SUFFIX}
|
|
VIRTUAL_PORT: 9000
|
|
MINIO_ROOT_USER: nextcloud
|
|
MINIO_ROOT_PASSWORD: nextcloud
|
|
MINIO_BROWSER_REDIRECT_URL: ${PROTOCOL}://minio${DOMAIN_SUFFIX}
|
|
ports:
|
|
- "9001:9001"
|
|
volumes:
|
|
- objectstorage_minio:/data
|
|
command: server /data --console-address :9001
|
|
|
|
rustfs:
|
|
image: rustfs/rustfs:latest
|
|
environment:
|
|
VIRTUAL_HOST: rustfs${DOMAIN_SUFFIX}
|
|
VIRTUAL_PORT: 9001
|
|
RUSTFS_ACCESS_KEY: nextcloud
|
|
RUSTFS_SECRET_KEY: nextcloud
|
|
RUSTFS_CONSOLE_ENABLE: "true"
|
|
volumes:
|
|
- objectstorage_rustfs:/data
|
|
|
|
elasticsearch:
|
|
build:
|
|
context: ./docker
|
|
dockerfile: elasticsearch/Dockerfile
|
|
environment:
|
|
- ELASTIC_PASSWORD=elastic
|
|
- discovery.type=single-node
|
|
- http.port=9200
|
|
- http.cors.enabled=true
|
|
- http.cors.allow-origin=http://localhost:1358,http://127.0.0.1:1358,http://elasticsearch-ui.dev.local
|
|
- http.cors.allow-headers=X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
|
|
- http.cors.allow-credentials=true
|
|
- bootstrap.memory_lock=true
|
|
- xpack.security.enabled=false
|
|
- 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
|
|
- VIRTUAL_HOST=elasticsearch${DOMAIN_SUFFIX}
|
|
- VIRTUAL_PORT=9200
|
|
- VIRTUAL_PROTO=http
|
|
expose:
|
|
- 9200
|
|
- 9300
|
|
volumes:
|
|
- elasticsearch_data:/usr/share/elasticsearch/data
|
|
|
|
elasticsearch-ui:
|
|
image: appbaseio/dejavu
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:1358:1358"
|
|
expose:
|
|
- 1358
|
|
environment:
|
|
VIRTUAL_HOST: elasticsearch-ui${DOMAIN_SUFFIX}
|
|
VIRTUAL_PORT: 1358
|
|
VIRTUAL_PROTO: http
|
|
|
|
|
|
push:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-push:latest
|
|
environment:
|
|
RUST_LOG: debug
|
|
VIRTUAL_HOST: push${DOMAIN_SUFFIX}
|
|
VIRTUAL_PORT: 7867
|
|
DATABASE_URL: mysql://root:nextcloud@database-mysql/nextcloud
|
|
REDIS_URL: redis://redis
|
|
NEXTCLOUD_URL: http://nextcloud
|
|
|
|
keycloak:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-keycloak:latest
|
|
expose:
|
|
- 8080
|
|
# volumes:
|
|
# - ./docker/configs/keycloak:/opt/keycloak/data/import
|
|
command: start-dev --import-realm --http-enabled=true --proxy-headers xforwarded
|
|
environment:
|
|
PROTOCOL: "${PROTOCOL:-http}"
|
|
DOMAIN_SUFFIX: "${DOMAIN_SUFFIX:-.local}"
|
|
VIRTUAL_HOST: "keycloak${DOMAIN_SUFFIX}"
|
|
VIRTUAL_PORT: 8080
|
|
KC_BOOTSTRAP_ADMIN_USERNAME: admin
|
|
KC_BOOTSTRAP_ADMIN_PASSWORD: admin
|
|
KEYCLOAK_PROXY_ADDRESS_FORWARDING: "true"
|
|
KEYCLOAK_FRONTEND_URL: "${PROTOCOL:-http}://keycloak${DOMAIN_SUFFIX}"
|
|
KC_PROXY: edge
|
|
|
|
av:
|
|
image: clamav/clamav:stable
|
|
container_name: nextav
|
|
restart: unless-stopped
|
|
volumes:
|
|
- clam:/var/lib/clamav
|
|
|
|
portal:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
VIRTUAL_HOST: portal${DOMAIN_SUFFIX}
|
|
SQL: 'mysql'
|
|
GS_MODE: master
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/server:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/server/apps-extra:/var/www/html/apps-extra'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
depends_on:
|
|
- ${PROXY_SERVICE:-proxy}
|
|
- database-${SQL:-mysql}
|
|
- lookup
|
|
- redis
|
|
- mail
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
gs1:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
VIRTUAL_HOST: gs1${DOMAIN_SUFFIX}
|
|
SQL: 'mysql'
|
|
GS_MODE: slave
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/server:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/server/apps-extra:/var/www/html/apps-extra'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
depends_on:
|
|
- ${PROXY_SERVICE:-proxy}
|
|
- portal
|
|
- database-${SQL:-mysql}
|
|
- lookup
|
|
- redis
|
|
- mail
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
gs2:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-php${PHP_VERSION:-82}:latest
|
|
environment:
|
|
VIRTUAL_HOST: gs2${DOMAIN_SUFFIX}
|
|
SQL: 'mysql'
|
|
GS_MODE: slave
|
|
volumes:
|
|
- '${STABLE_ROOT_PATH}/server:/var/www/html'
|
|
- '${STABLE_ROOT_PATH}/server/apps-extra:/var/www/html/apps-extra'
|
|
- /var/www/html/data
|
|
- /var/www/html/config
|
|
- ./data/skeleton/:/skeleton
|
|
- ./data/additional.config.php:/var/www/html/config/additional.config.php:ro
|
|
depends_on:
|
|
- ${PROXY_SERVICE:-proxy}
|
|
- portal
|
|
- database-${SQL:-mysql}
|
|
- lookup
|
|
- redis
|
|
- mail
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
|
|
lookup:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-lookupserver:latest
|
|
environment:
|
|
VIRTUAL_HOST: "lookup${DOMAIN_SUFFIX}"
|
|
# volumes:
|
|
# - '${STABLE_ROOT_PATH}/lookupserver:/var/www/html'
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
tinyproxy:
|
|
image: docker.io/kalaksi/tinyproxy
|
|
cap_drop:
|
|
- ALL
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:8888:8888"
|
|
environment:
|
|
MAX_CLIENTS: 100
|
|
ALLOWED_NETWORKS: 0.0.0.0/0
|
|
# One of Critical, Error, Warning, Notice, Connect, Info
|
|
LOG_LEVEL: Notice
|
|
# Maximum number of seconds idle connections are allowed to remain open
|
|
TIMEOUT: 900
|
|
# Username for BasicAuth
|
|
# AUTH_USER: ''
|
|
# Password for BasicAuth (letters and digits only)
|
|
# Prefer secrets-mechanisms instead of environment variables.
|
|
# AUTH_PASSWORD: ''
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-I", "-H", "Host: tinyproxy.stats", "${PROTOCOL}://nextcloud${DOMAIN_SUFFIX}/"]
|
|
interval: 5m
|
|
timeout: 10s
|
|
retries: 1
|
|
|
|
|
|
previews_hpb:
|
|
image: ghcr.io/nextcloud-releases/aio-imaginary:latest
|
|
ports:
|
|
- "${IP_BIND:-127.0.0.1}:8088:8088"
|
|
environment:
|
|
- PORT=8088
|
|
|
|
talk-signaling:
|
|
image: strukturag/nextcloud-spreed-signaling:latest
|
|
environment:
|
|
VIRTUAL_HOST: "talk-signaling${DOMAIN_SUFFIX}"
|
|
HTTP_LISTEN: "0.0.0.0:80"
|
|
HASH_KEY: "11111111111111111111111111111111"
|
|
BLOCK_KEY: "22222222222222222222222222222222"
|
|
USE_JANUS: 1
|
|
JANUS_URL: "ws://talk-janus:8188"
|
|
SKIP_VERIFY: 1
|
|
BACKENDS_ALLOWALL: 1
|
|
BACKENDS_ALLOWALL_SECRET: "1234"
|
|
INTERNAL_SHARED_SECRET_KEY: "4567"
|
|
|
|
talk-janus:
|
|
image: ghcr.io/juliusknorr/nextcloud-dev-talk-janus:latest
|
|
|
|
talk-recording:
|
|
image: ghcr.io/nextcloud-releases/aio-talk-recording:latest
|
|
environment:
|
|
NC_DOMAIN: "nextcloud${DOMAIN_SUFFIX}"
|
|
ALLOW_ALL: "true"
|
|
HPB_PROTOCOL: "${PROTOCOL:-http}"
|
|
HPB_DOMAIN: "talk-signaling${DOMAIN_SUFFIX}"
|
|
HPB_PATH : ""
|
|
SKIP_VERIFY: "true"
|
|
RECORDING_SECRET: "6789"
|
|
INTERNAL_SECRET: "4567"
|
|
VIRTUAL_HOST: "talk-recording${DOMAIN_SUFFIX}"
|
|
VIRTUAL_PORT: 1234
|
|
shm_size: 2147483648
|
|
|
|
appapi-dsp:
|
|
image: ghcr.io/nextcloud/nextcloud-appapi-dsp:release
|
|
container_name: nextcloud-appapi-dsp-http
|
|
network_mode: ${NETWORK_MODE:-master_default}
|
|
volumes:
|
|
- ${DOCKER_SOCKET-/var/run/docker.sock}:/var/run/docker.sock
|
|
environment:
|
|
- NC_HAPROXY_PASSWORD=${NC_HAPROXY_PASSWORD:-some_secure_password}
|
|
- BIND_ADDRESS=${BIND_ADDRESS:-}
|
|
- HAPROXY_PORT=${HAPROXY_PORT:-2375}
|
|
- TIMEOUT_CONNECT=${TIMEOUT_CONNECT:-10s}
|
|
- TIMEOUT_CLIENT=${TIMEOUT_CLIENT:-30s}
|
|
- TIMEOUT_SERVER=${TIMEOUT_SERVER:-30s}
|
|
- EX_APPS_NET=${EX_APPS_NET:-ipv4@localhost}
|
|
- EX_APPS_COUNT=${EX_APPS_COUNT:-50}
|
|
|
|
appapi-dsp-https:
|
|
image: ghcr.io/nextcloud/nextcloud-appapi-dsp:release
|
|
container_name: nextcloud-appapi-dsp-https
|
|
network_mode: ${NETWORK_MODE:-host}
|
|
volumes:
|
|
- ${DOCKER_SOCKET-/var/run/docker.sock}:/var/run/docker.sock
|
|
- ${CERT_PATH:-./data/ssl/app_api/app_api.pem}:/certs/cert.pem
|
|
environment:
|
|
- NC_HAPROXY_PASSWORD=${NC_HAPROXY_PASSWORD:-some_secure_password}
|
|
- BIND_ADDRESS=${BIND_ADDRESS:-172.17.0.1}
|
|
- HAPROXY_PORT=${HAPROXY_PORT:-2375}
|
|
- TIMEOUT_CONNECT=${TIMEOUT_CONNECT:-10s}
|
|
- TIMEOUT_CLIENT=${TIMEOUT_CLIENT:-30s}
|
|
- TIMEOUT_SERVER=${TIMEOUT_SERVER:-30s}
|
|
- EX_APPS_NET=${EX_APPS_NET:-ipv4@localhost}
|
|
- EX_APPS_COUNT=${EX_APPS_COUNT:-50}
|
|
|
|
authentik-postgresql:
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
POSTGRES_DB: ${PG_DB:-authentik}
|
|
POSTGRES_PASSWORD: authentik-database
|
|
POSTGRES_USER: ${PG_USER:-authentik}
|
|
healthcheck:
|
|
interval: 30s
|
|
retries: 5
|
|
start_period: 20s
|
|
test:
|
|
- CMD-SHELL
|
|
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
|
|
timeout: 5s
|
|
image: docker.io/library/postgres:16-alpine
|
|
restart: unless-stopped
|
|
volumes:
|
|
- authentik-database:/var/lib/postgresql/data
|
|
authentik-worker:
|
|
command: worker
|
|
depends_on:
|
|
authentik-postgresql:
|
|
condition: service_healthy
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
|
|
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
|
AUTHENTIK_POSTGRESQL__PASSWORD: authentik-database
|
|
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
|
AUTHENTIK_SECRET_KEY: authentik-secret
|
|
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.10.2}
|
|
restart: unless-stopped
|
|
user: root
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ./authentik-media:/media
|
|
- ./authentik-certs:/certs
|
|
- ./authentik-custom-templates:/templates
|
|
|
|
authentik:
|
|
command: server
|
|
depends_on:
|
|
authentik-postgresql:
|
|
condition: service_healthy
|
|
authentik-worker:
|
|
condition: service_healthy
|
|
environment:
|
|
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
|
|
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
|
AUTHENTIK_POSTGRESQL__PASSWORD: authentik-database
|
|
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
|
AUTHENTIK_SECRET_KEY: authentik-secret
|
|
VIRTUAL_HOST: "authentik${DOMAIN_SUFFIX}"
|
|
VIRTUAL_PORT: 9000
|
|
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.10.2}
|
|
ports:
|
|
- ${COMPOSE_PORT_HTTP:-9000}:9000
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./authentik-media:/media
|
|
- ./authentik-custom-templates:/templates
|
|
|
|
volumes:
|
|
data:
|
|
config:
|
|
apps-writable:
|
|
mysql:
|
|
postgres:
|
|
oracle:
|
|
redis:
|
|
data2:
|
|
config2:
|
|
apps-writable2:
|
|
data3:
|
|
config3:
|
|
apps-writable3:
|
|
document_data:
|
|
document_log:
|
|
objectstorage_minio:
|
|
objectstorage_rustfs:
|
|
smb:
|
|
smbhomes:
|
|
elasticsearch_data:
|
|
clam:
|
|
mariadb_primary_data:
|
|
authentik-database:
|
|
driver: local
|
|
|
|
networks:
|
|
default:
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: ${DOCKER_SUBNET:-192.168.21.0/24}
|