Compare commits

..

2 Commits

93 changed files with 277 additions and 440 deletions

View File

@ -43,10 +43,10 @@
- name: seed database values - name: seed database values
command: command:
cmd: "python database_entry_seeder.py databases.csv {{database_instance}} {{database_host}} {{database_databasename}} {{database_username}} {{database_password}}" cmd: "python database_entry_seeder.py databases.csv {{docker_compose_project_name}} {{database_host}} {{database_databasename}} {{database_username}} {{database_password}}"
chdir: "{{backup_docker_to_local_folder}}" chdir: "{{backup_docker_to_local_folder}}"
when: > when: >
database_instance is defined or docker_compose_project_name is defined or
database_host is defined or database_host is defined or
database_databasename is defined or database_databasename is defined or
database_username is defined or database_username is defined or
@ -59,7 +59,7 @@
owner: root owner: root
group: root group: root
when: > when: >
(database_instance is defined or (docker_compose_project_name is defined or
database_host is defined or database_host is defined or
database_databasename is defined or database_databasename is defined or
database_username is defined or database_username is defined or

View File

@ -18,6 +18,8 @@ This guide details the process of setting up Akaunting, a free and online accoun
## Installation Steps ## Installation Steps
@ATTENTION Variable ```#AKAUNTING_SETUP: true``` needs to be set
### New Manual Setup ### New Manual Setup
1. **Navigate to Docker Compose Directory**: Change to the directory containing your Docker Compose files for Akaunting. 1. **Navigate to Docker Compose Directory**: Change to the directory containing your Docker Compose files for Akaunting.

View File

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

View File

@ -2,43 +2,13 @@
- 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
- name: register directory - name: "include tasks update-repository-with-docker-compose.yml"
stat: include_tasks: update-repository-with-docker-compose.yml
path: "{{docker_compose_instance_directory}}"
register: docker_compose_instance_directory_register
- name: checkout repository
ansible.builtin.shell: git checkout .
become: true
args:
chdir: "{{docker_compose_instance_directory}}"
when: docker_compose_instance_directory_register.stat.exists
- name: pull docker repository
git:
repo: "https://github.com/akaunting/docker.git"
dest: "{{docker_compose_instance_directory}}"
update: yes
notify: setup akaunting
become: true
register: git_result
ignore_errors: true
- name: Warn if repo is not reachable
debug:
msg: "Warning: Repository is not reachable."
when: git_result.failed
- name: set akaunting version
ansible.builtin.shell: find . -type f -exec sed -i 's/akaunting:latest/akaunting:{{version_akaunting}}/' {} + && find . -type f -exec sed -i 's/version=latest/version={{version_akaunting}}/' {} +
become: true
args:
chdir: "{{docker_compose_instance_directory}}"
- name: configure db.env - name: configure db.env
template: src=db.env.j2 dest={{docker_compose_instance_directory}}/env/db.env template: src=db.env.j2 dest={{docker_compose_instance_directory}}/env/db.env
notify: setup akaunting notify: docker compose project setup
- name: configure run.env - name: configure run.env
template: src=run.env.j2 dest={{docker_compose_instance_directory}}/env/run.env template: src=run.env.j2 dest={{docker_compose_instance_directory}}/env/run.env
notify: setup akaunting notify: docker compose project setup

View File

@ -0,0 +1,24 @@
version: '3.7'
services:
application:
image: docker.io/akaunting/akaunting:{{version_akaunting}}
build:
context: .
ports:
- 127.0.0.1:{{http_port}}:80
volumes:
- data:/var/www/html
restart: unless-stopped
env_file:
- env/run.env
environment:
- AKAUNTING_SETUP
depends_on:
- database
{% include 'templates/docker-mariadb-service.yml.j2' %}
volumes:
data:
database:

View File

@ -1,6 +1,9 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}akaunting/" docker_compose_project_name: "akaunting"
database_instance: "akaunting" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "akaunting-db" docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml"
database_databasename: "{{database_instance}}" docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker-compose-backup.yml"
database_username: "admin" database_host: "database"
database_password: "{{akaunting_database_password}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "admin"
database_password: "{{akaunting_database_password}}"
repository_address: "https://github.com/akaunting/docker.git"

View File

@ -1,4 +1,6 @@
# Role: docker-attendize @TODO @ATTENTION THIS ROLE IS WORK IN PROGRESS
# Role: docker-attendize (WIP)
This Ansible role sets up Attendize, an open-source ticket selling and event management platform. This Ansible role sets up Attendize, an open-source ticket selling and event management platform.

View File

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

View File

@ -11,41 +11,5 @@
dest: "{{nginx_servers_directory}}{{domain}}.conf" dest: "{{nginx_servers_directory}}{{domain}}.conf"
notify: restart nginx notify: restart nginx
#- name: configure {{ mail_interface_domain }}.conf - name: "include tasks update-repository-with-docker-compose.yml"
# template: include_tasks: update-repository-with-docker-compose.yml
# src: roles/nginx-docker-reverse-proxy/templates/domain.conf.j2
# dest: {{nginx_servers_directory}}{{ mail_interface_domain }}.conf
# vars:
# http_port: "{{ mail_interface_http_port }}"
# domain: "{{ mail_interface_domain }}"
# notify: restart nginx
- name: register directory
stat:
path: "{{docker_compose_instance_directory}}"
register: docker_compose_instance_directory_register
- name: checkout repository
ansible.builtin.shell: git checkout .
become: true
args:
chdir: "{{docker_compose_instance_directory}}"
when: docker_compose_instance_directory_register.stat.exists
- name: checkout Attendize repository
ansible.builtin.git:
repo: "https://github.com/Attendize/Attendize.git"
dest: "{{docker_compose_instance_directory}}"
version: master
become: true
- name: Warn if repo is not reachable
debug:
msg: "Warning: Repository is not reachable."
when: git_result.failed
- name: create docker-compose.yml file from template
template:
src: docker-compose.yml.j2
dest: "{{docker_compose_instance_directory}}/docker-compose.yml"
mode: 0644

View File

@ -1,8 +1,11 @@
--- ---
docker_compose_instance_directory: "{{path_docker_compose_instances}}attendize/" docker_compose_project_name: "attendize"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml"
docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker-compose-backup.yml"
mail_interface_domain: "mail.{{domain}}" mail_interface_domain: "mail.{{domain}}"
database_instance: "attendize"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{attendize_database_password}}" database_password: "{{attendize_database_password}}"
repository_address: "https://github.com/Attendize/Attendize.git"

