Newer
Older
Ce dossier contient les fichiers nécessaires pour lancer une instance de Plume sur les serveurs de Picasoft.
Nous nous basons sur l'image officielle car le [Dockerfile](https://github.com/Plume-org/Plume/blob/master/Dockerfile) est bien écrit et léger.
En plus, nous ajoutons :
* Un système d'initialisation directement dans l'image (plutôt que d'avoir [à lancer des commandes manuellement](https://docs.joinplu.me/installation/with/docker))
* La détection de la mise à jour de l'image pour lancer les migrations
* Un entrypoint permettant d'attendre que le serveur de base de données soit prêt
* Des variables d'environnement qui ne devraient pas changer directement dans le Dockerfile
* Un HEALTHCHECK
### Mise à jour
Mettre à jour `VERSION` **et** `PLUME_VERSION` dans le [Dockerfile](./Dockerfile) et ajuster le tag de l'image construite dans le [docker-compose.yml](./docker-compose.yml)
Vérifier que les vulnérabilités de [clair-whitelist.yml](./clair-whitelist.yml) n'ont toujours pas de contre-mesures, sinon appliquez les contre mesures (une mise à jour peut tout à faire résoudre le problème, dans ce cas pensez à enlever les vulnérabilités).
### Configuration et lancement
Copier le fichier `plume.secrets.example` dans `plume.secrets` et `plume_db.secrets.example` dans `plume_db.secrets` et remplacez les valeurs par des mots de passe de production.
Lancer :
```bash
docker-compose up -d
```
Quentin Duchemin
committed
### Administration de l'instance
```bash
docker exec -it plume
```
Puis utilisation de l'[outil plm](https://docs.joinplu.me/CLI/).
### Évolution de l'image
Toutes les variables d'environnement ajoutées dans le [docker-compose.yml](./docker-compose.yml) à destination de Plume doivent être écrite dans le fichier `/app/.env` : cette tâche est réalisée dans le ficheir [entrypoint.sh](./entrypoint.sh).
On pourra vérifier les variables configurables dans Plume [sur le fichier d'exemple officiel](https://github.com/Plume-org/Plume/blob/master/.env.sample) (à adapter à la version courante).
Pour créer une deuxième instance, il suffira de rajouter un deuxième `plm instance new` dans le fichier [entrypoint.sh](./entrypoint.sh) et d'ajouter un `Host` Traefik dans le Docker Compose. Ainsi, on pourrait avoir une instance privée, où seul le compte Picasoft publie (`--private`), et une instance publique, pour tout le monde.
### Documentation générale
Vous pouvez trouver la documentation officielle ici : https://docs.joinplu.me/