Files
docker-compose/QNAP/owncloud/docker-compose.yml
2025-08-20 14:16:37 -04:00

60 lines
2.5 KiB
YAML

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