docker-services/README.md

133 lines
2.8 KiB
Markdown
Raw Normal View History

2022-08-05 20:59:55 +02:00
Docker services
===============
The present role :
- installs Docker on host
- installs various services through containers and docker-compose manifest
2022-08-05 21:06:11 +02:00
It has been tested on :
2022-08-05 20:59:55 +02:00
- Debian 9
- Debian 10
- Debian 11
- Debian 12
2022-08-05 20:59:55 +02:00
2022-08-05 21:06:11 +02:00
Available services
------------------
- Traefik
- Watchtower
- Grafana
2022-09-16 11:33:42 +02:00
- Maildev
2022-11-16 12:04:24 +01:00
- cadvisor
2022-11-25 16:52:19 +01:00
- Redisinsight
- Gitlab
2023-10-26 14:42:56 +02:00
- [Wireguard](https://github.com/wg-easy/wg-easy)
2024-04-25 14:34:20 +02:00
- wikiJS
2022-08-05 21:06:11 +02:00
2022-08-05 20:59:55 +02:00
Role variables
---------------
| Variable | Type | Choices | Default | Comment |
|----------------------------------------------|---------|------------------------------------------------------------------------------------|-------------------------|-----------------|
Dependencies
------------
None.
Example Playbook
----------------
2022-08-05 21:06:11 +02:00
```
2022-08-05 20:59:55 +02:00
- hosts: example
ignore_errors: "{{ ansible_check_mode }}" # ignore errors only in check mode !
roles:
- { role: docker-services, tags: ['docker-services'] }
2022-08-05 21:06:11 +02:00
```
2022-08-05 20:59:55 +02:00
Example variables
-----------------
2022-08-05 21:06:11 +02:00
```
2022-08-05 20:59:55 +02:00
---
docker_services:
- traefik
- watchtower
- grafana
2022-09-16 11:33:42 +02:00
- maildev
2022-11-16 12:04:24 +01:00
- cadvisor
2022-11-25 16:52:19 +01:00
- redisinsight
- gitlab
2023-10-26 14:42:56 +02:00
- wireguard
2024-04-25 14:34:20 +02:00
- wikijs
2022-08-05 20:59:55 +02:00
2024-03-18 10:52:47 +01:00
watchtower_label_enable: true
traefik_domain: 'example.com'
traefik_letsencrypt_email: 'cert@example.com'
2023-03-01 18:29:00 +01:00
traefik_ipwhitelist: '42.42.42.42/32, 192.168.1.0/24, 127.0.0.1/32'
2024-03-18 10:52:47 +01:00
traefik_watchtower_enable: true
2022-09-16 11:33:42 +02:00
maildev_domain: 'maildev.example.com'
2022-11-25 16:52:19 +01:00
redisinsight_domain: 'redisinsight.example.com'
2022-11-25 16:52:19 +01:00
redisinsight_whitelist:
2023-10-26 14:42:56 +02:00
- 192.168.1.0/24
2024-04-25 14:34:20 +02:00
- 10.0.1.0/24
2024-03-18 10:52:47 +01:00
redisinsignt_watchtower_enable: true
gitlab_through_traefik: true
2024-06-13 11:59:29 +02:00
gitlab_image: gitlab/gitlab-ce
gitlab_version: 'latest'
gitlab_root_password: 'vault-this-thingy'
gitlab_domain: gitlab.example.com
gitlab_registry_domain: registry.example.com
2024-03-18 10:52:47 +01:00
gitlab_watchtower_enable: false
2023-10-26 14:42:56 +02:00
wireguard_version: 'latest'
# wg-easy webui access:
wireguard_domain: 'wg.example.com'
wireguard_password: 'please-vault-this-too'
2024-04-25 14:34:20 +02:00
wikijs_domain: 'wikijs.example.com'
wikijs_whitelist:
- 192.168.1.0/24
- 10.0.1.0/24
wikijs_db_root_password: 'vault-this-thingy'
wikijs_db_name: db_example
wikijs_db_user: db_user
wikijs_db_password: 'please-vault-this-too'
2024-06-26 11:09:58 +02:00
wikijs_custom_css:
- custom.css
2022-08-05 21:06:11 +02:00
```
2022-08-05 20:59:55 +02:00
TODO
----
2022-08-05 21:08:04 +02:00
- Traefik
- add variables for basic auth in templates
- choose between global auth vs service auth
- Grafana
- Handle providers
- Handle custom dashboards
- Permit anonymous login and user login
- OpenVPN
- needs to be implemented
- SSHPortal
- needs to be implemented
- Loki
- needs to be implemented
- Promtail
- needs to be implemented
2022-08-05 21:06:11 +02:00
2022-08-05 20:59:55 +02:00
License
-------
MIT Modern
Author Information
------------------
Written by Ludovic Cartier <ludovic.cartier@brainsys.io>