View File

@ -1,8 +0,0 @@
---
- name: recreate baserow
command:
cmd: docker-compose -p baserow up -d --force-recreate
chdir: "{{path_docker_compose_instances}}baserow/"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -10,7 +10,7 @@
- name: add docker-compose.yml - name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate baserow notify: docker compose project setup
- name: add env - name: add env
template: template:
@ -18,4 +18,4 @@
dest: "{{docker_compose_instance_directory}}env" dest: "{{docker_compose_instance_directory}}env"
mode: '770' mode: '770'
force: yes force: yes
notify: recreate baserow notify: docker compose project setup

View File

@ -9,8 +9,8 @@ services:
env_file: env_file:
- ./env - ./env
volumes: volumes:
- baserow_data:/baserow/data - data:/baserow/data
ports: ports:
- "{{http_port}}:80" - "{{http_port}}:80"
volumes: volumes:
baserow_data: data:

View File

@ -1 +1,2 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}baserow/" docker_compose_project_name: "baserow"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"

View File

@ -1,4 +1,6 @@
# docker bigbluebutton # docker bigbluebutton
@TODO Database needs to be decoupled
Role to deploy [BigBlueButton](https://bigbluebutton.org/). Role to deploy [BigBlueButton](https://bigbluebutton.org/).
## maintanace ## maintanace

View File

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

View File

@ -1,5 +1,5 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}bigbluebutton/" docker_compose_project_name: "bigbluebutton"
database_instance: "bigbluebutton" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "postgres" database_host: "postgres"
database_databasename: "greenlight-v3" database_databasename: "greenlight-v3"
database_username: "postgres" database_username: "postgres"

View File

