Ces deux fichiers doivent être dans le même répertoire.
version: "3.9"
services:
nextcloud-db:
image: mariadb:latest
container_name: nextcloud-db
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
## Optionnel : supprimer cette ligne et les commentaires seulement si le conteneur Autoheal est utilisé
# healthcheck:
# test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p${ROOT_PASSWORD}' ]
# timeout: 20s
# retries: 10
volumes:
- ./mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${ROOT_PASSWORD}
- MYSQL_DATABASE=${NEXTCLOUDBDD}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
## Optionnel : supprimer cette ligne et les commentaires seulement si le conteneur Autoheal est utilisé
# labels:
# - autoheal=true
networks:
- traefik-network
nextcloud:
image: nextcloud:latest
deploy:
resources:
limits:
memory: 1G
restart: always
## Optionnel : supprimer cette ligne et les commentaires seulement si le conteneur Autoheal est utilisé
# healthcheck:
# test: curl --fail http://localhost:80 || exit 1
# interval: 1m
# timeout: 30s
# retries: 3
container_name: nextcloud
depends_on:
- nextcloud-db
environment:
- DB_TYPE=mysql
- DB_NAME=${NEXTCLOUDBDD}
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASSWORD}
- DB_HOST=nextcloud-db
volumes:
- ./data:/var/www/html
networks:
- traefik-network
labels:
# - autoheal=true # Optionnel : supprimer ce message et le commentaire en début de ligne seulement si le conteneur Autoheal est utilisé
- traefik.enable=true
- traefik.docker.network=traefik-network
- traefik.http.routers.nextcloud.entrypoints=http
- traefik.http.routers.nextcloud.rule=Host(`nextcloud.xxx.xxx`) # METTRE LE NDD ICI
- traefik.http.middlewares.nextcloud-https-redirect.redirectscheme.scheme=https
- traefik.http.routers.nextcloud.middlewares=nextcloud-https-redirect
- traefik.http.routers.nextcloud-secure.entrypoints=https
- traefik.http.routers.nextcloud-secure.rule=Host(`nextcloud.xxx.xxx`) # METTRE LE NDD ICI
- traefik.http.routers.nextcloud-secure.tls=true
volumes:
mysql:
data:
networks:
traefik-network:
external: true
ROOT_PASSWORD="XXXXXX"
NEXTCLOUDBDD="XXXXXX"
DB_USER="XXXXXX"
DB_PASSWORD="XXXXXX"