mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-11-21 20:31:02 +01:00
Compare commits
2 Commits
3581db27aa
...
658e40098a
Author | SHA1 | Date | |
---|---|---|---|
658e40098a | |||
8e5487bf8f |
@ -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
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
@ -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
|
||||||
|
24
roles/docker-akaunting/templates/docker-compose.yml.j2
Normal file
24
roles/docker-akaunting/templates/docker-compose.yml.j2
Normal 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:
|
@ -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"
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
@ -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
|
|
@ -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"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
@ -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:
|
@ -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}}/"
|
@ -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
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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"
|
||||||
|
@ -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
|
2
roles/docker-compose/meta/main.yml
Normal file
2
roles/docker-compose/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
dependencies:
|
||||||
|
- nginx-docker-reverse-proxy
|
@ -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.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
@ -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;"
|
||||||
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
||||||
|
@ -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}}"
|
@ -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
|
||||||
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
||||||
|
@ -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) }}"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
@ -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}}"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
@ -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) }}"
|
@ -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
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
- systemd-notifier
|
- systemd-notifier
|
||||||
|
@ -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:
|
||||||
|
@ -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}}"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
||||||
|
@ -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
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
||||||
|
@ -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}}"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
||||||
|
@ -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}}"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
@ -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
|
||||||
|
@ -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}}"
|
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
@ -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
|
||||||
|
@ -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}}"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
@ -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
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
||||||
|
@ -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}}"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
@ -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}}"
|
|
||||||
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
||||||
|
@ -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/"
|
@ -3,13 +3,6 @@
|
|||||||
command:
|
command:
|
||||||
cmd: docker build --no-cache -t custom_wordpress .
|
cmd: docker build --no-cache -t custom_wordpress .
|
||||||
chdir: "{{docker_compose_instance_directory}}"
|
chdir: "{{docker_compose_instance_directory}}"
|
||||||
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:
|
environment:
|
||||||
COMPOSE_HTTP_TIMEOUT: 600
|
COMPOSE_HTTP_TIMEOUT: 600
|
||||||
DOCKER_CLIENT_TIMEOUT: 600
|
DOCKER_CLIENT_TIMEOUT: 600
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
||||||
|
@ -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}}"
|
@ -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
|
|
@ -1,2 +1,2 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- nginx-docker-reverse-proxy
|
- docker-compose
|
||||||
|
@ -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
|
||||||
|
@ -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}}"
|
@ -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
|
||||||
|
45
tasks/update-repository-with-docker-compose.yml
Normal file
45
tasks/update-repository-with-docker-compose.yml
Normal 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
|
Loading…
Reference in New Issue
Block a user