@ -1,9 +1,8 @@
--- ---
- name: setup akaunting - name: docker compose project setup
command: command:
cmd: docker-compose -p akaunting up -d --force-recreate cmd: docker-compose -p "{{docker_compose_project_name}}" up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}" chdir: "{{docker_compose_instance_directory}}"
environment: environment:
#AKAUNTING_SETUP: true
COMPOSE_HTTP_TIMEOUT: 600 COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600 DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -1,5 +1,7 @@
# Ansible Role: Docker-Discourse # Ansible Role: Docker-Discourse
@TODO Database needs to be decoupled
This Ansible role sets up Discourse, a popular open-source discussion platform, using Docker containers. It is designed to automate the deployment and configuration process of Discourse, making it easier to maintain and update. This Ansible role sets up Discourse, a popular open-source discussion platform, using Docker containers. It is designed to automate the deployment and configuration process of Discourse, making it easier to maintain and update.
--- ---

View File

@ -1,8 +0,0 @@
---
- name: recreate funkwhale
command:
cmd: docker-compose -p funkwhale up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -10,7 +10,7 @@
- name: add docker-compose.yml - name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate funkwhale notify: docker compose project setup
- name: add .env - name: add .env
template: template:
@ -18,4 +18,4 @@
dest: "{{docker_compose_instance_directory}}.env" dest: "{{docker_compose_instance_directory}}.env"
mode: '770' mode: '770'
force: yes force: yes
notify: recreate funkwhale notify: docker compose project setup

View File

@ -1,2 +1,3 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}funkwhale/" docker_compose_project_name: "funkwhale"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
nginx_docker_reverse_proxy_extra_configuration: "client_max_body_size 512M;" nginx_docker_reverse_proxy_extra_configuration: "client_max_body_size 512M;"

View File

@ -1,8 +0,0 @@
---
- name: recreate gitea
command:
cmd: docker-compose -p gitea up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -10,4 +10,4 @@
- name: add docker-compose.yml - name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate gitea notify: docker compose project setup

View File

@ -1,6 +1,6 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}gitea/" docker_compose_project_name: "gitea"
database_instance: "gitea" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{gitea_database_password}}" database_password: "{{gitea_database_password}}"

View File

@ -16,7 +16,7 @@ This Ansible role is designed for setting up and managing a GitLab server runnin
## Role Variables ## Role Variables
Variables are defined in `vars/main.yml`. Key variables include: Variables are defined in `vars/main.yml`. Key variables include:
- `docker_compose_instance_directory`: Directory for Docker Compose instances. - `docker_compose_instance_directory`: Directory for Docker Compose instances.
- `database_instance`, `database_host`, `database_databasename`, `database_username`, `database_password`: Database configuration variables. - `docker_compose_project_name`, `database_host`, `database_databasename`, `database_username`, `database_password`: Database configuration variables.
- `database_version`: PostgreSQL version, with a default fallback. - `database_version`: PostgreSQL version, with a default fallback.
## Handlers ## Handlers

View File

@ -1,8 +0,0 @@
---
- name: recreate gitlab
command:
cmd: docker-compose -p gitlab up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -10,4 +10,4 @@
- name: add docker-compose.yml - name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate gitlab notify: docker compose project setup

View File

@ -1,7 +1,7 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}gitlab/" docker_compose_project_name: "gitlab"
database_instance: "gitlab" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "gitlab" database_databasename: "{{docker_compose_project_name}}"
database_username: "gitlab" database_username: "{{docker_compose_project_name}}"
database_password: "{{gitlab_database_password}}" database_password: "{{gitlab_database_password}}"
database_version: "{{ gitlab_database_version | default(postgres_default_version) }}" database_version: "{{ gitlab_database_version | default(postgres_default_version) }}"

View File

@ -1,8 +0,0 @@
---
- name: recreate joomla
command:
cmd: docker-compose -p joomla up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -13,4 +13,4 @@
- name: add docker-compose.yml - name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate joomla notify: docker compose project setup

View File

@ -1,6 +1,6 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}joomla/" docker_compose_project_name: "joomla"
database_instance: "joomla" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{joomla_database_password}}" database_password: "{{joomla_database_password}}"

View File

