feat: port configuration

This commit is contained in:
chillymattster
2025-11-14 10:26:09 +01:00
parent df985a5304
commit ba14b78f58
6 changed files with 25 additions and 18 deletions

View File

@@ -66,6 +66,10 @@ TRAEFIK_ACCESS_LOG=
# Configure the log level for Traefik. # Configure the log level for Traefik.
# Possible values are "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL" and "PANIC". Default is "ERROR". # Possible values are "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL" and "PANIC". Default is "ERROR".
TRAEFIK_LOG_LEVEL= TRAEFIK_LOG_LEVEL=
# Configure ports for HTTP and HTTPS when necessary, defaults are 80 and 443
# Don't use ports in the range of 8000-9999 and 5232 as those ports are used internally and therefore might create conflicts.
#TRAEFIK_PORT_HTTP=4080
#TRAEFIK_PORT_HTTPS=4443
## OpenCloud Settings ## ## OpenCloud Settings ##

View File

@@ -4,10 +4,10 @@ directives:
connect-src: connect-src:
- '''self''' - '''self'''
- 'blob:' - 'blob:'
- 'https://${COMPANION_DOMAIN|companion.opencloud.test}/' - 'https://${COMPANION_DOMAIN|companion.opencloud.test}:${TRAEFIK_EXTERNAL_PORT|443}/'
- 'wss://${COMPANION_DOMAIN|companion.opencloud.test}/' - 'wss://${COMPANION_DOMAIN|companion.opencloud.test}:${TRAEFIK_EXTERNAL_PORT|443}/'
- 'https://raw.githubusercontent.com/opencloud-eu/awesome-apps/' - 'https://raw.githubusercontent.com/opencloud-eu/awesome-apps/'
- 'https://${IDP_DOMAIN|keycloak.opencloud.test}/' - 'https://${IDP_DOMAIN|keycloak.opencloud.test}:${TRAEFIK_EXTERNAL_PORT|443}/'
- 'https://update.opencloud.eu/' - 'https://update.opencloud.eu/'
default-src: default-src:
- '''none''' - '''none'''
@@ -20,7 +20,7 @@ directives:
- 'blob:' - 'blob:'
- 'https://embed.diagrams.net/' - 'https://embed.diagrams.net/'
# In contrary to bash and docker the default is given after the | character # In contrary to bash and docker the default is given after the | character
- 'https://${COLLABORA_DOMAIN|collabora.opencloud.test}/' - 'https://${COLLABORA_DOMAIN|collabora.opencloud.test}:${TRAEFIK_EXTERNAL_PORT|443}/'
# This is needed for the external-sites web extension when embedding sites # This is needed for the external-sites web extension when embedding sites
- 'https://docs.opencloud.eu' - 'https://docs.opencloud.eu'
img-src: img-src:
@@ -30,7 +30,7 @@ directives:
- 'https://raw.githubusercontent.com/opencloud-eu/awesome-apps/' - 'https://raw.githubusercontent.com/opencloud-eu/awesome-apps/'
- 'https://tile.openstreetmap.org/' - 'https://tile.openstreetmap.org/'
# In contrary to bash and docker the default is given after the | character # In contrary to bash and docker the default is given after the | character
- 'https://${COLLABORA_DOMAIN|collabora.opencloud.test}/' - 'https://${COLLABORA_DOMAIN|collabora.opencloud.test}:${TRAEFIK_EXTERNAL_PORT|443}/'
manifest-src: manifest-src:
- '''self''' - '''self'''
media-src: media-src:
@@ -41,7 +41,7 @@ directives:
script-src: script-src:
- '''self''' - '''self'''
- '''unsafe-inline''' - '''unsafe-inline'''
- 'https://${IDP_DOMAIN|keycloak.opencloud.test}/' - 'https://${IDP_DOMAIN|keycloak.opencloud.test}:${TRAEFIK_EXTERNAL_PORT|443}/'
style-src: style-src:
- '''self''' - '''self'''
- '''unsafe-inline''' - '''unsafe-inline'''

View File

