159 palabras
1 minuto
NextCloud con Docker

Enlaces#

Uso en Docker#

Env#

.env

Terminal window
# DB
MYSQL_ROOT_PASSWORD=your_root_password
MYSQL_PASSWORD=your_user_password
MYSQL_DATABASE=nextcloud
MYSQL_USER=nextcloud
# Rutas
NEXTCLOUD_DB_DIR=./db
NEXTCLOUD_DATA_DIR=./data
NEXTCLOUD_CONFIG_DIR=./config

Yaml#

docker-compose.yml

services:
db:
image: mariadb:10.6
container_name: nextcloud-db
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- ${NEXTCLOUD_DB_DIR}:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
redis:
image: redis:alpine
container_name: nextcloud-redis
restart: always
app:
image: nextcloud:latest
container_name: nextcloud-app
restart: always
ports:
- 8080:80
depends_on:
- db
- redis
volumes:
- ${NEXTCLOUD_DATA_DIR}:/var/www/html/data
- ${NEXTCLOUD_CONFIG_DIR}:/var/www/html/config
environment:
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_HOST=db
- REDIS_HOST=redis

Comandos extras

Terminal window
# Crear carpetas de sistema (donde está el .yml)
mkdir -p ./config ./db ./data
# Aplicar permisos del usuario www-data (ID 33 en Docker)
sudo chown -R 33:33 ./config ./db ./data
# Docker
docker exec -u 33 nextcloud-app php occ files:scan --all
Nota final

¡Gracias por terminar de leer este artículo! uwur

— El Capitán

¿Tienes alguna duda o te gustaría comentar algo sobre este artículo?

Puedes encontrarme en:

NextCloud con Docker
https://elcaza.github.io/posts/sysadmin/nextcloud/
Autor
El Capitán
Publicado el
2025-12-21
Licencia
CC BY-NC-SA 4.0