Nextcloud¶
Plataforma de colaboración y sincronización de archivos auto-hospedada. Stack con MariaDB + Redis + Cron.
📁 Rutas y configs¶
| Qué | Dónde |
|---|---|
| Compose | /opt/docker/nextcloud/docker-compose.yml |
| Variables de entorno | /opt/docker/nextcloud/.env |
| App data | /opt/docker/nextcloud/app/ |
| DB data | /opt/docker/nextcloud/db/ |
| Redis data | /opt/docker/nextcloud/redis/ |
| Archivos de usuario | /mnt/hdd_2tb/nextcloud_data/ |
Contenedores: nextcloud-app, nextcloud-cron, nextcloud-db, nextcloud-redis Puerto: 8502
Compose¶
services:
db:
image: mariadb:10.11
container_name: nextcloud-db
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- /opt/docker/nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
networks:
- nextcloud-network
redis:
image: redis:alpine
container_name: nextcloud-redis
restart: unless-stopped
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- /opt/docker/nextcloud/redis:/data
networks:
- nextcloud-network
app:
image: nextcloud:stable-apache
container_name: nextcloud-app
restart: unless-stopped
ports:
- ${NEXTCLOUD_PORT}:80
volumes:
- /opt/docker/nextcloud/app:/var/www/html
- /mnt/hdd_2tb/nextcloud_data:/var/www/html/data
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER}
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
- NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_TRUSTED_DOMAINS}
- REDIS_HOST=redis
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT}
- PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT}
depends_on:
- db
- redis
networks:
- nextcloud-network
cron:
image: nextcloud:stable-apache
container_name: nextcloud-cron
restart: unless-stopped
volumes:
- /opt/docker/nextcloud/app:/var/www/html
- /mnt/hdd_2tb/nextcloud_data:/var/www/html/data
entrypoint: /cron.sh
depends_on:
- db
networks:
- nextcloud-network
networks:
nextcloud-network:
driver: bridge