Commit initial

This commit is contained in:
Navas 2024-02-23 21:23:06 +01:00
commit b8a138b80a
6 changed files with 125 additions and 0 deletions

38
README.md Normal file
View file

@ -0,0 +1,38 @@
# Role : docker_wekan
## Services fournis
Installation de wekan sur un serveur docker_host
## Variables
```yaml
docker_wekan_fqdn: wekan.example.com
docker_wekan_version: wekanteam/wekan:v7.33
docker_wekan_data_dir: /data1
docker_wekan_service_id: wekan_example_com
docker_wekan_custom_env: |
- WITH_API=true
- RICHER_CARD_COMMENT_EDITOR=true
- BIGEVENTS_PATTERN=NONE
- CARD_OPENED_WEBHOOK_ENABLED=false
- MAIL_URL=smtp://mail.axamplecom:587
- MAIL_FROM=Wekan Notifications <wekan@example.com>
- MAIL_SERVICE_USER=wekan@example.com
- MAIL_SERVICE_PASSWORD=lemotmotdepasse
```
| Option | Valeur par défaut | Description |
|-------------------------------|-----------------------|-------------------------------------------------------------------------------------------|
| docker_wekan_fqdn | | Le nom de domaine pour lequel le service wekan répond |
| docker_wekan_version | | La version de l'image docker wekan |
| docker_wekan_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service |
| docker_wekan_service_id | | Le nom de service souhaité : conditionne le nommage des volumes et le routage par traefik |
| docker_wekan_custom_env | cf. defaults/main.yml | Ensemble de variables d'environnement qui peuvent être passées à Wekan pour le configurer |
## Premier démarrage dans wekan
* Le premier utilisateur enregistré sera administrateur de l'instance wekan.
* Depuis l'interface administrateur, envisager de désactiver l'auto inscription (paramètres/inscription).

5
defaults/main.yml Normal file
View file

@ -0,0 +1,5 @@
docker_wekan_custom_env: |
- WITH_API=true
- RICHER_CARD_COMMENT_EDITOR=true
- BIGEVENTS_PATTERN=NONE
- CARD_OPENED_WEBHOOK_ENABLED=false

5
handlers/main.yml Normal file
View file

@ -0,0 +1,5 @@
- name: docker-compose-up
shell: |
docker compose up -d
args:
chdir: /opt/{{ docker_wekan_service_id }}/

8
meta/main.yml Normal file
View file

@ -0,0 +1,8 @@
galaxy_info:
author: Olivier Navas
description: Modèle d'installation Libretic pour wekan
license: GPL-3.0-only
min_ansible_version: 2.9
galaxy_tags: []
dependencies: []

18
tasks/main.yml Normal file
View file

@ -0,0 +1,18 @@
- name: docker directory
file:
path: /opt/{{ docker_wekan_service_id }}/
state: directory
- name: docker data directory
file:
path: "{{ docker_wekan_data_dir }}/{{ docker_wekan_service_id }}/"
state: directory
register: _datadir
- name: prepare docker-compose.yml and files
template:
src: "{{ item }}"
dest: /opt/{{ docker_wekan_service_id }}/
with_items:
- docker-compose.yml
notify: docker-compose-up

View file

@ -0,0 +1,51 @@
# {{ ansible_managed }}
version: '3.1'
services:
wekan:
image: {{ docker_wekan_image_version }}
restart: always
environment:
- WRITABLE_PATH=/data
- MONGO_URL=mongodb://db:27017/wekan
- ROOT_URL=https://{{ docker_wekan_fqdn }}
- BROWSER_POLICY_ENABLED=true
{{ docker_wekan_custom_env | indent(6, False) }}
volumes:
- /etc/localtime:/etc/localtime:ro
- {{ docker_wekan_data_dir }}/{{ docker_wekan_service_id }}/wekan-files:/data
labels:
traefik.enable: "true"
traefik.docker.network: "traefik"
traefik.http.routers.{{ docker_wekan_service_id }}.entrypoints: "web"
traefik.http.routers.{{ docker_wekan_service_id }}.rule: "Host(`{{ docker_wekan_fqdn }}`)"
traefik.http.services.{{ docker_wekan_service_id }}.loadbalancer.server.port: "8080"
networks:
- traefik
- wekan
depends_on:
- db
db:
image: mongo:6
restart: always
# command: mongod --oplogSize 128
# Syslog: mongod --syslog --oplogSize 128 --quiet
# Disable MongoDB logs:
command: mongod --logpath /dev/null --oplogSize 128 --quiet
networks:
- wekan
expose:
- 27017
volumes:
- /etc/localtime:/etc/localtime:ro
- {{ docker_wekan_data_dir }}/{{ docker_wekan_service_id }}/wekan-db:/data/db
- {{ docker_wekan_data_dir }}/{{ docker_wekan_service_id }}/wekan-db-dump:/dump
networks:
traefik:
external: true
wekan:
internal: true