Añadido Nextcloud

This commit is contained in:
2026-06-09 14:50:24 +02:00
parent d939f59657
commit 03dc657cdc
2 changed files with 152 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
# Imagen de Nextcloud
# Elegir una versión concreta desde Docker Hub. (https://hub.docker.com/_/nextcloud/)
NEXT_VERSION=33.0.5-apache
# Dominio público de la instancia
NEXTCLOUD_DOMAIN=cloud.example.com
# Reverse proxy que publica Nextcloud
TRUSTED_PROXIES=192.168.1.10
# Base de datos
MYSQL_DATABASE=nextcloud
MYSQL_USER=nextcloud
MYSQL_PASSWORD=cambiar_esta_password
MYSQL_ROOT_PASSWORD=cambiar_esta_password_root
# Redis
REDIS_PASSWORD=cambiar_esta_password_redis
# PHP
PHP_MEMORY_LIMIT=2G
PHP_UPLOAD_LIMIT=100G
# Zona horaria
TZ=Europe/Madrid
+127
View File
@@ -0,0 +1,127 @@
services:
nextcloud:
image: nextcloud:${NEXT_VERSION}
container_name: Nextcloud
restart: unless-stopped
ports:
- "8040:80"
environment:
MYSQL_HOST: db
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
REDIS_HOST: redis
REDIS_HOST_PORT: 6379
REDIS_HOST_PASSWORD: ${REDIS_PASSWORD}
NEXTCLOUD_TRUSTED_DOMAINS: ${NEXTCLOUD_DOMAIN}
OVERWRITEHOST: ${NEXTCLOUD_DOMAIN}
OVERWRITEPROTOCOL: https
TRUSTED_PROXIES: ${TRUSTED_PROXIES}
PHP_MEMORY_LIMIT: ${PHP_MEMORY_LIMIT}
PHP_UPLOAD_LIMIT: ${PHP_UPLOAD_LIMIT}
TZ: ${TZ}
volumes:
- ./html:/var/www/html
- ./data:/var/www/html/data
# Montajes externos opcionales.
# Ajustar rutas según el almacenamiento real del host.
- /ruta/datos-externos-01:/mnt/datos-externos-01
- /ruta/datos-externos-02:/mnt/datos-externos-02
depends_on:
- db
- redis
networks:
- Nextcloud_NET
cron:
image: nextcloud:${NEXT_VERSION}
container_name: NextcloudCron
restart: unless-stopped
entrypoint: /cron.sh
environment:
MYSQL_HOST: db
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
REDIS_HOST: redis
REDIS_HOST_PORT: 6379
REDIS_HOST_PASSWORD: ${REDIS_PASSWORD}
TZ: ${TZ}
volumes:
- ./html:/var/www/html
- ./data:/var/www/html/data
# Deben coincidir con los montajes del contenedor principal.
- /ruta/datos-externos-01:/mnt/datos-externos-01
- /ruta/datos-externos-02:/mnt/datos-externos-02
depends_on:
- nextcloud
- db
- redis
networks:
- Nextcloud_NET
db:
image: mariadb:10.11
container_name: NextcloudDB
restart: unless-stopped
command:
- --transaction-isolation=READ-COMMITTED
- --log-bin=binlog
- --binlog-format=ROW
environment:
MARIADB_DATABASE: ${MYSQL_DATABASE}
MARIADB_USER: ${MYSQL_USER}
MARIADB_PASSWORD: ${MYSQL_PASSWORD}
MARIADB_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MARIADB_AUTO_UPGRADE: "1"
TZ: ${TZ}
volumes:
- ./db:/var/lib/mysql
networks:
- Nextcloud_NET
redis:
image: redis:7-alpine
container_name: NextcloudRedis
restart: unless-stopped
command:
- redis-server
- --requirepass
- ${REDIS_PASSWORD}
- --appendonly
- "yes"
volumes:
- ./redis:/data
networks:
- Nextcloud_NET
networks:
Nextcloud_NET:
name: Nextcloud_NET