@ -1,8 +0,0 @@
---
- name: recreate listmonk
command:
cmd: docker-compose -p listmonk up -d --force-recreate
chdir: "{{path_docker_compose_instances}}listmonk/"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -12,10 +12,10 @@
template: template:
src: "docker-compose.yml.j2" src: "docker-compose.yml.j2"
dest: "{{docker_compose_instance_directory}}docker-compose.yml" dest: "{{docker_compose_instance_directory}}docker-compose.yml"
notify: recreate listmonk notify: docker compose project setup
- name: add config.toml - name: add config.toml
template: template:
src: "config.toml.j2" src: "config.toml.j2"
dest: "{{docker_compose_instance_directory}}config.toml" dest: "{{docker_compose_instance_directory}}config.toml"
notify: recreate listmonk notify: docker compose project setup

View File

@ -1,7 +1,7 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}listmonk/" docker_compose_project_name: "listmonk"
database_instance: "listmonk" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{listmonk_database_password}}" database_password: "{{listmonk_database_password}}"
database_version: "{{ listmonk_database_version | default(postgres_default_version) }}" database_version: "{{ listmonk_database_version | default(postgres_default_version) }}"

View File

@ -1,11 +1,4 @@
--- ---
- name: recreate mailu
command:
cmd: docker-compose -p mailu up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 900
DOCKER_CLIENT_TIMEOUT: 900
- name: "restart deploy-letsencrypt-mailu.service" - name: "restart deploy-letsencrypt-mailu.service"
systemd: systemd:
name: deploy-letsencrypt-mailu.service name: deploy-letsencrypt-mailu.service

View File

@ -1,3 +1,3 @@
dependencies: dependencies:
- nginx-docker-reverse-proxy - docker-compose
- systemd-notifier - systemd-notifier

View File

@ -32,13 +32,13 @@
template: template:
src: "docker-compose.yml.j2" src: "docker-compose.yml.j2"
dest: "{{docker_compose_instance_directory}}docker-compose.yml" dest: "{{docker_compose_instance_directory}}docker-compose.yml"
notify: recreate mailu notify: docker compose project setup
- name: add mailu.env - name: add mailu.env
template: template:
src: "mailu.env.j2" src: "mailu.env.j2"
dest: "{{docker_compose_instance_directory}}mailu.env" dest: "{{docker_compose_instance_directory}}mailu.env"
notify: recreate mailu notify: docker compose project setup
- name: add deploy-letsencrypt-mailu.sh - name: add deploy-letsencrypt-mailu.sh
template: template:

View File

@ -1,6 +1,6 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}mailu/" docker_compose_project_name: "mailu"
database_instance: "mailu" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{mailu_database_password}}" database_password: "{{mailu_database_password}}"

View File

@ -1,8 +0,0 @@
---
- name: recreate mastodon
command:
cmd: docker-compose -p mastodon up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -13,10 +13,10 @@
- name: copy docker-compose.yml - name: copy docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate mastodon notify: docker compose project setup
- name: copy configuration - name: copy configuration
template: template:
src: .env.production.j2 src: .env.production.j2
dest: "{{docker_compose_instance_directory}}.env.production" dest: "{{docker_compose_instance_directory}}.env.production"
notify: recreate mastodon notify: docker compose project setup

View File

@ -1,6 +1,6 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}mastodon/" docker_compose_project_name: "mastodon"
database_instance: "mastodon" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "postgres" # todo: Change this to standart name scheme for future setups database_databasename: "postgres" # todo: Change this to standart name scheme for future setups
database_username: "postgres" # todo: Change this to standart name scheme for future setups database_username: "postgres" # todo: Change this to standart name scheme for future setups
database_password: "" # todo: Change this to standart name scheme for future setups database_password: "" # todo: Change this to standart name scheme for future setups

View File

@ -1,8 +0,0 @@
---
- name: recreate matomo
command:
cmd: docker-compose -p matomo up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -12,4 +12,4 @@
template: template:
src: "docker-compose.yml.j2" src: "docker-compose.yml.j2"
dest: "{{docker_compose_instance_directory}}docker-compose.yml" dest: "{{docker_compose_instance_directory}}docker-compose.yml"
notify: recreate matomo notify: docker compose project setup

View File

@ -1,7 +1,7 @@
--- ---
docker_compose_instance_directory: "{{path_docker_compose_instances}}matomo/" docker_compose_project_name: "matomo"
database_instance: "matomo" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{matomo_database_password}}" database_password: "{{matomo_database_password}}"

View File

@ -1,8 +0,0 @@
---
- name: recreate matrix
command:
cmd: docker-compose up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -27,25 +27,25 @@
# template: # template:
# src: "whatsapp-bridge-config.yml.j2" # src: "whatsapp-bridge-config.yml.j2"
# dest: "{{docker_compose_instance_directory}}mautrix_whatsapp/config.yml" # dest: "{{docker_compose_instance_directory}}mautrix_whatsapp/config.yml"
# notify: recreate matrix # notify: docker compose project setup
- name: add element-config.json - name: add element-config.json
template: template:
src: "element-config.json.j2" src: "element-config.json.j2"
dest: "{{docker_compose_instance_directory}}element-config.json" dest: "{{docker_compose_instance_directory}}element-config.json"
notify: recreate matrix notify: docker compose project setup
- name: add homeserver.yaml - name: add homeserver.yaml
template: template:
src: "homeserver.yaml.j2" src: "homeserver.yaml.j2"
dest: "{{docker_compose_instance_directory}}homeserver.yaml" dest: "{{docker_compose_instance_directory}}homeserver.yaml"
notify: recreate matrix notify: docker compose project setup
- name: add log.config - name: add log.config
template: template:
src: "log.config.j2" src: "log.config.j2"
dest: "{{docker_compose_instance_directory}}{{synapse_domain}}.log.config" dest: "{{docker_compose_instance_directory}}{{synapse_domain}}.log.config"
notify: recreate matrix notify: docker compose project setup
# https://github.com/matrix-org/synapse/issues/6303 # https://github.com/matrix-org/synapse/issues/6303
- name: set correct folder permissions - name: set correct folder permissions
@ -56,4 +56,4 @@
template: template:
src: "docker-compose.yml.j2" src: "docker-compose.yml.j2"
dest: "{{docker_compose_instance_directory}}docker-compose.yml" dest: "{{docker_compose_instance_directory}}docker-compose.yml"
notify: recreate matrix notify: docker compose project setup

View File

@ -1,7 +1,7 @@
--- ---
docker_compose_instance_directory: "{{path_docker_compose_instances}}matrix/" docker_compose_project_name: "matrix"
database_instance: "matrix" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{matrix_database_password}}" database_password: "{{matrix_database_password}}"

View File

@ -1,8 +0,0 @@
---
- name: recreate mybb
command:
cmd: docker-compose -p mybb up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -16,10 +16,10 @@
template: template:
src: "default.conf" src: "default.conf"
dest: "{{docker_compose_instance_confd_defaultconf_file}}" dest: "{{docker_compose_instance_confd_defaultconf_file}}"
notify: recreate mybb notify: docker compose project setup
- name: add docker-compose.yml - name: add docker-compose.yml
template: template:
src: "docker-compose.yml.j2" src: "docker-compose.yml.j2"
dest: "{{docker_compose_instance_directory}}docker-compose.yml" dest: "{{docker_compose_instance_directory}}docker-compose.yml"
notify: recreate mybb notify: docker compose project setup

View File

@ -1,11 +1,11 @@
--- ---
docker_compose_instance_directory: "{{path_docker_compose_instances}}mybb/" docker_compose_project_name: "mybb"
docker_compose_instance_confd_directory: "{{docker_compose_instance_directory}}conf.d/" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
docker_compose_instance_confd_directory: "{{docker_compose_instance_directory}}conf.d/"
docker_compose_instance_confd_defaultconf_file: "{{docker_compose_instance_confd_directory}}default.conf" docker_compose_instance_confd_defaultconf_file: "{{docker_compose_instance_confd_directory}}default.conf"
target_mount_conf_d_directory: "{{nginx_servers_directory}}" target_mount_conf_d_directory: "{{nginx_servers_directory}}"
source_domain: "mybb.{{top_domain}}" source_domain: "mybb.{{top_domain}}"
database_instance: "mybb" database_host: "database"
database_host: "database" database_databasename: "{{docker_compose_project_name}}"
database_databasename: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_password: "{{mybb_database_password}}"
database_password: "{{mybb_database_password}}"

View File

