Saltar a contenido

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