Aller au contenu

Owncloud#

Owncloud est un service de stockage de fichiers. On peut trouver sa documentation ici.

Une instance est accessible ici : cloud.tfjm.org.

Installation#

Owncloud s'installe directement depuis son image officielle owncloud/server. Sa configuration initiale est simple :

  owncloud:
    image: owncloud/server
    links:
      - database
    volumes:
      - /srv/data/owncloud/data:/mnt/data/files
      - /srv/data/owncloud/apps:/mnt/data/custom
      - /srv/data/owncloud/config:/mnt/data/config
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - /srv/secrets/owncloud.env
    restart: always
    labels:
      - "traefik.http.routers.owncloud.rule=Host(`cloud.example.com`)"
      - "traefik.http.routers.owncloud.entrypoints=websecure"
      - "traefik.http.routers.owncloud.tls.certresolver=mytlschallenge"
      - "traefik.http.services.owncloud.loadbalancer.server.port=8080"

Le fichier /srv/secrets/owncloud.env contenant :

OWNCLOUD_DOMAIN=cloud.example.com
OWNCLOUD_DB_TYPE=
OWNCLOUD_DB_NAME=
OWNCLOUD_DB_PREFIX=oc_
OWNCLOUD_DB_USERNAME=
OWNCLOUD_DB_PASSWORD=
OWNCLOUD_DB_HOST=database
OWNCLOUD_MYSQL_UTF8MB4=true
OWNCLOUD_REDIS_ENABLED=false
OWNCLOUD_VOLUME_FILES=/mnt/data/files

Il suffit alors de paramétrer l'accès à la base de données.

Les volumes doivent appartenir à www-data:root, mais normalement les permissions s'auto-gèrent.

Le fichier de configuration s'auto-génère à partir des variables d'environnement, il n'y a pas à le toucher, mais s'il est bon de le préserver dans un volume afin de ne pas perdre des identifiants secrets.

Une fois le service lancé (docker-compose up -d owncloud), il faut se connecter à la page Web pour la configuration initiale avec la création du premier compte.

Mise à jour#

Par prudence, une mise à jour des fichiers et de la base de données s'impose. Il est également recommandé de désactiver toutes les applications tierces.

Ensuite, il suffit de mettre à jour l'image :

docker-compose pull owncloud
docker-compose up -d owncloud

Puis d'exécuter le script de mise à jour post installation :

docker-compose exec --user www-data owncloud php occ upgrade

C'est exactement ce que fait le script placé dans /srv/upgrade/owncloud sur le serveur.

Vérifiez ensuite que le service fonctionne à nouveau correctement. Vous pouvez ensuite réactiver les applications tierces.

Interface en ligne de commande#

Owncloud dispose d'un programme nommé oc qui permet une interaction en ligne de commande. Pour cela, il suffit de lancer un shell sous l'utilisateur www-data :

docker-compose exec -u www-data owncloud bash

Le fichier occ se trouve dans /var/www/owncloud, qui est le répertoire courant. Il suffit alors d'appeler php occ list ou ./occ list pour voir l'ensemble des commandes disponibles.

Une commande bien pratique par exemple est la commande files:scan :

./occ files:scan <user>

Cela permet d'analyser tous les fichiers possédés par <user>, situés dans /mnt/data/files/<user>/files et de les synchroniser avec la base de données pour les rendre accessibles depuis l'interface Web.


Dernière mise à jour: 11 juillet 2020