@@ -14,10 +14,10 @@ add_arg "--log.level=${TRAEFIK_LOG_LEVEL:-ERROR}"
# enable dashboard # enable dashboard
add_arg "--api.dashboard=true" add_arg "--api.dashboard=true"
# define entrypoints # define entrypoints
add_arg "--entryPoints.http.address=:80" add_arg "--entryPoints.http.address=:${TRAEFIK_HTTP_PORT:-80}"
add_arg "--entryPoints.http.http.redirections.entryPoint.to=https" add_arg "--entryPoints.http.http.redirections.entryPoint.to=https"
add_arg "--entryPoints.http.http.redirections.entryPoint.scheme=https" add_arg "--entryPoints.http.http.redirections.entryPoint.scheme=https"
add_arg "--entryPoints.https.address=:443" add_arg "--entryPoints.https.address=:${TRAEFIK_HTTPS_PORT:-443}"
# change default timeouts for long-running requests # change default timeouts for long-running requests
# this is needed for webdav clients that do not support the TUS protocol # this is needed for webdav clients that do not support the TUS protocol
add_arg "--entryPoints.https.transport.respondingTimeouts.readTimeout=12h" add_arg "--entryPoints.https.transport.respondingTimeouts.readTimeout=12h"

View File

@@ -15,7 +15,7 @@ services:
environment: environment:
# enable services that are not started automatically # enable services that are not started automatically
OC_ADD_RUN_SERVICES: ${START_ADDITIONAL_SERVICES} OC_ADD_RUN_SERVICES: ${START_ADDITIONAL_SERVICES}
OC_URL: https://${OC_DOMAIN:-cloud.opencloud.test} OC_URL: https://${OC_DOMAIN:-cloud.opencloud.test}:${TRAEFIK_PORT_HTTPS:-443}
OC_LOG_LEVEL: ${LOG_LEVEL:-info} OC_LOG_LEVEL: ${LOG_LEVEL:-info}
OC_LOG_COLOR: "${LOG_PRETTY:-false}" OC_LOG_COLOR: "${LOG_PRETTY:-false}"
OC_LOG_PRETTY: "${LOG_PRETTY:-false}" OC_LOG_PRETTY: "${LOG_PRETTY:-false}"

View File

@@ -22,9 +22,11 @@ services:
- "TRAEFIK_ACME_CASERVER=${TRAEFIK_ACME_CASERVER:-https://acme-v02.api.letsencrypt.org/directory}" - "TRAEFIK_ACME_CASERVER=${TRAEFIK_ACME_CASERVER:-https://acme-v02.api.letsencrypt.org/directory}"
- "TRAEFIK_LOG_LEVEL=${TRAEFIK_LOG_LEVEL:-ERROR}" - "TRAEFIK_LOG_LEVEL=${TRAEFIK_LOG_LEVEL:-ERROR}"
- "TRAEFIK_ACCESS_LOG=${TRAEFIK_ACCESS_LOG:-false}" - "TRAEFIK_ACCESS_LOG=${TRAEFIK_ACCESS_LOG:-false}"
- "TRAEFIK_HTTP_PORT=${TRAEFIK_PORT_HTTP:-80}"
- "TRAEFIK_HTTPS_PORT=${TRAEFIK_PORT_HTTPS:-443}"
ports: ports:
- "80:80" - "${TRAEFIK_PORT_HTTP:-80}:${TRAEFIK_PORT_HTTP:-80}"
- "443:443" - "${TRAEFIK_PORT_HTTPS:-443}:${TRAEFIK_PORT_HTTPS:-443}"
volumes: volumes:
- "${DOCKER_SOCKET_PATH:-/var/run/docker.sock}:/var/run/docker.sock:ro" - "${DOCKER_SOCKET_PATH:-/var/run/docker.sock}:/var/run/docker.sock:ro"
- "./config/traefik/docker-entrypoint-override.sh:/opt/traefik/bin/docker-entrypoint-override.sh" - "./config/traefik/docker-entrypoint-override.sh:/opt/traefik/bin/docker-entrypoint-override.sh"

View File

