version: '3.8' services: owncloud: image: owncloud/server:latest container_name: owncloud restart: unless-stopped networks: - owncloud-net - proxy # ⚠️ UPDATE this to your Traefik network name if different depends_on: - mariadb volumes: - /share/Media/container-station-data/owncloud/data:/mnt/data environment: - OWNCLOUD_DOMAIN=owncloud.kaspers.us # ⚠️ UPDATE to your domain - OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_HOST=mariadb - OWNCLOUD_DB_NAME=ownclouddb - OWNCLOUD_DB_USERNAME=oc_db_user - OWNCLOUD_DB_PASSWORD=ybr7tey0pxn1CWA.wfd # ⚠️ SET a strong password - OWNCLOUD_ADMIN_USERNAME=admin # ⚠️ UPDATE admin user (optional) - OWNCLOUD_ADMIN_PASSWORD=johnwayne21 # ⚠️ SET a strong admin password - TZ=America/New_York - OWNCLOUD_MAX_UPLOAD=20G # sets upload_max_filesize & post_max_size - OWNCLOUD_PHP_MEMORY_LIMIT=1G # optional; for big uploads/antivirus apps - OWNCLOUD_MAX_INPUT_TIME=3600 labels: - "traefik.enable=true" - "traefik.http.routers.owncloud.rule=Host(`owncloud.kaspers.us`)" # ⚠️ UPDATE to your domain - "traefik.http.routers.owncloud.entrypoints=websecure" # Assumes your HTTP entrypoint is 'web' - "traefik.http.services.owncloud.loadbalancer.server.port=8080" - "traefik.docker.network=proxy" # ⚠️ UPDATE this to your Traefik network name if different - "traefik.constraint=proxy-public" - "traefik.http.routers.owncloud.tls=true" - "traefik.http.routers.owncloud.tls.certresolver=letsencrypt" - "traefik.http.routers.owncloud.middlewares=openid-rewrite@docker" - "traefik.http.middlewares.openid-rewrite.replacepathregex.regex=^/.well-known/openid-configuration$$" - "traefik.http.middlewares.openid-rewrite.replacepathregex.replacement=/index.php/apps/openidconnect/config" mariadb: image: mariadb:10.6 # Using a specific version is more stable container_name: owncloud_db restart: unless-stopped networks: - owncloud-net volumes: - /share/Media/container-station-data/owncloud/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=FrankAndBeans # ⚠️ SET a strong root password - MYSQL_DATABASE=ownclouddb - MYSQL_USER=oc_db_user - MYSQL_PASSWORD=ybr7tey0pxn1CWA.wfd # ⚠️ MUST MATCH the password above - TZ=America/New_York # ⚠️ UPDATE to your timezone networks: owncloud-net: driver: bridge proxy: external: true