Compare commits

...

5 Commits

48 changed files with 92 additions and 208 deletions

View File

@ -1,6 +1,7 @@
# General # General
verbose: false # Prints well formated debug information verbose: false # Prints well formated debug information
top_domain: "localhost" top_domain: "localhost"
backups_folder_path: "/Backups/"
# Server Tact Variables # Server Tact Variables

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: receive {{ mail_interface_domain }} certificate - name: receive {{ mail_interface_domain }} certificate
command: certbot certonly --agree-tos --email {{ administrator_email }} --non-interactive --webroot -w /var/lib/letsencrypt/ -d {{ mail_interface_domain }} command: certbot certonly --agree-tos --email {{ administrator_email }} --non-interactive --webroot -w /var/lib/letsencrypt/ -d {{ mail_interface_domain }}

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,4 +1,11 @@
--- ---
- name: include docker vars
include_vars: vars/docker-database-service.yml.j2
- name: load docker compose dependencies
include_role:
name: docker-compose
- name: "include task certbot-matomo.yml" - name: "include task certbot-matomo.yml"
include_tasks: certbot-matomo.yml include_tasks: certbot-matomo.yml

View File

@ -1,2 +0,0 @@
dependencies:
- nginx-docker-reverse-proxy

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,3 +1,2 @@
dependencies: dependencies:
- docker-compose
- systemd-notifier - systemd-notifier

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -24,4 +24,4 @@ Configure the role by setting the required variables. These can be set in the pl
- `database_password`: The password for the database user. - `database_password`: The password for the database user.
## Contributing ## Contributing
Contributions to this project are welcome. Please submit issues and pull requests with your suggestions. Contributions to this project are welcome. Please submit issues and pull requests with your suggestions.

View File

@ -4,6 +4,11 @@
state: present state: present
when: run_once_docker_mariadb is not defined when: run_once_docker_mariadb is not defined
- name: Create a volume for MariaDB socket
docker_volume:
name: mariadb_socket
when: run_once_docker_mariadb is not defined
- name: install MariaDB - name: install MariaDB
docker_container: docker_container:
name: central-mariadb name: central-mariadb
@ -15,39 +20,41 @@
networks: networks:
- name: central_mariadb_network - name: central_mariadb_network
volumes: volumes:
- database:/var/lib/mysql - central_mariadb_database:/var/lib/mysql
published_ports: published_ports:
- "127.0.0.1:3306:3306" - "127.0.0.1:3306:3306" # can be that this will be removed if all applications use sockets
command: "--transaction-isolation=READ-COMMITTED --binlog-format=ROW" #for nextcloud command: "--transaction-isolation=READ-COMMITTED --binlog-format=ROW" #for nextcloud
when: run_once_docker_mariadb is not defined when: run_once_docker_mariadb is not defined
- name: wait for availability of mariadb
wait_for:
host: "127.0.0.1"
port: "3306"
delay: 0
timeout: 120
when: run_once_docker_mariadb is not defined
- name: install python-mysqlclient - name: install python-mysqlclient
pacman: pacman:
name: python-mysqlclient name: python-mysqlclient
state: present state: present
when: run_once_docker_mariadb is not defined when: run_once_docker_mariadb is not defined
- name: wait for database
wait_for:
host: 127.0.0.1
port: 3306
delay: 10
timeout: 300
when: run_once_docker_mariadb is not defined
- name: create database - name: create database
mysql_db: mysql_db:
name: "{{database_databasename}}" name: "{{ database_databasename }}"
state: present state: present
login_user: root login_user: root
login_password: "{{central_mariadb_root_password}}" login_password: "{{ central_mariadb_root_password }}"
login_host: 127.0.0.1 login_host: 127.0.0.1
login_port: 3306 login_port: 3306
- name: create database user - name: create database user
mysql_user: mysql_user:
name: "{{database_username}}" name: "{{database_username}}"
password: "{{database_password}}" password: "{{database_password}}"
host: "%"
priv: '{{database_databasename}}.*:ALL' priv: '{{database_databasename}}.*:ALL'
state: present state: present
login_user: root login_user: root

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include create-domains.yml" - name: "include create-domains.yml"
include_tasks: create-domains.yml include_tasks: create-domains.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -20,10 +20,10 @@
image: mariadb image: mariadb
environment: environment:
MYSQL_DATABASE: mediawiki MYSQL_DATABASE: mediawiki
MYSQL_ROOT_PASSWORD: "{{mediawiki_mysql_user_password}}" MYSQL_ROOT_PASSWORD: "{{mediawiki_database_password}}"
MYSQL_USER: mediawiki MYSQL_USER: mediawiki
MYSQL_PASSWORD: "{{mediawiki_mysql_user_password}}" MYSQL_PASSWORD: "{{mediawiki_database_password}}"
MARIADB_AUTO_UPGRADE: "1" MARIADB_AUTO_UPGRADE: "1"
volumes: volumes:
- mediawiki-database:/var/lib/mysql - database:/var/lib/mysql
restart: always restart: always

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks create-proxy-with-domain-replace.yml" - name: "include tasks create-proxy-with-domain-replace.yml"
include_tasks: create-proxy-with-domain-replace.yml include_tasks: create-proxy-with-domain-replace.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include task certbot-matomo.yml" - name: "include task certbot-matomo.yml"
include_tasks: certbot-matomo.yml include_tasks: certbot-matomo.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,12 +1,7 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include create-domains.yml" - name: "include create-domains.yml"
include_tasks: create-domains.yml include_tasks: create-domains.yml
loop: "{{ domains }}" loop: "{{ domains }}"

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,11 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -1,2 +0,0 @@
dependencies:
- docker-compose

View File

@ -1,12 +1,7 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml
loop: "{{ domains }}" loop: "{{ domains }}"

View File

@ -1,15 +1,6 @@
--- ---
- name: include docker vars - name: "include docker-compose-common.yml"
include_vars: vars/docker-database-service.yml.j2 include_tasks: docker-compose-common.yml
- name: load docker compose dependencies
include_role:
name: docker-compose
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool
- name: "include tasks nginx-docker-proxy-domain.yml" - name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml include_tasks: nginx-docker-proxy-domain.yml

View File

@ -12,13 +12,14 @@ services:
ports: ports:
- "127.0.0.1:{{http_port}}:80" - "127.0.0.1:{{http_port}}:80"
environment: environment:
YOURLS_DB_HOST: "database:3306" YOURLS_DB_HOST: "{{database_host}}"
YOURLS_DB_USER: "yourls" YOURLS_DB_USER: "{{database_username}}"
YOURLS_DB_PASS: "{{yourls_database_password}}" YOURLS_DB_PASS: "{{database_password}}"
YOURLS_DB_NAME: "yourls" YOURLS_DB_NAME: "{{database_databasename}}"
YOURLS_SITE: "https://{{domain}}" YOURLS_SITE: "https://{{domain}}"
YOURLS_USER: "{{yourls_user}}" YOURLS_USER: "{{yourls_user}}"
YOURLS_PASS: "{{yourls_user_password}}" YOURLS_PASS: "{{yourls_user_password}}"
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}

View File

@ -0,0 +1,11 @@
- name: include docker vars
include_vars: vars/docker-database-service.yml.j2
- name: load docker compose dependencies
include_role:
name: docker-compose
- name: create central database
include_role:
name: docker-{{database_type}}
when: enable_central_database | bool

View File

@ -5,4 +5,4 @@
condition: service_healthy condition: service_healthy
{% endif %} {% endif %}
redis: redis:
condition: service_healthy condition: service_healthy