diff --git a/README.md b/README.md index f3ee893..348c871 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien - [Directus](./directus) : Permet d'administrer une base de données - [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel +- [listmonk](./listmonk) : Gestionnaire de listes de diffusion et de newsletter - [Mobilizon](./mobilizon): Permet l'organisation d'évènements et de gestion de groupes - [Nextcloud](./nextcloud) : Site d'hébergement de fichiers et une plateforme de collaboration - [Plausible](./plausible) : Plausible est une plateforme d'analyse Web légère et open source diff --git a/listmonk/.env b/listmonk/.env new file mode 100644 index 0000000..0dea747 --- /dev/null +++ b/listmonk/.env @@ -0,0 +1,26 @@ +######## +# DOCKER + +#DOCKER_CONTEXT= +#DOCKER_HOST= +SERVICES_DIR=.. +COMPOSE_FILE=${SERVICES_DIR}/listmonk/docker-compose.yml:${SERVICES_DIR}/postgres/docker-compose.yml +#COMPOSE_PROJECT_NAME= + +## APP + +LISTMONK_DOMAIN=localhost +LISTMONK_ADMIN_USERNAME= +LISTMONK_ADMIN_PASSWORD= +#LISTMONK_CONTAINER_NAME=listmonk +#LISTMONK_VOLUME_NAME=listmonk +#LISTMONK_IMAGE=listmonk/listmonk:v2.3.0 + +## POSTGRES + +#POSTGRES_VOLUME_NAME= +#POSTGRES_CONTAINER_NAME= +#POSTGRES_IMAGE= +POSTGRES_USER=listmonk +POSTGRES_PASSWORD=listmonk +POSTGRES_DB=listmonk diff --git a/listmonk/README.md b/listmonk/README.md new file mode 100644 index 0000000..50c403a --- /dev/null +++ b/listmonk/README.md @@ -0,0 +1,37 @@ +# listmonk + +> Gestionnaire de listes de diffusion et de newsletter + +## Documentation + +listmonk ne gère actuellement pas le multicompte. + +Pour utiliser avec une configuration avec les variables d'environnements il faut la commande suivante : + +``` +command: [sh, -c, "./listmonk --config ''"] +``` + +Pour l'installation il faut lancer la commande suivante pour initialiser la base de donnée : + +``` +command: [sh, -c, "yes | ./listmonk --install --config '' && ./listmonk --config ''"] +``` + +Pour faire les mise à jour et ainsi migrer la base de donnée : + +``` +command: [sh, -c, "yes | ./listmonk --upgrade --config '' && ./listmonk --config ''"] +``` + +## Liens + +- [Site Officiel][site] +- [Documentation][documentation] +- [Code source][source] +- [Docker Hub][dockerhub] + +[site]: https://listmonk.app/ +[source]: https://github.com/knadh/listmonk +[documentation]: https://listmonk.app/docs/ +[dockerhub]: https://hub.docker.com/r/listmonk/listmonk diff --git a/listmonk/docker-compose.yml b/listmonk/docker-compose.yml new file mode 100644 index 0000000..9732d9a --- /dev/null +++ b/listmonk/docker-compose.yml @@ -0,0 +1,40 @@ +version: "3.8" + +networks: + default: + name: ${TRAEFIK_NETWORK_NAME:-traefik} + +volumes: + listmonk: + name: ${LISTMONK_VOLUME_NAME:-listmonk} + +services: + listmonk: + container_name: ${LISTMONK_CONTAINER_NAME:-listmonk} + image: ${LISTMONK_IMAGE:-listmonk/listmonk:v2.3.0} + restart: always + #command: [sh, -c, "yes | ./listmonk --install --config '' && ./listmonk --config ''"] + #command: [sh, -c, "yes | ./listmonk --upgrade --config '' && ./listmonk --config ''"] + command: [sh, -c, "./listmonk --config ''"] + depends_on: + - postgres + environment: + LISTMONK_app__address: 0.0.0.0:9000 + LISTMONK_app__admin_username: ${LISTMONK_ADMIN_USERNAME:?err} + LISTMONK_app__admin_password: ${LISTMONK_ADMIN_PASSWORD:?err} + LISTMONK_db__host: ${POSTGRES_CONTAINER_NAME:?err} + LISTMONK_db__port: 5432 + LISTMONK_db__user: ${POSTGRES_USER:?err} + LISTMONK_db__password: ${POSTGRES_PASSWORD:?err} + LISTMONK_db__database: ${POSTGRES_DB:?err} + LISTMONK_db__ssl_mode: disable + TZ: Europe/Paris + volumes: + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + - listmonk:/listmonk/uploads + labels: + - traefik.enable=true + - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-listmonk}.rule=Host(`${LISTMONK_DOMAIN:?err}`) + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-listmonk}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web}