--- version: "3.7" services: traefik: image: "traefik:v2.3" networks: default: aliases: - ${OCIS_DOMAIN:-ocis.owncloud.test} command: #- "--log.level=DEBUG" - "--certificatesResolvers.http.acme.email=${TRAEFIK_ACME_MAIL:-example@example.org}" - "--certificatesResolvers.http.acme.storage=/certs/acme.json" - "--certificatesResolvers.http.acme.httpChallenge.entryPoint=http" - "--api.dashboard=true" - "--entryPoints.http.address=:80" - "--entryPoints.https.address=:443" - "--providers.docker.endpoint=unix:///var/run/docker.sock" - "--providers.docker.exposedByDefault=false" - "--serversTransport.insecureSkipVerify=true" # oCIS uses self generated certificate ports: - "80:80" - "443:443" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "certs:/certs" labels: - "traefik.enable=true" - "traefik.http.routers.traefik.entrypoints=http" - "traefik.http.routers.traefik.rule=Host(`${TRAEFIK_DOMAIN:-traefik.owncloud.test}`)" - "traefik.http.middlewares.traefik-auth.basicauth.users=${TRAEFIK_BASIC_AUTH_USERS:-admin:$apr1$4vqie50r$YQAmQdtmz5n9rEALhxJ4l.}" # defaults to admin:admin - "traefik.http.middlewares.traefik-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.traefik.middlewares=traefik-https-redirect" - "traefik.http.routers.traefik-secure.entrypoints=https" - "traefik.http.routers.traefik-secure.rule=Host(`${TRAEFIK_DOMAIN:-traefik.owncloud.test}`)" - "traefik.http.routers.traefik-secure.middlewares=traefik-auth" - "traefik.http.routers.traefik-secure.tls=true" - "traefik.http.routers.traefik-secure.tls.certresolver=http" - "traefik.http.routers.traefik-secure.service=api@internal" restart: always ocis: image: owncloud/ocis:${OCIS_DOCKER_TAG:-latest} depends_on: - ldap-server environment: # CS3 users from ldap specific configuration PROXY_CONFIG_FILE: "/config/proxy-config.json" LDAP_FILTER: "(&(objectclass=inetOrgPerson)(objectClass=owncloud))" LDAP_URI: ldap://ldap-server:389 LDAP_BINDDN: "cn=admin,dc=owncloud,dc=com" LDAP_BINDPW: ${LDAP_ADMIN_PASSWORD:-admin} LDAP_BASEDN: "dc=owncloud,dc=com" LDAP_LOGIN_ATTRIBUTE: uid LDAP_UUID_ATTRIBUTE: "ownclouduuid" LDAP_UUID_ATTRIBUTE_TYPE: binary PROXY_ACCOUNT_BACKEND_TYPE: cs3 STORAGE_LDAP_HOSTNAME: ldap-server STORAGE_LDAP_PORT: 636 STORAGE_LDAP_BASE_DN: "dc=owncloud,dc=com" STORAGE_LDAP_BIND_DN: "cn=admin,dc=owncloud,dc=com" STORAGE_LDAP_BIND_PASSWORD: ${LDAP_ADMIN_PASSWORD:-admin} STORAGE_LDAP_LOGINFILTER: '(&(objectclass=inetOrgPerson)(objectclass=owncloud)(|(uid={{login}})(mail={{login}})))' STORAGE_LDAP_USERFILTER: '(&(objectclass=inetOrgPerson)(objectclass=owncloud)(|(ownclouduuid={{.OpaqueId}})(uid={{.OpaqueId}})))' STORAGE_LDAP_ATTRIBUTEFILTER: '(&(objectclass=owncloud)({{attr}}={{value}}))' STORAGE_LDAP_FINDFILTER: '(&(objectclass=owncloud)(|(uid={{query}}*)(cn={{query}}*)(displayname={{query}}*)(mail={{query}}*)(description={{query}}*)))' STORAGE_LDAP_GROUPFILTER: '(&(objectclass=groupOfUniqueNames)(objectclass=owncloud)(ownclouduuid={{.OpaqueId}}*))' # General ocis config OCIS_URL: https://${OCIS_DOMAIN:-ocis.owncloud.test} OCIS_LOG_LEVEL: ${OCIS_LOG_LEVEL:-error} # make oCIS less verbose PROXY_OIDC_INSECURE: "${INSECURE:-false}" # needed if Traefik is using self generated certificates volumes: - ./config/ocis/proxy-config.json:/config/proxy-config.json - ocis-data:/var/tmp/ocis labels: - "traefik.enable=true" - "traefik.http.routers.ocis.entrypoints=http" - "traefik.http.routers.ocis.rule=Host(`${OCIS_DOMAIN:-ocis.owncloud.test}`)" - "traefik.http.middlewares.ocis-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.ocis.middlewares=ocis-https-redirect" - "traefik.http.routers.ocis-secure.entrypoints=https" - "traefik.http.routers.ocis-secure.rule=Host(`${OCIS_DOMAIN:-ocis.owncloud.test}`)" - "traefik.http.routers.ocis-secure.tls=true" - "traefik.http.routers.ocis-secure.tls.certresolver=http" - "traefik.http.routers.ocis-secure.service=ocis" - "traefik.http.services.ocis.loadbalancer.server.port=9200" - "traefik.http.services.ocis.loadbalancer.server.scheme=https" restart: always ldap-server: image: osixia/openldap:latest command: --copy-service --loglevel debug environment: LDAP_TLS_VERIFY_CLIENT: never LDAP_DOMAIN: owncloud.com LDAP_ORGANISATION: ownCloud LDAP_ADMIN_PASSWORD: ${LDAP_ADMIN_PASSWORD:-admin} LDAP_RFC2307BIS_SCHEMA: "true" LDAP_REMOVE_CONFIG_AFTER_SETUP: "false" ports: - "127.0.0.1:389:389" - "127.0.0.1:636:636" volumes: - ./config/ldap/ldif:/container/service/slapd/assets/config/bootstrap/ldif/custom restart: always ldap-manager: image: osixia/phpldapadmin:0.9.0 environment: PHPLDAPADMIN_LDAP_HOSTS: ldap-server PHPLDAPADMIN_HTTPS: "false" labels: - "traefik.enable=true" - "traefik.http.routers.ldap-manager.entrypoints=http" - "traefik.http.routers.ldap-manager.rule=Host(`${LDAP_MANAGER_DOMAIN:-ldap.owncloud.test}`)" - "traefik.http.middlewares.ldap-manager-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.ldap-manager.middlewares=ldap-manager-https-redirect" - "traefik.http.routers.ldap-manager-secure.entrypoints=https" - "traefik.http.routers.ldap-manager-secure.rule=Host(`${LDAP_MANAGER_DOMAIN:-ldap.owncloud.test}`)" - "traefik.http.routers.ldap-manager-secure.tls=true" - "traefik.http.routers.ldap-manager-secure.tls.certresolver=http" - "traefik.http.routers.ldap-manager-secure.service=ldap-manager" - "traefik.http.services.ldap-manager.loadbalancer.server.port=80" restart: always volumes: certs: ocis-data: