Compare commits

...

2 Commits

93 changed files with 277 additions and 440 deletions

View File

@ -43,10 +43,10 @@
- name: seed database values
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}}"
when: >
database_instance is defined or
docker_compose_project_name is defined or
database_host is defined or
database_databasename is defined or
database_username is defined or
@ -59,7 +59,7 @@
owner: root
group: root
when: >
(database_instance is defined or
(docker_compose_project_name is defined or
database_host is defined or
database_databasename 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
@ATTENTION Variable ```#AKAUNTING_SETUP: true``` needs to be set
### New Manual Setup
1. **Navigate to Docker Compose Directory**: Change to the directory containing your Docker Compose files for Akaunting.

View File

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

View File

@ -2,43 +2,13 @@
- name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml
- 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/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: "include tasks update-repository-with-docker-compose.yml"
include_tasks: update-repository-with-docker-compose.yml
- name: configure 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
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/"
database_instance: "akaunting"
database_host: "akaunting-db"
database_databasename: "{{database_instance}}"
docker_compose_project_name: "akaunting"
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"
database_host: "database"
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.

View File

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

View File

@ -11,41 +11,5 @@
dest: "{{nginx_servers_directory}}{{domain}}.conf"
notify: restart nginx
#- name: configure {{ mail_interface_domain }}.conf
# template:
# 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
- name: "include tasks update-repository-with-docker-compose.yml"
include_tasks: update-repository-with-docker-compose.yml

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}}"
database_instance: "attendize"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -10,7 +10,7 @@
- name: add 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
template:
@ -18,4 +18,4 @@
dest: "{{docker_compose_instance_directory}}env"
mode: '770'
force: yes
notify: recreate baserow
notify: docker compose project setup

View File