@ -1,8 +0,0 @@
---
- name: recreate nextcloud
command:
cmd: docker-compose -p nextcloud up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -18,7 +18,7 @@
template: template:
src: "templates/nginx.conf.j2" src: "templates/nginx.conf.j2"
dest: "{{path_docker_volumes}}nextcloud/nginx.conf" dest: "{{path_docker_volumes}}nextcloud/nginx.conf"
notify: recreate nextcloud notify: docker compose project setup
- name: "create {{docker_compose_instance_directory}}" - name: "create {{docker_compose_instance_directory}}"
file: file:
@ -30,4 +30,4 @@
template: template:
src: docker-compose.yml.j2 src: docker-compose.yml.j2
dest: "{{docker_compose_instance_directory}}docker-compose.yml" dest: "{{docker_compose_instance_directory}}docker-compose.yml"
notify: recreate nextcloud notify: docker compose project setup

View File

@ -1,7 +1,7 @@
--- ---
docker_compose_instance_directory: "{{path_docker_compose_instances}}nextcloud/" docker_compose_project_name: "nextcloud"
database_instance: "nextcloud" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{nextcloud_database_password}}" database_password: "{{nextcloud_database_password}}"

View File

@ -1,8 +0,0 @@
---
- name: recreate openproject
command:
cmd: docker-compose -p openproject up -d --force-recreate
chdir: "{{ docker_compose_instance_directory }}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -2,54 +2,11 @@
- 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
- name: "backup docker-compose.yml if it exists" - name: "include tasks update-repository-with-docker-compose.yml"
command: > include_tasks: update-repository-with-docker-compose.yml
mv "{{ docker_compose_file_path }}" "{{ docker_compose_backup_path }}"
args:
removes: "{{ docker_compose_file_path }}"
become: true
- name: register directory
stat:
path: "{{docker_compose_instance_directory}}"
register: docker_compose_instance_directory_register
- name: checkout repository
ansible.builtin.shell: git checkout .
become: true
args:
chdir: "{{docker_compose_instance_directory}}"
when: docker_compose_instance_directory_register.stat.exists
- name: pull docker repository
git:
repo: "https://github.com/opf/openproject-deploy"
dest: "{{ repository_directory }}"
update: yes
notify: recreate openproject
become: true
register: git_result
- name: "restore docker-compose.yml from backup"
command: >
mv "{{ docker_compose_backup_path }}" "{{ docker_compose_file_path }}"
args:
removes: "{{ docker_compose_backup_path }}"
become: true
- name: Warn if repo is not reachable
debug:
msg: "Warning: Repository is not reachable."
when: git_result.failed
- name: "copy .env" - name: "copy .env"
template: template:
src: env.j2 src: env.j2
dest: "{{ docker_compose_instance_directory }}.env" dest: "{{ docker_compose_instance_directory }}.env"
notify: recreate openproject notify: docker compose project setup
- name: "copy docker-compose.yml"
template:
src: docker-compose.yml.j2
dest: "{{ docker_compose_file_path }}"
notify: recreate openproject

View File

@ -21,7 +21,7 @@ x-op-app: &app
RAILS_CACHE_STORE: "memcache" RAILS_CACHE_STORE: "memcache"
OPENPROJECT_CACHE__MEMCACHE__SERVER: "cache:11211" OPENPROJECT_CACHE__MEMCACHE__SERVER: "cache:11211"
OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}" OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"
DATABASE_URL: "${DATABASE_URL:-postgres://postgres:p4ssw0rd@db/openproject?pool=20&encoding=unicode&reconnect=true}" DATABASE_URL: "${DATABASE_URL}"
RAILS_MIN_THREADS: ${RAILS_MIN_THREADS:-4} RAILS_MIN_THREADS: ${RAILS_MIN_THREADS:-4}
RAILS_MAX_THREADS: ${RAILS_MAX_THREADS:-16} RAILS_MAX_THREADS: ${RAILS_MAX_THREADS:-16}
# set to true to enable the email receiving feature. See ./docker/cron for more options # set to true to enable the email receiving feature. See ./docker/cron for more options
@ -31,7 +31,7 @@ x-op-app: &app
- "${PGDATA}:/var/openproject/pgdata" - "${PGDATA}:/var/openproject/pgdata"
services: services:
db: database:
image: postgres:13 image: postgres:13
<<: *restart_policy <<: *restart_policy
stop_grace_period: "3s" stop_grace_period: "3s"
@ -72,7 +72,7 @@ services:
- frontend - frontend
- backend - backend
depends_on: depends_on:
- db - database
- cache - cache
- seeder - seeder
labels: labels:
@ -99,7 +99,7 @@ services:
networks: networks:
- backend - backend
depends_on: depends_on:
- db - database
- cache - cache
- seeder - seeder
@ -109,7 +109,7 @@ services:
networks: networks:
- backend - backend
depends_on: depends_on:
- db - database
- cache - cache
- seeder - seeder

