mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-11-24 05:31:04 +01:00
Compare commits
8 Commits
430bb17b0b
...
ba1dd33ebd
Author | SHA1 | Date | |
---|---|---|---|
ba1dd33ebd | |||
d10137a002 | |||
efb78b51be | |||
00cf519e2a | |||
c522caeed8 | |||
1314dd52d7 | |||
444432f2f8 | |||
cc52592dbe |
@ -205,6 +205,14 @@
|
||||
vars:
|
||||
domain: matomo.{{top_domain}}
|
||||
http_port: 8018
|
||||
- name: setup listmonk
|
||||
hosts: listmonk
|
||||
become: true
|
||||
roles:
|
||||
- role: docker-listmonk
|
||||
vars:
|
||||
domain: listmonk.{{top_domain}}
|
||||
http_port: 8019
|
||||
- name: setup akaunting hosts
|
||||
hosts: akaunting
|
||||
become: true
|
||||
|
@ -81,7 +81,7 @@ Detailed steps for backing up your Akaunting instance, including setting manual
|
||||
### Setting Variables
|
||||
Variables are crucial in configuring your Akaunting setup. Ensure you set the following variables correctly in your environment:
|
||||
|
||||
- `docker_compose_akaunting_path`: Set this variable to the path where your Docker Compose files for Akaunting are located.
|
||||
- `docker_compose_instance_directory`: Set this variable to the path where your Docker Compose files for Akaunting are located.
|
||||
- `akaunting_db_password`, `akaunting_version`, `akaunting_company_name`, `akaunting_company_email`, `akaunting_setup_admin_email`, and `akaunting_setup_admin_password`: These should be set in your `.env` files as per your requirements.
|
||||
|
||||
### Additional Configuration
|
||||
|
@ -2,7 +2,7 @@
|
||||
- name: setup akaunting
|
||||
command:
|
||||
cmd: docker-compose -p akaunting up -d --force-recreate
|
||||
chdir: "{{docker_compose_akaunting_path}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
#AKAUNTING_SETUP: true
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
|
@ -8,20 +8,20 @@
|
||||
|
||||
- name: register directory
|
||||
stat:
|
||||
path: "{{docker_compose_akaunting_path}}"
|
||||
register: docker_compose_akaunting_path_register
|
||||
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_akaunting_path}}"
|
||||
when: docker_compose_akaunting_path_register.stat.exists
|
||||
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_akaunting_path}}"
|
||||
dest: "{{docker_compose_instance_directory}}"
|
||||
update: yes
|
||||
notify: setup akaunting
|
||||
become: true
|
||||
@ -37,12 +37,12 @@
|
||||
ansible.builtin.shell: find . -type f -exec sed -i 's/akaunting:latest/akaunting:{{akaunting_version}}/' {} + && find . -type f -exec sed -i 's/version=latest/version={{akaunting_version}}/' {} +
|
||||
become: true
|
||||
args:
|
||||
chdir: "{{docker_compose_akaunting_path}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
|
||||
- name: configure db.env
|
||||
template: src=db.env.j2 dest={{docker_compose_akaunting_path}}/env/db.env
|
||||
template: src=db.env.j2 dest={{docker_compose_instance_directory}}/env/db.env
|
||||
notify: setup akaunting
|
||||
|
||||
- name: configure run.env
|
||||
template: src=run.env.j2 dest={{docker_compose_akaunting_path}}/env/run.env
|
||||
template: src=run.env.j2 dest={{docker_compose_instance_directory}}/env/run.env
|
||||
notify: setup akaunting
|
||||
|
@ -1 +1 @@
|
||||
docker_compose_akaunting_path: "{{path_docker_compose_files}}akaunting/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}akaunting/"
|
||||
|
@ -22,20 +22,20 @@
|
||||
|
||||
- name: register directory
|
||||
stat:
|
||||
path: "{{docker_compose_attendize_path}}"
|
||||
register: docker_compose_attendize_path_register
|
||||
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_attendize_path}}"
|
||||
when: docker_compose_attendize_path_register.stat.exists
|
||||
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_attendize_path}}"
|
||||
dest: "{{docker_compose_instance_directory}}"
|
||||
version: master
|
||||
become: true
|
||||
|
||||
@ -47,5 +47,5 @@
|
||||
- name: create docker-compose.yml file from template
|
||||
template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: "{{docker_compose_attendize_path}}/docker-compose.yml"
|
||||
dest: "{{docker_compose_instance_directory}}/docker-compose.yml"
|
||||
mode: 0644
|
@ -1,3 +1,3 @@
|
||||
---
|
||||
docker_compose_attendize_path: "{{path_docker_compose_files}}attendize/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}attendize/"
|
||||
mail_interface_domain: "mail.{{domain}}"
|
||||
|
@ -6,20 +6,20 @@
|
||||
template: src=roles/nginx-docker-reverse-proxy/templates/domain.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{docker_compose_path}}"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{docker_compose_path}}"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_path}}docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
|
||||
notify: recreate baserow
|
||||
|
||||
- name: add env
|
||||
template:
|
||||
src: env.j2
|
||||
dest: "{{docker_compose_path}}env"
|
||||
dest: "{{docker_compose_instance_directory}}env"
|
||||
mode: '770'
|
||||
force: yes
|
||||
notify: recreate baserow
|
@ -1 +1 @@
|
||||
docker_compose_path: "{{path_docker_compose_files}}baserow/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}baserow/"
|
@ -2,7 +2,7 @@
|
||||
- name: create docker-compose.yml for bigbluebutton
|
||||
command:
|
||||
cmd: bash ./scripts/generate-compose
|
||||
chdir: "{{docker_compose_bigbluebutton_path}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
@ -10,7 +10,7 @@
|
||||
- name: docker compose up bigbluebutton
|
||||
command:
|
||||
cmd: docker-compose -p bigbluebutton up -d --force-recreate
|
||||
chdir: "{{docker_compose_bigbluebutton_path}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
|
@ -9,7 +9,7 @@
|
||||
- name: pull docker repository
|
||||
git:
|
||||
repo: "https://github.com/bigbluebutton/docker.git"
|
||||
dest: "{{docker_compose_bigbluebutton_path}}"
|
||||
dest: "{{docker_compose_instance_directory}}"
|
||||
update: yes
|
||||
recursive: yes
|
||||
version: main
|
||||
@ -23,5 +23,5 @@
|
||||
when: git_result.failed
|
||||
|
||||
- name: deploy .env
|
||||
template: src=env.j2 dest={{docker_compose_bigbluebutton_path}}/.env
|
||||
template: src=env.j2 dest={{docker_compose_instance_directory}}/.env
|
||||
notify: setup bigbluebutton
|
||||
|
@ -1 +1 @@
|
||||
docker_compose_bigbluebutton_path: "{{path_docker_compose_files}}bigbluebutton/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}bigbluebutton/"
|
@ -2,7 +2,7 @@
|
||||
- name: recreate funkwhale
|
||||
command:
|
||||
cmd: docker-compose -p funkwhale up -d --force-recreate
|
||||
chdir: "{{docker_compose_path}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
|
@ -6,20 +6,20 @@
|
||||
template: src=roles/nginx-docker-reverse-proxy/templates/domain.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{docker_compose_path}}"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{docker_compose_path}}"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_path}}docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
|
||||
notify: recreate funkwhale
|
||||
|
||||
- name: add .env
|
||||
template:
|
||||
src: env.j2
|
||||
dest: "{{docker_compose_path}}.env"
|
||||
dest: "{{docker_compose_instance_directory}}.env"
|
||||
mode: '770'
|
||||
force: yes
|
||||
notify: recreate funkwhale
|
@ -1,2 +1,2 @@
|
||||
docker_compose_path: "{{path_docker_compose_files}}funkwhale/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}funkwhale/"
|
||||
client_max_body_size: "512M"
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
## update
|
||||
```bash
|
||||
cd {{path_docker_compose_folder}}
|
||||
cd {{docker_compose_instance_directory}}
|
||||
docker-compose down
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
@ -17,7 +17,7 @@ Keep in mind to track and to don't interrupt the update process until the migrat
|
||||
|
||||
## recreate
|
||||
```bash
|
||||
cd {{path_docker_compose_folder}} && docker-compose -p gitea up -d --force-recreate
|
||||
cd {{docker_compose_instance_directory}} && docker-compose -p gitea up -d --force-recreate
|
||||
```
|
||||
|
||||
## database access
|
||||
|
@ -2,7 +2,7 @@
|
||||
- name: recreate gitea
|
||||
command:
|
||||
cmd: docker-compose -p gitea up -d --force-recreate
|
||||
chdir: "{{path_docker_compose_folder}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
|
@ -6,12 +6,12 @@
|
||||
template: src=roles/nginx-docker-reverse-proxy/templates/domain.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{path_docker_compose_folder}}"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{path_docker_compose_folder}}"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{path_docker_compose_folder}}docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
|
||||
notify: recreate gitea
|
||||
|
@ -1 +1 @@
|
||||
path_docker_compose_folder: "{{path_docker_compose_files}}gitea/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}gitea/"
|
||||
|
@ -2,7 +2,7 @@
|
||||
- name: recreate joomla
|
||||
command:
|
||||
cmd: docker-compose -p joomla up -d --force-recreate
|
||||
chdir: "{{path_docker_compose_folder}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
|
@ -6,12 +6,12 @@
|
||||
template: src=roles/nginx-docker-reverse-proxy/templates/domain.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{path_docker_compose_folder}}"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{path_docker_compose_folder}}"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{path_docker_compose_folder}}docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
|
||||
notify: recreate joomla
|
@ -1 +1 @@
|
||||
path_docker_compose_folder: "{{path_docker_compose_files}}joomla/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}joomla/"
|
||||
|
49
roles/docker-listmonk/README.md
Normal file
49
roles/docker-listmonk/README.md
Normal file
@ -0,0 +1,49 @@
|
||||
# Docker Listmonk Role
|
||||
|
||||
This role deploys the Listmonk application using Docker. Listmonk is a high performance, self-hosted newsletter and mailing list manager with a modern dashboard.
|
||||
|
||||
## Prerequisites
|
||||
- Docker and Docker Compose should be installed on your system.
|
||||
- Make sure that the required ports are available and not used by other services.
|
||||
|
||||
## Installation and Configuration
|
||||
|
||||
1. **Clone the Repository**:
|
||||
- Ensure you have the latest version of this playbook from the repository.
|
||||
|
||||
2. **Configure Variables**:
|
||||
- Set your desired configurations in `vars/main.yml`. This includes the path to your Docker Compose files and any other relevant variables.
|
||||
|
||||
3. **Run the Playbook**:
|
||||
- Execute the ansible playbook to set up Listmonk.
|
||||
|
||||
4. **Initial Database Setup**:
|
||||
- After the first setup, run the following command to initialize the Listmonk database:
|
||||
```bash
|
||||
docker compose run --rm application ./listmonk --install
|
||||
```
|
||||
|
||||
5. **Configure Reverse Proxy** (Optional):
|
||||
- If you are using a reverse proxy, configure it as per your domain settings in the `nginx-docker-reverse-proxy` role.
|
||||
|
||||
6. **Start Services**:
|
||||
- Use the following command to start Listmonk services:
|
||||
```bash
|
||||
docker-compose -p listmonk up -d --force-recreate
|
||||
```
|
||||
|
||||
## Configuration Files
|
||||
|
||||
- **docker-compose.yml**: Defines the Docker setup for Listmonk and its database.
|
||||
- **config.toml**: Contains the application settings including the database connection, admin credentials, and server settings.
|
||||
|
||||
## Further Information
|
||||
- For detailed installation instructions and configuration options, visit the [Listmonk Installation Documentation](https://listmonk.app/docs/installation/).
|
||||
- You can also find more information on the [Listmonk GitHub Repository](https://github.com/knadh/listmonk/).
|
||||
|
||||
## Dependencies
|
||||
- This role depends on `nginx-docker-reverse-proxy` for setting up a reverse proxy for Listmonk.
|
||||
|
||||
## Developed with AI
|
||||
This Docker Listmonk role was developed with assistance from ChatGPT, a conversational AI by OpenAI. The conversation and guidance provided by ChatGPT can be found [here](https://chat.openai.com/share/95e722f5-3bd9-4203-8755-def2eca4796e).
|
||||
|
@ -1,2 +1,2 @@
|
||||
dependencies:
|
||||
- docker-reverse-proxy
|
||||
- nginx-docker-reverse-proxy
|
||||
|
@ -4,18 +4,24 @@
|
||||
|
||||
- name: configure {{domain}}.conf
|
||||
template:
|
||||
src: "roles/docker-reverse-proxy/templates/domain.conf.j2"
|
||||
src: "roles/nginx-docker-reverse-proxy/templates/domain.conf.j2"
|
||||
dest: "/etc/nginx/conf.d/{{domain}}.conf"
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{path_docker_compose_files}}listmonk/"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{path_docker_compose_files}}listmonk/"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template:
|
||||
src: "docker-compose.yml.j2"
|
||||
dest: "{{path_docker_compose_files}}listmonk/docker-compose.yml"
|
||||
dest: "{{docker_compose_instance_directory}}docker-compose.yml"
|
||||
notify: recreate listmonk
|
||||
|
||||
- name: add config.toml
|
||||
template:
|
||||
src: "config.toml.j2"
|
||||
dest: "{{docker_compose_instance_directory}}config.toml"
|
||||
notify: recreate listmonk
|
@ -1,23 +1,23 @@
|
||||
[app]
|
||||
# Interface and port where the app will run its webserver. The default value
|
||||
# Interface and port where the application will run its webserver. The default value
|
||||
# of localhost will only listen to connections from the current machine. To
|
||||
# listen on all interfaces use '0.0.0.0'. To listen on the default web address
|
||||
# port, use port 80 (this will require running with elevated permissions).
|
||||
address = "localhost:9000"
|
||||
address = "0.0.0.0:9000"
|
||||
|
||||
# BasicAuth authentication for the admin dashboard. This will eventually
|
||||
# be replaced with a better multi-user, role-based authentication system.
|
||||
# IMPORTANT: Leave both values empty to disable authentication on admin
|
||||
# only where an external authentication is already setup.
|
||||
admin_username = "listmonk"
|
||||
admin_password = "listmonk"
|
||||
admin_username = "{{listmonk_admin_username}}"
|
||||
admin_password = "{{listmonk_admin_password}}"
|
||||
|
||||
# Database.
|
||||
[db]
|
||||
host = "localhost"
|
||||
host = "database"
|
||||
port = 5432
|
||||
user = "listmonk"
|
||||
password = "listmonk"
|
||||
password = "{{listmonk_database_password}}"
|
||||
|
||||
# Ensure that this database has been created in Postgres.
|
||||
database = "listmonk"
|
@ -4,24 +4,24 @@
|
||||
|
||||
version: "3.7"
|
||||
|
||||
x-app-defaults: &app-defaults
|
||||
x-application-defaults: &application-defaults
|
||||
restart: unless-stopped
|
||||
image: listmonk/listmonk:latest
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "127.0.0.1:{{http_port}}:9000"
|
||||
networks:
|
||||
- listmonk
|
||||
environment:
|
||||
- TZ=Etc/UTC
|
||||
|
||||
x-db-defaults: &db-defaults
|
||||
image: postgres:13
|
||||
x-database-defaults: &database-defaults
|
||||
image: postgres:13-alpine
|
||||
ports:
|
||||
- "9432:5432"
|
||||
networks:
|
||||
- listmonk
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=listmonk
|
||||
- POSTGRES_PASSWORD={{listmonk_database_password}}
|
||||
- POSTGRES_USER=listmonk
|
||||
- POSTGRES_DB=listmonk
|
||||
restart: unless-stopped
|
||||
@ -32,21 +32,22 @@ x-db-defaults: &db-defaults
|
||||
retries: 6
|
||||
|
||||
services:
|
||||
db:
|
||||
<<: *db-defaults
|
||||
container_name: listmonk_db
|
||||
database:
|
||||
<<: *database-defaults
|
||||
container_name: database
|
||||
volumes:
|
||||
- type: volume
|
||||
source: listmonk-data
|
||||
target: /var/lib/postgresql/data
|
||||
|
||||
app:
|
||||
<<: *app-defaults
|
||||
container_name: listmonk_app
|
||||
application:
|
||||
<<: *application-defaults
|
||||
container_name: listmonk_application
|
||||
depends_on:
|
||||
- db
|
||||
- database
|
||||
volumes:
|
||||
- ./config.toml:/listmonk/config.toml
|
||||
|
||||
networks:
|
||||
listmonk:
|
||||
|
||||
|
1
roles/docker-listmonk/vars/main.yml
Normal file
1
roles/docker-listmonk/vars/main.yml
Normal file
@ -0,0 +1 @@
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}listmonk/"
|
@ -2,7 +2,7 @@
|
||||
- name: recreate mailu
|
||||
command:
|
||||
cmd: docker-compose -p mailu up -d --force-recreate
|
||||
chdir: "{{path_docker_compose_files}}mailu/"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 900
|
||||
DOCKER_CLIENT_TIMEOUT: 900
|
||||
|
@ -36,13 +36,13 @@
|
||||
- name: add docker-compose.yml
|
||||
template:
|
||||
src: "docker-compose.yml.j2"
|
||||
dest: "{{path_docker_compose_files}}mailu/docker-compose.yml"
|
||||
dest: "{{docker_compose_instance_directory}}docker-compose.yml"
|
||||
notify: recreate mailu
|
||||
|
||||
- name: add mailu.env
|
||||
template:
|
||||
src: "mailu.env.j2"
|
||||
dest: "{{path_docker_compose_files}}mailu/mailu.env"
|
||||
dest: "{{docker_compose_instance_directory}}mailu.env"
|
||||
notify: recreate mailu
|
||||
|
||||
- name: add deploy-letsencrypt-mailu.sh
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
cp /etc/letsencrypt/live/{{domain}}/privkey.pem /etc/mailu/certs/key.pem || exit 1
|
||||
cp /etc/letsencrypt/live/{{domain}}/fullchain.pem /etc/mailu/certs/cert.pem || exit 1
|
||||
docker exec {{mailu_front_container_name}} nginx -s reload
|
||||
cd {{docker_compose_instance_directory}} && docker compose exec front nginx -s reload || exit 1
|
||||
|
@ -1 +1 @@
|
||||
mailu_front_container_name: "mailu-front-1"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}mailu/"
|
@ -2,7 +2,7 @@
|
||||
- name: recreate mastodon
|
||||
command:
|
||||
cmd: docker-compose -p mastodon up -d --force-recreate
|
||||
chdir: "{{docker_compose_mastodon_path}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
|
@ -6,19 +6,19 @@
|
||||
template: src=templates/mastodon.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{docker_compose_mastodon_path}}"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{docker_compose_mastodon_path}}"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: copy docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_mastodon_path}}docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
|
||||
notify: recreate mastodon
|
||||
|
||||
- name: copy configuration
|
||||
template:
|
||||
src: .env.production.j2
|
||||
dest: "{{docker_compose_mastodon_path}}.env.production"
|
||||
dest: "{{docker_compose_instance_directory}}.env.production"
|
||||
force: no
|
||||
notify: recreate mastodon
|
||||
|
@ -1 +1 @@
|
||||
docker_compose_mastodon_path: "{{path_docker_compose_files}}mastodon/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}mastodon/"
|
||||
|
@ -2,7 +2,7 @@
|
||||
- name: recreate matomo
|
||||
command:
|
||||
cmd: docker-compose -p matomo up -d --force-recreate
|
||||
chdir: "{{path_docker_compose_files}}matomo/"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
|
@ -8,14 +8,14 @@
|
||||
dest: "/etc/nginx/conf.d/{{domain}}.conf"
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{path_docker_compose_files}}matomo/"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{path_docker_compose_files}}matomo/"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template:
|
||||
src: "docker-compose.yml.j2"
|
||||
dest: "{{path_docker_compose_files}}matomo/docker-compose.yml"
|
||||
dest: "{{docker_compose_instance_directory}}docker-compose.yml"
|
||||
notify: recreate matomo
|
||||
|
2
roles/docker-matomo/vars/main.yml
Normal file
2
roles/docker-matomo/vars/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}matomo/"
|
8
roles/docker-mybb/handlers/main.yml
Normal file
8
roles/docker-mybb/handlers/main.yml
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
- name: recreate mybb
|
||||
command:
|
||||
cmd: docker-compose -p mybb up -d --force-recreate
|
||||
chdir: "{{path_docker_compose_files}}mybb/"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
@ -10,41 +10,13 @@
|
||||
file:
|
||||
path: "{{conf_d_docker_path}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: "create {{default_conf_docker_path}}"
|
||||
template: src="default.conf" dest="{{default_conf_docker_path}}"
|
||||
|
||||
- name: "setup mybb"
|
||||
docker_compose:
|
||||
project_name: mybb
|
||||
definition:
|
||||
application:
|
||||
log_driver: journald
|
||||
image: mybb/mybb:latest
|
||||
restart: always
|
||||
links:
|
||||
- database
|
||||
volumes:
|
||||
- mybb-data:/var/www/html
|
||||
server:
|
||||
log_driver: journald
|
||||
links:
|
||||
- application
|
||||
image: nginx:mainline
|
||||
restart: always
|
||||
ports:
|
||||
- "127.0.0.1:{{http_port}}:80"
|
||||
volumes:
|
||||
- "{{conf_d_docker_path}}:{{conf_d_path}}"
|
||||
- "mybb-data:/var/www/html:ro"
|
||||
database:
|
||||
log_driver: journald
|
||||
image: mariadb
|
||||
environment:
|
||||
MYSQL_DATABASE: "mybb"
|
||||
MYSQL_USER: "mybb"
|
||||
MYSQL_PASSWORD: "{{mybb_database_password}}"
|
||||
MARIADB_AUTO_UPGRADE: "1"
|
||||
volumes:
|
||||
- mybb-database:/var/lib/mysql
|
||||
restart: always
|
||||
- name: add docker-compose.yml
|
||||
template:
|
||||
src: "docker-compose.yml.j2"
|
||||
dest: "{{docker_compose_instance_directory}}docker-compose.yml"
|
||||
notify: recreate matomo
|
||||
|
42
roles/docker-mybb/templates/docker-compose.yml.j2
Normal file
42
roles/docker-mybb/templates/docker-compose.yml.j2
Normal file
@ -0,0 +1,42 @@
|
||||
services:
|
||||
application:
|
||||
log_driver: journald
|
||||
image: mybb/mybb:latest
|
||||
restart: always
|
||||
links:
|
||||
- database
|
||||
volumes:
|
||||
- mybb-data:/var/www/html
|
||||
server:
|
||||
log_driver: journald
|
||||
links:
|
||||
- application
|
||||
image: nginx:mainline
|
||||
restart: always
|
||||
ports:
|
||||
- "127.0.0.1:{{http_port}}:80"
|
||||
volumes:
|
||||
- "{{conf_d_docker_path}}:{{conf_d_path}}"
|
||||
- "mybb-data:/var/www/html:ro"
|
||||
database:
|
||||
log_driver: journald
|
||||
image: mariadb
|
||||
environment:
|
||||
MYSQL_DATABASE: "mybb"
|
||||
MYSQL_USER: "mybb"
|
||||
MYSQL_PASSWORD: "{{mybb_database_password}}"
|
||||
MARIADB_AUTO_UPGRADE: "1"
|
||||
volumes:
|
||||
- database:/var/lib/mysql
|
||||
healthcheck:
|
||||
test: "/usr/bin/mariadb --user=mybb --password={{mybb_database_password}} --execute \"SHOW DATABASES;\""
|
||||
interval: 3s
|
||||
timeout: 1s
|
||||
retries: 5
|
||||
restart: always
|
||||
volumes:
|
||||
database:
|
||||
data:
|
||||
networks:
|
||||
default:
|
||||
driver: bridge
|
@ -1,5 +1,6 @@
|
||||
---
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}mybb/"
|
||||
conf_d_path: "/etc/nginx/conf.d/"
|
||||
#default_conf_path: "/etc/nginx/nginx.conf"
|
||||
conf_d_docker_path: "/etc/docker/applications/mybb{{conf_d_path}}"
|
||||
default_conf_docker_path: "{{conf_d_docker_path}}default.conf"
|
||||
|
@ -2,7 +2,7 @@
|
||||
- name: recreate nextcloud
|
||||
command:
|
||||
cmd: docker-compose -p nextcloud up -d --force-recreate
|
||||
chdir: "{{path_docker_compose_files}}nextcloud/"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
|
@ -20,14 +20,14 @@
|
||||
dest: "{{path_docker_volumes}}nextcloud/nginx.conf"
|
||||
notify: recreate nextcloud
|
||||
|
||||
- name: "create {{path_docker_compose_files}}nextcloud/"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{path_docker_compose_files}}nextcloud/"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: "{{path_docker_compose_files}}nextcloud/docker-compose.yml"
|
||||
dest: "{{docker_compose_instance_directory}}docker-compose.yml"
|
||||
notify: recreate nextcloud
|
||||
|
2
roles/docker-nextcloud/vars/main.yml
Normal file
2
roles/docker-nextcloud/vars/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}nextcloud/"
|
@ -2,7 +2,7 @@
|
||||
- name: recreate peertube
|
||||
command:
|
||||
cmd: docker-compose -p peertube up -d --force-recreate
|
||||
chdir: "{{docker_compose_peertube_path}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
|
@ -6,18 +6,18 @@
|
||||
template: src=templates/peertube.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{docker_compose_peertube_path}}"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{docker_compose_peertube_path}}"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: copy docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_peertube_path}}docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
|
||||
notify: recreate peertube
|
||||
|
||||
- name: copy configuration
|
||||
template:
|
||||
src: env.j2
|
||||
dest: "{{docker_compose_peertube_path}}.env"
|
||||
dest: "{{docker_compose_instance_directory}}.env"
|
||||
notify: recreate peertube
|
||||
|
@ -1 +1 @@
|
||||
docker_compose_peertube_path: "{{path_docker_compose_files}}peertube/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}peertube/"
|
||||
|
@ -6,20 +6,20 @@
|
||||
template: src=roles/nginx-docker-reverse-proxy/templates/domain.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{docker_compose_path}}"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{docker_compose_path}}"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_path}}docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
|
||||
notify: recreate pixelfed
|
||||
|
||||
- name: add env
|
||||
template:
|
||||
src: env.j2
|
||||
dest: "{{docker_compose_path}}env"
|
||||
dest: "{{docker_compose_instance_directory}}env"
|
||||
mode: '770'
|
||||
force: yes
|
||||
notify: recreate pixelfed
|
@ -1,2 +1,2 @@
|
||||
docker_compose_path: "{{path_docker_compose_files}}pixelfed/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}pixelfed/"
|
||||
client_max_body_size: "512M"
|
||||
|
@ -2,7 +2,7 @@
|
||||
- name: recreate and build roulette-wheel
|
||||
command:
|
||||
cmd: docker-compose -p roulette-wheel up -d --force-recreate --build
|
||||
chdir: "{{docker_compose_path}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
@ -6,9 +6,9 @@
|
||||
template: src=roles/nginx-docker-reverse-proxy/templates/domain.conf.j2 dest=/etc/nginx/conf.d/{{domain}}.conf
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{docker_compose_path}}"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{docker_compose_path}}"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
@ -28,9 +28,9 @@
|
||||
when: git_result.failed
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_path}}docker-compose.yml
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
|
||||
notify: recreate and build roulette-wheel
|
||||
|
||||
- name: add Dockerfile
|
||||
template: src=Dockerfile.j2 dest={{docker_compose_path}}Dockerfile
|
||||
template: src=Dockerfile.j2 dest={{docker_compose_instance_directory}}Dockerfile
|
||||
notify: recreate and build roulette-wheel
|
||||
|
@ -1,2 +1,2 @@
|
||||
docker_compose_path: "{{path_docker_compose_files}}roulette-wheel/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}roulette-wheel/"
|
||||
app_path: "{{path_docker_compose_files}}roulette-wheel/app/"
|
@ -2,14 +2,14 @@
|
||||
- name: rebuild wordpress container
|
||||
command:
|
||||
cmd: docker build --no-cache -t custom_wordpress .
|
||||
chdir: "{{docker_compose_wordpress_path}}"
|
||||
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_wordpress_path}}"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
@ -13,28 +13,28 @@
|
||||
template: src=roles/nginx-docker-reverse-proxy/templates/domain.conf.j2 dest=/etc/nginx/conf.d/{{ domain }}.conf
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{docker_compose_wordpress_path}}"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{docker_compose_wordpress_path}}"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: "Transfering upload.ini to {{docker_compose_wordpress_path}}"
|
||||
- name: "Transfering upload.ini to {{docker_compose_instance_directory}}"
|
||||
template:
|
||||
src: upload.ini.j2
|
||||
dest: "{{docker_compose_wordpress_path}}upload.ini"
|
||||
dest: "{{docker_compose_instance_directory}}upload.ini"
|
||||
notify:
|
||||
- recreate wordpress
|
||||
- rebuild wordpress container
|
||||
|
||||
- name: "Transfering Dockerfile to {{docker_compose_wordpress_path}}"
|
||||
- name: "Transfering Dockerfile to {{docker_compose_instance_directory}}"
|
||||
copy:
|
||||
src: Dockerfile
|
||||
dest: "{{docker_compose_wordpress_path}}Dockerfile"
|
||||
dest: "{{docker_compose_instance_directory}}Dockerfile"
|
||||
notify:
|
||||
- recreate wordpress
|
||||
- rebuild wordpress container
|
||||
|
||||
- name: "add docker-compose.yml to {{docker_compose_wordpress_path}}"
|
||||
template: src=docker-compose.yml.j2 dest={{docker_compose_wordpress_path}}docker-compose.yml
|
||||
- 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
|
||||
|
@ -1,2 +1,2 @@
|
||||
docker_compose_wordpress_path: "{{path_docker_compose_files}}wordpress/"
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}wordpress/"
|
||||
wordpress_max_upload_size: "64M"
|
||||
|
@ -2,7 +2,7 @@
|
||||
- name: recreate yourls
|
||||
command:
|
||||
cmd: docker-compose -p yourls up -d --force-recreate
|
||||
chdir: "{{path_docker_compose_files}}yourls/"
|
||||
chdir: "{{docker_compose_instance_directory}}"
|
||||
environment:
|
||||
COMPOSE_HTTP_TIMEOUT: 600
|
||||
DOCKER_CLIENT_TIMEOUT: 600
|
||||
|
@ -8,14 +8,14 @@
|
||||
dest: "/etc/nginx/conf.d/{{domain}}.conf"
|
||||
notify: restart nginx
|
||||
|
||||
- name: "create {{path_docker_compose_files}}yourls/"
|
||||
- name: "create {{docker_compose_instance_directory}}"
|
||||
file:
|
||||
path: "{{path_docker_compose_files}}yourls/"
|
||||
path: "{{docker_compose_instance_directory}}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
|
||||
- name: add docker-compose.yml
|
||||
template:
|
||||
src: "docker-compose.yml.j2"
|
||||
dest: "{{path_docker_compose_files}}yourls/docker-compose.yml"
|
||||
dest: "{{docker_compose_instance_directory}}docker-compose.yml"
|
||||
notify: recreate yourls
|
||||
|
1
roles/docker-yourls/vars/main.yml
Normal file
1
roles/docker-yourls/vars/main.yml
Normal file
@ -0,0 +1 @@
|
||||
docker_compose_instance_directory: "{{path_docker_compose_files}}yourls/"
|
Loading…
Reference in New Issue
Block a user