@ -9,8 +9,8 @@ services:
env_file:
- ./env
volumes:
- baserow_data:/baserow/data
- data:/baserow/data
ports:
- "{{http_port}}:80"
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
@TODO Database needs to be decoupled
Role to deploy [BigBlueButton](https://bigbluebutton.org/).
## maintanace

View File

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

View File

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

View File

@ -1,9 +1,8 @@
---
- name: setup akaunting
- name: docker compose project setup
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}}"
environment:
#AKAUNTING_SETUP: true
COMPOSE_HTTP_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
@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.
---

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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -10,7 +10,7 @@
- name: add 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
template:
@ -18,4 +18,4 @@
dest: "{{docker_compose_instance_directory}}.env"
mode: '770'
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;"

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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -10,4 +10,4 @@
- name: add 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/"
database_instance: "gitea"
docker_compose_project_name: "gitea"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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
Variables are defined in `vars/main.yml`. Key variables include:
- `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.
## 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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -10,4 +10,4 @@
- name: add 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/"
database_instance: "gitlab"
docker_compose_project_name: "gitlab"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "gitlab"
database_username: "gitlab"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
database_password: "{{gitlab_database_password}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -13,4 +13,4 @@
- name: add 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/"
database_instance: "joomla"
docker_compose_project_name: "joomla"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -12,10 +12,10 @@
template:
src: "docker-compose.yml.j2"
dest: "{{docker_compose_instance_directory}}docker-compose.yml"
notify: recreate listmonk
notify: docker compose project setup
- name: add config.toml
template:
src: "config.toml.j2"
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/"
database_instance: "listmonk"
docker_compose_project_name: "listmonk"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
database_password: "{{listmonk_database_password}}"
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"
systemd:
name: deploy-letsencrypt-mailu.service

View File

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

View File

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

View File

@ -1,6 +1,6 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}mailu/"
database_instance: "mailu"
docker_compose_project_name: "mailu"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -13,10 +13,10 @@
- name: copy 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
template:
src: .env.production.j2
dest: "{{docker_compose_instance_directory}}.env.production"
notify: recreate mastodon
notify: docker compose project setup

View File

@ -1,5 +1,5 @@
docker_compose_instance_directory: "{{path_docker_compose_instances}}mastodon/"
database_instance: "mastodon"
docker_compose_project_name: "mastodon"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
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

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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -12,4 +12,4 @@
template:
src: "docker-compose.yml.j2"
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/"
database_instance: "matomo"
docker_compose_project_name: "matomo"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -27,25 +27,25 @@
# template:
# src: "whatsapp-bridge-config.yml.j2"
# dest: "{{docker_compose_instance_directory}}mautrix_whatsapp/config.yml"
# notify: recreate matrix
# notify: docker compose project setup
- name: add element-config.json
template:
src: "element-config.json.j2"
dest: "{{docker_compose_instance_directory}}element-config.json"
notify: recreate matrix
notify: docker compose project setup
- name: add homeserver.yaml
template:
src: "homeserver.yaml.j2"
dest: "{{docker_compose_instance_directory}}homeserver.yaml"
notify: recreate matrix
notify: docker compose project setup
- name: add log.config
template:
src: "log.config.j2"
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
- name: set correct folder permissions
@ -56,4 +56,4 @@
template:
src: "docker-compose.yml.j2"
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/"
database_instance: "matrix"
docker_compose_project_name: "matrix"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -16,10 +16,10 @@
template:
src: "default.conf"
dest: "{{docker_compose_instance_confd_defaultconf_file}}"
notify: recreate mybb
notify: docker compose project setup
- name: add docker-compose.yml
template:
src: "docker-compose.yml.j2"
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_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"
target_mount_conf_d_directory: "{{nginx_servers_directory}}"
source_domain: "mybb.{{top_domain}}"
database_instance: "mybb"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -18,7 +18,7 @@
template:
src: "templates/nginx.conf.j2"
dest: "{{path_docker_volumes}}nextcloud/nginx.conf"
notify: recreate nextcloud
notify: docker compose project setup
- name: "create {{docker_compose_instance_directory}}"
file:
@ -30,4 +30,4 @@
template:
src: docker-compose.yml.j2
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/"
database_instance: "nextcloud"
docker_compose_project_name: "nextcloud"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -2,54 +2,11 @@
- name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml
- 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: "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: "include tasks update-repository-with-docker-compose.yml"
include_tasks: update-repository-with-docker-compose.yml
- name: "copy .env"
template:
src: env.j2
dest: "{{ docker_compose_instance_directory }}.env"
notify: recreate openproject
- name: "copy docker-compose.yml"
template:
src: docker-compose.yml.j2
dest: "{{ docker_compose_file_path }}"
notify: recreate openproject
notify: docker compose project setup

View File

@ -21,7 +21,7 @@ x-op-app: &app
RAILS_CACHE_STORE: "memcache"
OPENPROJECT_CACHE__MEMCACHE__SERVER: "cache:11211"
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_MAX_THREADS: ${RAILS_MAX_THREADS:-16}
# 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"
services:
db:
database:
image: postgres:13
<<: *restart_policy
stop_grace_period: "3s"
@ -72,7 +72,7 @@ services:
- frontend
- backend
depends_on:
- db
- database
- cache
- seeder
labels:
@ -99,7 +99,7 @@ services:
networks:
- backend
depends_on:
- db
- database
- cache
- seeder
@ -109,7 +109,7 @@ services:
networks:
- backend
depends_on:
- db
- database
- cache
- seeder

View File

@ -1,9 +1,10 @@
repository_directory: "{{ path_docker_compose_instances }}openproject/"
docker_compose_project_name: "openproject"
repository_directory: "{{ path_docker_compose_instances }}{{docker_compose_project_name}}/"
docker_compose_instance_directory: "{{repository_directory}}compose/"
docker_compose_file_path: "{{docker_compose_instance_directory}}docker-compose.yml"
docker_compose_backup_path: "/tmp/openproject-docker-compose-backup.yml"
database_instance: "openproject"
database_host: "db"
database_databasename: "{{database_instance}}"
docker_compose_backup_path: "/tmp/{{docker_compose_project_name}}-docker-compose-backup.yml"
database_host: "database"
database_databasename: "{{docker_compose_project_name}}"
database_username: "postgres"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -13,10 +13,10 @@
- name: copy 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
template:
src: env.j2
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/"
database_instance: "peertube"
docker_compose_project_name: "peertube"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -10,7 +10,7 @@
- name: add 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
template:
@ -18,4 +18,4 @@
dest: "{{docker_compose_instance_directory}}env"
mode: '770'
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;"
database_instance: "pixelfed"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -13,7 +13,7 @@
repo: "https://github.com/kevinveenbirkenbach/roulette-wheel.git"
dest: "{{app_path}}"
update: yes
notify: recreate and build roulette-wheel
notify: docker compose project setup
become: true
register: git_result
ignore_errors: true
@ -25,8 +25,8 @@
- name: add 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
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/"
app_path: "{{path_docker_compose_instances}}roulette-wheel/app/"
docker_compose_project_name: "roulette-wheel"
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:
COMPOSE_HTTP_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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -19,7 +19,7 @@
src: upload.ini.j2
dest: "{{docker_compose_instance_directory}}upload.ini"
notify:
- recreate wordpress
- docker compose project setup
- rebuild wordpress container
- name: "Transfering Dockerfile to {{docker_compose_instance_directory}}"
@ -27,9 +27,9 @@
src: Dockerfile
dest: "{{docker_compose_instance_directory}}Dockerfile"
notify:
- recreate wordpress
- docker compose project setup
- rebuild wordpress container
- name: "add docker-compose.yml to {{docker_compose_instance_directory}}"
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"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
wordpress_max_upload_size: "64M"
database_instance: "wordpress"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
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:
- nginx-docker-reverse-proxy
- docker-compose

View File

@ -12,4 +12,4 @@
template:
src: "docker-compose.yml.j2"
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/"
database_instance: "yourls"
docker_compose_project_name: "yourls"
docker_compose_instance_directory: "{{path_docker_compose_instances}}{{docker_compose_project_name}}/"
database_host: "database"
database_databasename: "{{database_instance}}"
database_username: "{{database_instance}}"
database_databasename: "{{docker_compose_project_name}}"
database_username: "{{docker_compose_project_name}}"
database_password: "{{yourls_database_password}}"

View File

@ -246,7 +246,7 @@
- role: docker-akaunting
vars:
domain: "{{domain_akaunting}}"
http_port: 8080
http_port: 8025
# Native Webserver Roles
- 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