Mettre en place Nextcloud Docker
Prérequis :
- Avoir une base de donnée
Postgresdéployé en local- Voir déploiement Postgres
miraceti.net
Il existe plusieurs manière de mettre en place Nextcloud Docker. Dans notre cas nous allons utiliser une base de données Postgres déjà déployé avec Docker
Pour accéder à notre base de données externe, nous devons importer le network lié à la base de donnée (dans notre cas le network est "bddnetwork").
De plus dans la variable d'environnement POSTGRES_HOST du conteneur de nextcloud on doit renseigner le nom du conteneur BDD externe (Dans notre cas "postgres")
Fichier docker-compose.yaml :
services:
nextcloud:
image: ${NEXTCLOUD_IMAGE_TAG}
container_name: nextcloud
networks:
- bddnetwork
ports:
- 8082:80
volumes:
- /path/to/data/nextcloud:/var/www/html
- /path/to/conf/nextcloud/config:/var/www/html/config
restart: unless-stopped
environment:
TZ: ${NEXTCLOUD_TIMEZONE}
POSTGRES_HOST: postgres
DB_PORT: 5432
POSTGRES_DB: ${NEXTCLOUD_DB_NAME}
POSTGRES_USER: ${NEXTCLOUD_DB_USER}
POSTGRES_PASSWORD: ${NEXTCLOUD_DB_PASSWORD}
REDIS_HOST: redis-nextcloud
REDIS_HOST_PORT: 6379
REDIS_HOST_PASSWORD: ${NEXTCLOUD_REDIS_PASSWORD}
# TRUSTED_PROXIES: ${NEXTCLOUD_HOSTNAME}
OVERWRITECLIURL: ${NEXTCLOUD_URL}
OVERWRITEPROTOCOL: https
OVERWRITEHOST: ${NEXTCLOUD_HOSTNAME}
# PHP_MEMORY_LIMIT: 2048M # If you want to overwritte Php Memory Limit
# PHP_UPLOAD_LIMIT: 2048M # If you want to overwritte Php Upload Limit
redis-nextcloud:
image: ${NEXTCLOUD_REDIS_IMAGE_TAG}
container_name: redis-nextcloud
command: ["redis-server", "--requirepass", "$NEXTCLOUD_REDIS_PASSWORD"]
volumes:
- /path/to/data/redis-nextcloud:/data
networks:
- bddnetwork
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 3
start_period: 60s
restart: unless-stopped
volumes:
nextcloud:
redis-nextcloud:
networks:
bddnetwork:
external: true
Fichier .env :
# Nextcloud Variables
NEXTCLOUD_REDIS_IMAGE_TAG=redis:7.2
NEXTCLOUD_IMAGE_TAG=nextcloud:29.0
NEXTCLOUD_REDIS_PASSWORD=5454fdsLJDSqd45
NEXTCLOUD_DB_NAME=nextclouddb
NEXTCLOUD_DB_USER=nextclouddbuser
NEXTCLOUD_DB_PASSWORD=q5s4dazelqksdjfga
NEXTCLOUD_URL=https://
NEXTCLOUD_HOSTNAME=
# Timezone inside container
# A list of these tz database names can be looked up at Wikipedia
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
NEXTCLOUD_TIMEZONE=Europe/Paris