View File

@ -1,9 +1,10 @@
repository_directory: "{{ path_docker_compose_instances }}openproject/" docker_compose_project_name: "openproject"
docker_compose_instance_directory: "{{repository_directory}}compose/" repository_directory: "{{ path_docker_compose_instances }}{{docker_compose_project_name}}/"
docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml" docker_compose_instance_directory: "{{repository_directory}}compose/"
docker_compose_backup_path: "/tmp/openproject-docker-compose-backup.yml" docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml"
database_instance: "openproject" docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker-compose-backup.yml"
database_host: "db" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "postgres" database_username: "postgres"
database_password: "{{openproject_database_password}}" database_password: "{{openproject_database_password}}"
repository_address: "https://github.com/opf/openproject-deploy"

View File

@ -1,8 +0,0 @@
---
- name: recreate peertube
command:
cmd: docker-compose -p peertube up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -13,10 +13,10 @@
- name: copy docker-compose.yml - name: copy docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate peertube notify: docker compose project setup
- name: copy configuration - name: copy configuration
template: template:
src: env.j2 src: env.j2
dest: "{{docker_compose_instance_directory}}.env" dest: "{{docker_compose_instance_directory}}.env"
notify: recreate peertube notify: docker compose project setup

View File

@ -1,6 +1,6 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}peertube/" docker_compose_project_name: "peertube"
database_instance: "peertube" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{peertube_database_password}}" database_password: "{{peertube_database_password}}"

View File

@ -1,8 +0,0 @@
---
- name: recreate pixelfed
command:
cmd: docker-compose -p pixelfed up -d --force-recreate
chdir: "{{path_docker_compose_instances}}pixelfed/"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -10,7 +10,7 @@
- name: add docker-compose.yml - name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate pixelfed notify: docker compose project setup
- name: add env - name: add env
template: template:
@ -18,4 +18,4 @@
dest: "{{docker_compose_instance_directory}}env" dest: "{{docker_compose_instance_directory}}env"
mode: '770' mode: '770'
force: yes force: yes
notify: recreate pixelfed notify: docker compose project setup

View File

@ -1,7 +1,7 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}pixelfed/" docker_compose_project_name: "pixelfed"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
nginx_docker_reverse_proxy_extra_configuration: "client_max_body_size 512M;" nginx_docker_reverse_proxy_extra_configuration: "client_max_body_size 512M;"
database_instance: "pixelfed" database_host: "database"
database_host: "database" database_databasename: "{{docker_compose_project_name}}"
database_databasename: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_password: "{{pixelfed_database_password}}"
database_password: "{{pixelfed_database_password}}"

View File

@ -1,8 +0,0 @@
---
- name: recreate and build roulette-wheel
command:
cmd: docker-compose -p roulette-wheel up -d --force-recreate --build
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -13,7 +13,7 @@
repo: "https://github.com/kevinveenbirkenbach/roulette-wheel.git" repo: "https://github.com/kevinveenbirkenbach/roulette-wheel.git"
dest: "{{app_path}}" dest: "{{app_path}}"
update: yes update: yes
notify: recreate and build roulette-wheel notify: docker compose project setup
become: true become: true
register: git_result register: git_result
ignore_errors: true ignore_errors: true
@ -25,8 +25,8 @@
- name: add docker-compose.yml - name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate and build roulette-wheel notify: docker compose project setup
- name: add Dockerfile - name: add Dockerfile
template: src=Dockerfile.j2 dest={{docker_compose_instance_directory}}Dockerfile template: src=Dockerfile.j2 dest={{docker_compose_instance_directory}}Dockerfile
notify: recreate and build roulette-wheel notify: docker compose project setup

View File

