ok... ok... I'll add it to git...
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
version: '3.8'
|
||||
|
||||
# Nextcloud - Cloud Storage with Database and Redis
|
||||
# Backlog: Application Deployment
|
||||
# Ports: 8082
|
||||
# GPU: No
|
||||
# Storage: SSD (config/database), HDD (user data)
|
||||
|
||||
services:
|
||||
nextcloud-db:
|
||||
image: mariadb:10.11
|
||||
container_name: nextcloud-db
|
||||
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
# Database on SSD for performance
|
||||
- /home/jpmschweitzer/docker-data/nextcloud/db:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=xDgobrmzXOl+GgvBdXC9+z5v0OrWb29t
|
||||
- MYSQL_PASSWORD=maF91Sw9is6Zb57JVxU/gPGP8O/DsxFq
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
- TZ=Europe/Amsterdam
|
||||
networks:
|
||||
- nextcloud-network
|
||||
|
||||
nextcloud-redis:
|
||||
image: redis:alpine
|
||||
container_name: nextcloud-redis
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Europe/Amsterdam
|
||||
networks:
|
||||
- nextcloud-network
|
||||
|
||||
nextcloud:
|
||||
image: nextcloud:stable
|
||||
container_name: nextcloud
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8082:80"
|
||||
volumes:
|
||||
# App config on SSD
|
||||
- /home/jpmschweitzer/docker-data/nextcloud/config:/var/www/html
|
||||
|
||||
# User data on HDD (large files)
|
||||
- /mnt/media/nextcloud/data:/var/www/html/data
|
||||
environment:
|
||||
- MYSQL_HOST=nextcloud-db
|
||||
- MYSQL_PASSWORD=maF91Sw9is6Zb57JVxU/gPGP8O/DsxFq
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
- REDIS_HOST=nextcloud-redis
|
||||
- TZ=Europe/Amsterdam
|
||||
depends_on:
|
||||
- nextcloud-db
|
||||
- nextcloud-redis
|
||||
networks:
|
||||
- nextcloud-network
|
||||
|
||||
networks:
|
||||
nextcloud-network:
|
||||
driver: bridge
|
||||
|
||||
# ⚠️ SECURITY WARNING:
|
||||
# Change MYSQL_ROOT_PASSWORD and MYSQL_PASSWORD before deploying!
|
||||
# Use strong, unique passwords.
|
||||
#
|
||||
# After Deployment:
|
||||
# 1. Access http://localhost:8082
|
||||
# 2. First-time setup:
|
||||
# - Create admin account (strong password!)
|
||||
# - Data folder: /var/www/html/data (default)
|
||||
# - Database: MySQL/MariaDB
|
||||
# - Database user: nextcloud
|
||||
# - Database password: (the one you set above)
|
||||
# - Database name: nextcloud
|
||||
# - Database host: nextcloud-db
|
||||
# 3. Wait for installation (may take a few minutes)
|
||||
# 4. Configure trusted domains:
|
||||
# docker exec -u www-data nextcloud php occ config:system:set trusted_domains 1 --value=tower-of-joy
|
||||
# docker exec -u www-data nextcloud php occ config:system:set trusted_domains 2 --value=192.168.x.x
|
||||
#
|
||||
# Optimization (recommended):
|
||||
# docker exec -u www-data nextcloud php occ db:add-missing-indices
|
||||
# docker exec -u www-data nextcloud php occ db:convert-filecache-bigint
|
||||
# docker exec -u www-data nextcloud php occ background:cron
|
||||
#
|
||||
# Add cron job for background tasks:
|
||||
# echo "*/5 * * * * docker exec -u www-data nextcloud php cron.php" | sudo tee -a /etc/crontab
|
||||
#
|
||||
# Features:
|
||||
# - File sync and share
|
||||
# - Calendar and contacts
|
||||
# - Collaborative editing
|
||||
# - Photo gallery
|
||||
# - Mobile apps (iOS/Android)
|
||||
# - Desktop sync client
|
||||
# - External storage support
|
||||
Reference in New Issue
Block a user