Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | Cloud personnel, utilisé pour les notes et la veille technologique. | ||
| 2 | |||
| 3 | == Architecture == | ||
| 4 | |||
| 5 | |=Conteneur|=Rôle | ||
| 6 | |nextcloud|Application (image LinuxServer.io) | ||
| 7 | |nextcloud_db|Base MariaDB (image LinuxServer.io) | ||
| 8 | |||
| 9 | == Variables d'environnement == | ||
| 10 | |||
| 11 | |=Variable|=Rôle | ||
| 12 | |##PUID##, ##PGID##|Utilisateur propriétaire des fichiers | ||
| 13 | |##TZ##|Fuseau horaire | ||
| 14 | |##PORT##|Port d'accès direct en local | ||
| 15 | |##MYSQL_ROOT_PASSWORD##|Mot de passe root de la base | ||
| 16 | |##DATABASE_PASSWORD##|Mot de passe de l'utilisateur ##nextcloud## | ||
| 17 | |||
| 18 | == Stack == | ||
| 19 | |||
| 20 | {{code language="yaml"}} | ||
| 21 | services: | ||
| 22 | nextcloud: | ||
| 23 | image: linuxserver/nextcloud:latest | ||
| 24 | container_name: nextcloud | ||
| 25 | environment: | ||
| 26 | - PUID=${PUID} | ||
| 27 | - PGID=${PGID} | ||
| 28 | - TZ=${TZ} | ||
| 29 | volumes: | ||
| 30 | - <APPDATA>/Nextcloud/Config:/config | ||
| 31 | - <APPDATA>/Nextcloud/Data:/data | ||
| 32 | ports: | ||
| 33 | - ${PORT}:443 | ||
| 34 | restart: unless-stopped | ||
| 35 | depends_on: | ||
| 36 | - nextcloud_db | ||
| 37 | networks: | ||
| 38 | - default | ||
| 39 | - proxy | ||
| 40 | |||
| 41 | nextcloud_db: | ||
| 42 | image: linuxserver/mariadb:latest | ||
| 43 | container_name: nextcloud_db | ||
| 44 | labels: | ||
| 45 | - com.centurylinklabs.watchtower.enable=false | ||
| 46 | environment: | ||
| 47 | - PUID=${PUID} | ||
| 48 | - PGID=${PGID} | ||
| 49 | - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} | ||
| 50 | - TZ=${TZ} | ||
| 51 | - MYSQL_DATABASE=nextcloud_db | ||
| 52 | - MYSQL_USER=nextcloud | ||
| 53 | - MYSQL_PASSWORD=${DATABASE_PASSWORD} | ||
| 54 | volumes: | ||
| 55 | - <APPDATA>/Nextcloud/DB:/config | ||
| 56 | restart: unless-stopped | ||
| 57 | networks: | ||
| 58 | - default | ||
| 59 | |||
| 60 | networks: | ||
| 61 | proxy: | ||
| 62 | external: true | ||
| 63 | {{/code}} | ||
| 64 | |||
| 65 | La base est exclue de la mise à jour automatique : son image est en ##latest## et pourrait changer de version majeure sans prévenir. | ||
| 66 | |||
| 67 | == Commandes occ == | ||
| 68 | |||
| 69 | L'image LinuxServer.io fournit un raccourci ##occ##, qui s'exécute avec le bon utilisateur (##abc##) : | ||
| 70 | |||
| 71 | {{code language="bash"}} | ||
| 72 | docker exec -it nextcloud occ status # version, besoin de mise à niveau | ||
| 73 | docker exec -it nextcloud occ upgrade # après une mise à jour de l'image si demandé | ||
| 74 | docker exec -it nextcloud occ app:update --all # mettre à jour les applications | ||
| 75 | docker exec -it nextcloud occ db:add-missing-indices # après l'avertissement « index manquants » | ||
| 76 | docker exec -it nextcloud occ maintenance:mode --on # avant une opération lourde (--off ensuite) | ||
| 77 | docker exec -it nextcloud occ files:scan --all # fichiers ajoutés hors de Nextcloud | ||
| 78 | {{/code}} | ||
| 79 | |||
| 80 | == Sécurité == | ||
| 81 | |||
| 82 | Double authentification TOTP activée (application ##twofactor_totp##). | ||
| 83 | |||
| 84 | == Sauvegarde == | ||
| 85 | |||
| 86 | * Base : dump SQL par l'utilisateur applicatif, fait par le script de [[Sauvegarde>>Wiki Batcave John.Infrastructure.Sauvegarde.WebHome]]. Les fichiers bruts ##Nextcloud/DB## sont exclus. | ||
| 87 | * Fichiers : ##<APPDATA>/Nextcloud/Data## et ##Config##, sauvegardés tels quels. |