Nextcloud dockerisé

On va configurer le système Nextcloud comme un conteneur docker avec SSL généré automatiquement  (par Let’s encrypt) et renouvelé automatiquement par notre proxy Web nginx.

Prérequis

Pour utiliser ce fichier docker-compose (docker-compose.yml) on doit avoir installé:

  1. docker (https://docs.docker.com/engine/installation/)
  2. docker-compose (https://docs.docker.com/compose/install/)

Construction de l’image

Cette image est basée sur l’image officielle de nextcloud du docker hub.

Elle tourne avec un proxy nginx et Let´s Encrypt.

Le Dockerfile :
FROM nextcloud:latest

RUN apt-get update && apt-get install -y \
    supervisor \
  && rm -rf /var/lib/apt/lists/* \
  && mkdir /var/log/supervisord /var/run/supervisord

COPY supervisord.conf /etc/supervisor/supervisord.conf

CMD ["/usr/bin/supervisord"]
Le fichier supervisord

Pour que nextcloud utilise les tâches cron.

[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
pidfile=/var/run/supervisord/supervisord.pid
childlogdir=/var/log/supervisord/
logfile_maxbytes=50MB                           ; maximum size of logfile before rotation
logfile_backups=10                              ; number of backed up logfiles
loglevel=error

[program:apache2]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=apache2-foreground

[program:cron]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/cron.sh

On construit l’image avec :

 

Comment l’utiliser

1. Cloner ce repository github

git clone https://github.com/nicoroud/docker-nexcloud.git

2. Modifier le fichier .env selon les besoins

# Configuration for Nextcloud using NGINX WebProxy
#

# Containers name
DB_CONTAINER_NAME=cloud-db
APP_CONTAINER_NAME=cloud-app

# Mysql settings
MYSQL_HOST=cloud-db
MYSQL_DATABASE=cloud_db
MYSQL_ROOT_PASSWORD=myrootpassword
MYSQL_USER=mysqluser
MYSQL_PASSWORD=mysqlpassword

# Nextcloud settings
NEXTCLOUD_ADMIN_USER=admin
NEXTCLOUD_ADMIN_PASSWORD=password

# Nextcloud data path
#NEXTCLOUD_DATA_DIR=/path/to/nextcloud
NEXTCLOUD_DATA_DIR=/var/www/html/data
NEXTCLOUD_TABLE_PREFIX=

# Nextcloud local data path
LOCAL_DB_DIR=/path/to/nextcloud/db
LOCAL_DATA_DIR=/path/to/nextcloud/cloud
LOCAL_CONF_DIR=/path/to/nextcloud/cloud/config
LOCAL_APPS_DIR=/path/to/nextcloud/cloud/apps

# Host
VIRTUAL_HOST=cloud.example.com
LETSENCRYPT_HOST=cloud.example.com
LETSENCRYPT_EMAIL=admin@example.com

#
# Network name
#
# Your container app must use a network conencted to your webproxy
# https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion
#
NETWORK=webproxy

 


**3. Lancement** ```bash docker-compose up -d

Au premier lancement, la commande docker-compose up -d va d’abord télécharger l’image depuis le (hub docker)[https://hub.docker.com/r/nicoroud/docker-nextcloud/].

Ensuite, le conteneur sera créé (si les conteneurs nginx sont bien lancés).

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.