@ -1,2 +1,3 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}roulette-wheel/" docker_compose_project_name: "roulette-wheel"
app_path: "{{path_docker_compose_instances}}roulette-wheel/app/" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
app_path: "{{docker_compose_instance_directory}}/app/"

View File

@ -6,10 +6,3 @@
environment: environment:
COMPOSE_HTTP_TIMEOUT: 600 COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600 DOCKER_CLIENT_TIMEOUT: 600
- name: recreate wordpress
command:
cmd: docker-compose -p wordpress up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -19,7 +19,7 @@
src: upload.ini.j2 src: upload.ini.j2
dest: "{{docker_compose_instance_directory}}upload.ini" dest: "{{docker_compose_instance_directory}}upload.ini"
notify: notify:
- recreate wordpress - docker compose project setup
- rebuild wordpress container - rebuild wordpress container
- name: "Transfering Dockerfile to {{docker_compose_instance_directory}}" - name: "Transfering Dockerfile to {{docker_compose_instance_directory}}"
@ -27,9 +27,9 @@
src: Dockerfile src: Dockerfile
dest: "{{docker_compose_instance_directory}}Dockerfile" dest: "{{docker_compose_instance_directory}}Dockerfile"
notify: notify:
- recreate wordpress - docker compose project setup
- rebuild wordpress container - rebuild wordpress container
- name: "add docker-compose.yml to {{docker_compose_instance_directory}}" - name: "add docker-compose.yml to {{docker_compose_instance_directory}}"
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: recreate wordpress notify: docker compose project setup

View File

@ -1,7 +1,7 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}wordpress/" docker_compose_project_name: "wordpress"
wordpress_max_upload_size: "64M" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_instance: "wordpress" wordpress_max_upload_size: "64M"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{wordpress_database_password}}" database_password: "{{wordpress_database_password}}"

View File

@ -1,8 +0,0 @@
---
- name: recreate yourls
command:
cmd: docker-compose -p yourls up -d --force-recreate
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

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

View File

@ -12,4 +12,4 @@
template: template:
src: "docker-compose.yml.j2" src: "docker-compose.yml.j2"
dest: "{{docker_compose_instance_directory}}docker-compose.yml" dest: "{{docker_compose_instance_directory}}docker-compose.yml"
notify: recreate yourls notify: docker compose project setup

View File

@ -1,6 +1,6 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}yourls/" docker_compose_project_name: "yourls"
database_instance: "yourls" docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database" database_host: "database"
database_databasename: "{{database_instance}}" database_databasename: "{{docker_compose_project_name}}"
database_username: "{{database_instance}}" database_username: "{{docker_compose_project_name}}"
database_password: "{{yourls_database_password}}" database_password: "{{yourls_database_password}}"

View File

@ -246,7 +246,7 @@
- role: docker-akaunting - role: docker-akaunting
vars: vars:
domain: "{{domain_akaunting}}" domain: "{{domain_akaunting}}"
http_port: 8080 http_port: 8025
# Native Webserver Roles # Native Webserver Roles
- name: setup nginx-homepages - name: setup nginx-homepages

View File

@ -0,0 +1,45 @@
- name: "backup docker-compose.yml if it exists"
command: >
mv "{{ docker_compose_file_path }}" "{{ docker_compose_backup_path }}"
args:
removes: "{{ docker_compose_file_path }}"
become: true
- name: register directory
stat:
path: "{{docker_compose_instance_directory}}"
register: docker_compose_instance_directory_register
- name: checkout repository
ansible.builtin.shell: git checkout .
become: true
args:
chdir: "{{docker_compose_instance_directory}}"
when: docker_compose_instance_directory_register.stat.exists
- name: pull docker repository
git:
repo: "{{ repository_address }}"
dest: "{{ repository_directory }}"
update: yes
notify: docker compose project setup
become: true
register: git_result
- name: "restore docker-compose.yml from backup"
command: >
mv "{{ docker_compose_backup_path }}" "{{ docker_compose_file_path }}"
args:
removes: "{{ docker_compose_backup_path }}"
become: true
- name: Warn if repo is not reachable
debug:
msg: "Warning: Repository is not reachable."
when: git_result.failed
- name: "copy docker-compose.yml"
template:
src: docker-compose.yml.j2
dest: "{{ docker_compose_file_path }}"
notify: docker compose project setup