version: '3.8' services: db: image: mariadb:10.6 container_name: nextcloud_db restart: unless-stopped networks: - nextcloud_network volumes: - nextcloud_db:/var/lib/mysql environment: - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} app: image: nextcloud:latest container_name: nextcloud_app restart: unless-stopped ports: - "6900:80" # HTTP (內網) - "6950:443" # HTTPS (供反向代理用,可透過 cert 處理) networks: - nextcloud_network - webproxy volumes: - /mnt/data/External/Nextcloud_files:/var/www/html/data - nextcloud_data:/var/www/html/ environment: - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db - NEXTCLOUD_ADMIN_USER=karylab - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD} depends_on: - db volumes: nextcloud_db: nextcloud_data: networks: nextcloud_network: driver: bridge webproxy: external: true