@@ -5,6 +5,7 @@ services:
environment: environment:
# this is needed for setting the correct CSP header # this is needed for setting the correct CSP header
COLLABORA_DOMAIN: ${COLLABORA_DOMAIN:-collabora.opencloud.test} COLLABORA_DOMAIN: ${COLLABORA_DOMAIN:-collabora.opencloud.test}
TRAEFIK_EXTERNAL_PORT: ${TRAEFIK_PORT_HTTPS:-443}
# expose nats and the reva gateway for the collaboration service # expose nats and the reva gateway for the collaboration service
NATS_NATS_HOST: 0.0.0.0 NATS_NATS_HOST: 0.0.0.0
GATEWAY_GRPC_ADDR: 0.0.0.0:9142 GATEWAY_GRPC_ADDR: 0.0.0.0:9142
@@ -29,15 +30,15 @@ services:
COLLABORATION_HTTP_ADDR: 0.0.0.0:9300 COLLABORATION_HTTP_ADDR: 0.0.0.0:9300
MICRO_REGISTRY: "nats-js-kv" MICRO_REGISTRY: "nats-js-kv"
MICRO_REGISTRY_ADDRESS: "opencloud:9233" MICRO_REGISTRY_ADDRESS: "opencloud:9233"
COLLABORATION_WOPI_SRC: https://${WOPISERVER_DOMAIN:-wopiserver.opencloud.test} COLLABORATION_WOPI_SRC: https://${WOPISERVER_DOMAIN:-wopiserver.opencloud.test}:${TRAEFIK_PORT_HTTPS:-443}
COLLABORATION_APP_NAME: "CollaboraOnline" COLLABORATION_APP_NAME: "CollaboraOnline"
COLLABORATION_APP_PRODUCT: "Collabora" COLLABORATION_APP_PRODUCT: "Collabora"
COLLABORATION_APP_ADDR: https://${COLLABORA_DOMAIN:-collabora.opencloud.test} COLLABORATION_APP_ADDR: https://${COLLABORA_DOMAIN:-collabora.opencloud.test}:${TRAEFIK_PORT_HTTPS:-443}
COLLABORATION_APP_ICON: https://${COLLABORA_DOMAIN:-collabora.opencloud.test}/favicon.ico COLLABORATION_APP_ICON: https://${COLLABORA_DOMAIN:-collabora.opencloud.test}:${TRAEFIK_PORT_HTTPS:-443}/favicon.ico
COLLABORATION_APP_INSECURE: "${INSECURE:-true}" COLLABORATION_APP_INSECURE: "${INSECURE:-true}"
COLLABORATION_CS3API_DATAGATEWAY_INSECURE: "${INSECURE:-true}" COLLABORATION_CS3API_DATAGATEWAY_INSECURE: "${INSECURE:-true}"
COLLABORATION_LOG_LEVEL: ${LOG_LEVEL:-info} COLLABORATION_LOG_LEVEL: ${LOG_LEVEL:-info}
OC_URL: https://${OC_DOMAIN:-cloud.opencloud.test} OC_URL: https://${OC_DOMAIN:-cloud.opencloud.test}:${TRAEFIK_PORT_HTTPS:-443}
volumes: volumes:
# configure the .env file to use own paths instead of docker internal volumes # configure the .env file to use own paths instead of docker internal volumes
- ${OC_CONFIG_DIR:-opencloud-config}:/etc/opencloud - ${OC_CONFIG_DIR:-opencloud-config}:/etc/opencloud
@@ -51,15 +52,15 @@ services:
networks: networks:
opencloud-net: opencloud-net:
environment: environment:
aliasgroup1: https://${WOPISERVER_DOMAIN:-wopiserver.opencloud.test}:443 aliasgroup1: https://${WOPISERVER_DOMAIN:-wopiserver.opencloud.test}:${TRAEFIK_PORT_HTTPS:-443}
DONT_GEN_SSL_CERT: "YES" DONT_GEN_SSL_CERT: "YES"
extra_params: | extra_params: |
--o:ssl.enable=${COLLABORA_SSL_ENABLE:-true} \ --o:ssl.enable=${COLLABORA_SSL_ENABLE:-true} \
--o:ssl.ssl_verification=${COLLABORA_SSL_VERIFICATION:-true} \ --o:ssl.ssl_verification=${COLLABORA_SSL_VERIFICATION:-true} \
--o:ssl.termination=true \ --o:ssl.termination=true \
--o:welcome.enable=false \ --o:welcome.enable=false \
--o:net.frame_ancestors=${OC_DOMAIN:-cloud.opencloud.test} \ --o:net.frame_ancestors=${OC_DOMAIN:-cloud.opencloud.test}:${TRAEFIK_PORT_HTTPS:-443} \
--o:net.lok_allow.host[14]=${OC_DOMAIN-cloud.opencloud.test} \ --o:net.lok_allow.host[14]=${OC_DOMAIN-cloud.opencloud.test}:${TRAEFIK_PORT_HTTPS:-443} \
--o:home_mode.enable=${COLLABORA_HOME_MODE:-false} --o:home_mode.enable=${COLLABORA_HOME_MODE:-false}
username: ${COLLABORA_ADMIN_USER:-admin} username: ${COLLABORA_ADMIN_USER:-admin}
password: ${COLLABORA_ADMIN_PASSWORD:-admin} password: ${COLLABORA_ADMIN_PASSWORD:-admin}