Compare commits

..

No commits in common. "b9973dd4bfea68e3277fb94dd5c848a961497e06" and "42d2dca4a35fa61dda0d92c7ad7e051f93c2b75d" have entirely different histories.

35 changed files with 114 additions and 161 deletions

View File

@ -1,7 +1,52 @@
# PASSWORDS AND SECRETS:
akaunting_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
akaunting_setup_admin_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
baserow_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_etherpad_api_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_fsesl_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_rails_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_shared_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_postgresql_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_turn_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
central_mariadb_root_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
central_postgres_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
discourse_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
gitlab_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
gitlab_initial_root_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
gitea_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
listmonk_admin_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
listmonk_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mailu_api_token: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mailu_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mailu_initial_root_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mailu_secret_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_otp_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_secret_key_base: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_vapid_private_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_vapid_public_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matomo_auth_token: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matomo_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_generic_secret_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_form_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_macaroon_secret_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_registration_shared_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
nextcloud_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
openproject_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
peertube_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
peertube_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
pixelfed_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
pixelfed_app_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
wordpress_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
yourls_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
yourls_user_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
# General # General
reset_files: false # Cleans up all CyMaIS files. It's necessary to run to whole playbook and not particial roles when using this function. setup: false # Pass CLI commands to execute the setup tasks for the different roles
verbose: false # Prints well formated debug information verbose: false # Prints well formated debug information
database_delay: "0" # Database delay to wait for the central database before continue tasks
top_domain: "localhost" # Change this in inventory to your domain top_domain: "localhost" # Change this in inventory to your domain
ip4_address: "127.0.0.1" # Change thie in inventory to the ip address of your server ip4_address: "127.0.0.1" # Change thie in inventory to the ip address of your server
backups_folder_path: "/Backups/" # Path to the backups folder backups_folder_path: "/Backups/" # Path to the backups folder
@ -103,13 +148,6 @@ nginx_upstreams_directory: "{{nginx_configuration_directory}}upstreams/"
## Docker Applications ## Docker Applications
### Enable Setup
setup_default: "false" # Pass CLI commands to execute the setup tasks for the different roles
setup_akaunting: "{{setup_default}}"
setup_mailu: "{{setup_default}}"
setup_listmonk: "{{setup_default}}"
setup_mastodon: "{{setup_default}}"
### Enable Central MariaDB ### Enable Central MariaDB
enable_central_database: true enable_central_database: true

View File

@ -1,48 +0,0 @@
# THIS INVENTORY IS AN EXAMPLE INVENTORY.
# You should change all of the variables in here.
# Addidiotnally feel free to overwrite configuration variables of group_vars/all in the enventory
# PASSWORDS AND SECRETS:
akaunting_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
akaunting_setup_admin_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
baserow_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_etherpad_api_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_fsesl_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_rails_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_shared_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_postgresql_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
bigbluebutton_turn_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
central_mariadb_root_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
central_postgres_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
discourse_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
gitlab_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
gitlab_initial_root_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
gitea_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
listmonk_admin_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
listmonk_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mailu_api_token: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mailu_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mailu_initial_root_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mailu_secret_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_otp_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_secret_key_base: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_vapid_private_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
mastodon_vapid_public_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matomo_auth_token: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matomo_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_generic_secret_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_form_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_macaroon_secret_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
matrix_registration_shared_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
nextcloud_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
openproject_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
peertube_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
peertube_secret: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
pixelfed_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
pixelfed_app_key: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
wordpress_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
yourls_database_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"
yourls_user_password: "I_NEED_TO_CHANGE_THIS_UNSECURE_PASSWORD"

View File

@ -1,9 +1,8 @@
- name: install required software - name: install pandas system wide
community.general.pacman: community.general.pacman:
name: name:
- lsof - lsof
- python-pandas - python-pandas
- jq
state: present state: present
when: run_once_backup_docker_to_local is not defined when: run_once_backup_docker_to_local is not defined
@ -41,19 +40,13 @@
on_calendar: "{{on_calendar_backup_docker_to_local}}" on_calendar: "{{on_calendar_backup_docker_to_local}}"
when: run_once_backup_docker_to_local is not defined when: run_once_backup_docker_to_local is not defined
- name: "reset {{ backup_docker_to_local_folder }}databases.csv"
file:
path: "{{ backup_docker_to_local_folder }}databases.csv"
state: absent
when: reset_files | bool and run_once_backup_docker_to_local is not defined
- name: seed database values - name: seed database values
command: command:
cmd: "python database_entry_seeder.py databases.csv {{database_instance}} {{database_name}} {{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_host is defined or database_host is defined or
database_name is defined or database_databasename is defined or
database_username is defined or database_username is defined or
database_password is defined database_password is defined
@ -65,7 +58,7 @@
group: root group: root
when: > when: >
(database_host is defined or (database_host is defined or
database_name is defined or database_databasename is defined or
database_username is defined or database_username is defined or
database_password is defined) and database_password is defined) and
run_once_backup_docker_to_local_file_permission is not defined run_once_backup_docker_to_local_file_permission is not defined

View File

@ -6,7 +6,7 @@ LOCALE=en-US
DB_HOST={{database_host}} DB_HOST={{database_host}}
# Change these to match env/db.env # Change these to match env/db.env
DB_DATABASE={{database_name}} DB_DATABASE={{database_databasename}}
DB_USERNAME={{database_username}} DB_USERNAME={{database_username}}
DB_PASSWORD={{database_password}} DB_PASSWORD={{database_password}}

View File

@ -6,9 +6,8 @@ services:
{% include 'templates/docker-service-' + database_type + '.yml.j2' %} {% include 'templates/docker-service-' + database_type + '.yml.j2' %}
application: baserow:
image: baserow/baserow:1.19.1 image: baserow/baserow:1.19.1
container_name: baserow-application
restart: always restart: always
logging: logging:
driver: journald driver: journald
@ -18,13 +17,8 @@ services:
- data:/baserow/data - data:/baserow/data
ports: ports:
- "{{http_port}}:80" - "{{http_port}}:80"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80/"]
interval: 1m
timeout: 10s
retries: 3
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-database-redis.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
{% include 'templates/docker-compose-volumes.yml.j2' %} {% include 'templates/docker-compose-volumes.yml.j2' %}
data: data:

View File

@ -10,9 +10,11 @@ EMAIL_SMTP_PASSWORD={{ system_email_password }}
EMAIL_SMTP_USE_TLS={{ system_email_tls | upper }} EMAIL_SMTP_USE_TLS={{ system_email_tls | upper }}
DATABASE_USER={{ database_username }} DATABASE_USER={{ database_username }}
DATABASE_NAME={{ database_name }} DATABASE_NAME={{ database_databasename }}
DATABASE_HOST={{ database_host }} DATABASE_HOST={{ database_host }}
DATABASE_PORT=5432 DATABASE_PORT=5432
DATABASE_PASSWORD={{ database_password }} DATABASE_PASSWORD={{ database_password }}
REDIS_URL=redis://redis:6379 REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=

View File

@ -1,6 +1,6 @@
docker_compose_project_name: "bigbluebutton" docker_compose_project_name: "bigbluebutton"
database_host: "postgres" # needs to be fixed database_host: "postgres" # needs to be fixed
database_name: "greenlight-v3" database_databasename: "greenlight-v3"
database_username: "postgres" database_username: "postgres"
database_password: "" database_password: ""
database_type: "postgres" database_type: "postgres"

View File

@ -67,7 +67,7 @@ env:
DISCOURSE_DB_USERNAME: {{ database_username }} DISCOURSE_DB_USERNAME: {{ database_username }}
DISCOURSE_DB_PASSWORD: {{ database_password }} DISCOURSE_DB_PASSWORD: {{ database_password }}
DISCOURSE_DB_HOST: {{ database_host }} DISCOURSE_DB_HOST: {{ database_host }}
DISCOURSE_DB_NAME: {{ database_name }} DISCOURSE_DB_NAME: {{ database_databasename }}
# Redis Configuration # Redis Configuration
DISCOURSE_REDIS_HOST: {{docker_compose_project_name}}-redis DISCOURSE_REDIS_HOST: {{docker_compose_project_name}}-redis

View File

@ -14,7 +14,7 @@ services:
- USER_GID=1000 - USER_GID=1000
- DB_TYPE=mysql - DB_TYPE=mysql
- DB_HOST={{database_host}}:3306 - DB_HOST={{database_host}}:3306
- DB_NAME={{database_name}} - DB_NAME={{database_databasename}}
- DB_USER={{database_username}} - DB_USER={{database_username}}
- DB_PASSWD={{database_password}} - DB_PASSWD={{database_password}}
- SSH_PORT={{ssh_port}} - SSH_PORT={{ssh_port}}
@ -30,11 +30,6 @@ services:
- data:/data - data:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:3000"]
interval: 1m
timeout: 10s
retries: 3
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}

View File

@ -16,7 +16,7 @@ This Ansible role is designed for setting up and managing a GitLab server runnin
## Role Variables ## Role Variables
Variables are defined in `vars/main.yml`. Key variables include: Variables are defined in `vars/main.yml`. Key variables include:
- `docker_compose_instance_directory`: Directory for Docker Compose instances. - `docker_compose_instance_directory`: Directory for Docker Compose instances.
- `docker_compose_project_name`, `database_host`, `database_name`, `database_username`, `database_password`: Database configuration variables. - `docker_compose_project_name`, `database_host`, `database_databasename`, `database_username`, `database_password`: Database configuration variables.
## Handlers ## Handlers
- `recreate gitlab`: Restarts GitLab using Docker Compose when changes are detected. - `recreate gitlab`: Restarts GitLab using Docker Compose when changes are detected.

View File

@ -20,7 +20,7 @@ services:
gitlab_rails['db_port'] = 5432 gitlab_rails['db_port'] = 5432
gitlab_rails['db_username'] = '{{database_username}}' gitlab_rails['db_username'] = '{{database_username}}'
gitlab_rails['db_password'] = '{{database_password}}' gitlab_rails['db_password'] = '{{database_password}}'
gitlab_rails['db_database'] = "{{database_name}}" gitlab_rails['db_database'] = "{{database_databasename}}"
nginx['listen_port'] = 80 nginx['listen_port'] = 80
nginx['listen_https'] = false nginx['listen_https'] = false

View File

@ -12,7 +12,7 @@ services:
JOOMLA_DB_HOST: "{{database_host}}:3306" JOOMLA_DB_HOST: "{{database_host}}:3306"
JOOMLA_DB_USER: "{{database_username}}" JOOMLA_DB_USER: "{{database_username}}"
JOOMLA_DB_PASSWORD: "{{database_password}}" JOOMLA_DB_PASSWORD: "{{database_password}}"
JOOMLA_DB_NAME: "{{database_name}}" JOOMLA_DB_NAME: "{{database_databasename}}"
restart: always restart: always
volumes: volumes:
- data:/var/www/html - data:/var/www/html

View File

@ -29,6 +29,6 @@
- name: setup routine for listmonk - name: setup routine for listmonk
command: command:
cmd: docker compose run -T --rm application sh -c "yes | ./listmonk --install" cmd: "yes | docker compose run -T --rm application ./listmonk --install"
chdir: "{{docker_compose_instance_directory}}" chdir: "{{docker_compose_instance_directory}}"
when: setup | bool when: setup | bool

View File

@ -20,7 +20,7 @@ user = "{{database_username}}"
password = "{{database_password}}" password = "{{database_password}}"
# Ensure that this database has been created in Postgres. # Ensure that this database has been created in Postgres.
database = "{{database_name}}" database = "{{database_databasename}}"
ssl_mode = "disable" ssl_mode = "disable"
max_open = 25 max_open = 25

View File

@ -66,14 +66,6 @@
meta: flush_handlers meta: flush_handlers
when: setup | bool when: setup | bool
- name: wait for database
wait_for:
host: 127.0.0.1
port: "{{ http_port }}"
delay: "{{database_delay}}"
timeout: 300
when: setup | bool
- name: execute database migration - name: execute database migration
command: command:
cmd: "docker compose -p mailu exec admin flask mailu admin admin {{top_domain}} {{mailu_initial_root_password}}" cmd: "docker compose -p mailu exec admin flask mailu admin admin {{top_domain}} {{mailu_initial_root_password}}"

View File

@ -143,11 +143,11 @@ DB_FLAVOR=mysql
DB_USER={{database_username}} DB_USER={{database_username}}
DB_PW={{database_password}} DB_PW={{database_password}}
DB_HOST={{database_host}}:3306 DB_HOST={{database_host}}:3306
DB_NAME={{database_name}} DB_NAME={{database_databasename}}
ROUNDCUBE_DB_FLAVOR=mysql ROUNDCUBE_DB_FLAVOR=mysql
ROUNDCUBE_DB_USER={{database_username}} ROUNDCUBE_DB_USER={{database_username}}
ROUNDCUBE_DB_PW={{database_password}} ROUNDCUBE_DB_PW={{database_password}}
ROUNDCUBE_DB_NAME={{database_name}} ROUNDCUBE_DB_NAME={{database_databasename}}
ROUNDCUBE_DB_HOST={{database_host}}:3306 ROUNDCUBE_DB_HOST={{database_host}}:3306

View File

@ -19,7 +19,7 @@ Before using this role, ensure you have the following:
## Configuration ## Configuration
Configure the role by setting the required variables. These can be set in the playbook or in a separate variable file: Configure the role by setting the required variables. These can be set in the playbook or in a separate variable file:
- `central_mariadb_root_password`: The root password for the MariaDB server. - `central_mariadb_root_password`: The root password for the MariaDB server.
- `database_name`: The name of the initial database to create. - `database_databasename`: The name of the initial database to create.
- `database_username`: The username for the database user. - `database_username`: The username for the database user.
- `database_password`: The password for the database user. - `database_password`: The password for the database user.

View File

@ -42,13 +42,13 @@
wait_for: wait_for:
host: 127.0.0.1 host: 127.0.0.1
port: 3306 port: 3306
delay: "{{database_delay}}" delay: 10
timeout: 300 timeout: 300
when: run_once_docker_mariadb is not defined when: run_once_docker_mariadb is not defined
- name: "Create database: {{ database_name }}" - name: "Create database: {{ database_databasename }}"
mysql_db: mysql_db:
name: "{{ database_name }}" name: "{{ database_databasename }}"
state: present state: present
login_user: root login_user: root
login_password: "{{ central_mariadb_root_password }}" login_password: "{{ central_mariadb_root_password }}"
@ -60,7 +60,7 @@
name: "{{database_username}}" name: "{{database_username}}"
password: "{{database_password}}" password: "{{database_password}}"
host: "%" host: "%"
priv: '{{database_name}}.*:ALL' priv: '{{database_databasename}}.*:ALL'
state: present state: present
login_user: root login_user: root
login_password: "{{central_mariadb_root_password}}" login_password: "{{central_mariadb_root_password}}"

View File

@ -8,7 +8,7 @@ VAPID_PUBLIC_KEY={{mastodon_vapid_public_key}}
DB_HOST={{database_host}} DB_HOST={{database_host}}
DB_PORT=5432 DB_PORT=5432
DB_NAME={{database_name}} DB_NAME={{database_databasename}}
DB_USER={{database_username}} DB_USER={{database_username}}
DB_PASS={{database_password}} DB_PASS={{database_password}}

View File

@ -16,7 +16,7 @@ services:
MATOMO_DATABASE_ADAPTER: "mysql" MATOMO_DATABASE_ADAPTER: "mysql"
MATOMO_DATABASE_USERNAME: "{{database_username}}" MATOMO_DATABASE_USERNAME: "{{database_username}}"
MATOMO_DATABASE_PASSWORD: "{{database_password}}" MATOMO_DATABASE_PASSWORD: "{{database_password}}"
MATOMO_DATABASE_DBNAME: "{{database_name}}" MATOMO_DATABASE_DBNAME: "{{database_databasename}}"
volumes: volumes:
- data:/var/www/html - data:/var/www/html
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}

View File

@ -13,7 +13,7 @@ database:
args: args:
user: "{{database_username}}" user: "{{database_username}}"
password: "{{database_password}}" password: "{{database_password}}"
database: "{{database_name}}" database: "{{database_databasename}}"
host: "{{database_host}}" host: "{{database_host}}"
cp_min: 5 cp_min: 5
cp_max: 10 cp_max: 10

View File

@ -14,7 +14,7 @@ services:
volumes: volumes:
- data:/var/www/html - data:/var/www/html
environment: environment:
MYSQL_DATABASE: "{{database_name}}" MYSQL_DATABASE: "{{database_databasename}}"
MYSQL_USER: "{{database_username}}" MYSQL_USER: "{{database_username}}"
MYSQL_PASSWORD: "{{database_password}}" MYSQL_PASSWORD: "{{database_password}}"
MYSQL_HOST: {{database_host}}:3306 MYSQL_HOST: {{database_host}}:3306
@ -32,11 +32,6 @@ services:
- "{{path_docker_volumes}}nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro" - "{{path_docker_volumes}}nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro"
volumes_from: volumes_from:
- application - application
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80/"]
interval: 1m
timeout: 10s
retries: 3
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
cron: cron:

View File

@ -13,6 +13,6 @@ PORT=127.0.0.1:{{http_port}}
OPENPROJECT_RAILS__RELATIVE__URL__ROOT= OPENPROJECT_RAILS__RELATIVE__URL__ROOT=
IMAP_ENABLED=false IMAP_ENABLED=false
POSTGRES_PASSWORD="{{ database_password }}" POSTGRES_PASSWORD="{{ database_password }}"
DATABASE_URL="postgres://{{ database_username }}:{{ database_password }}@{{database_host}}/{{database_name}}?pool=20&encoding=unicode&reconnect=true" DATABASE_URL="postgres://{{ database_username }}:{{ database_password }}@{{database_host}}/{{database_databasename}}?pool=20&encoding=unicode&reconnect=true"
RAILS_MIN_THREADS=4 RAILS_MIN_THREADS=4
RAILS_MAX_THREADS=16 RAILS_MAX_THREADS=16

View File

@ -1,7 +1,7 @@
# Database / Postgres service configuration # Database / Postgres service configuration
POSTGRES_USER={{database_username}} POSTGRES_USER={{database_username}}
POSTGRES_PASSWORD={{peertube_database_password}} POSTGRES_PASSWORD={{peertube_database_password}}
POSTGRES_DB={{database_name}} POSTGRES_DB={{database_databasename}}
PEERTUBE_DB_USERNAME={{database_username}} PEERTUBE_DB_USERNAME={{database_username}}
PEERTUBE_DB_PASSWORD={{peertube_database_password}} PEERTUBE_DB_PASSWORD={{peertube_database_password}}
PEERTUBE_DB_SSL=false PEERTUBE_DB_SSL=false

View File

@ -1,3 +1,3 @@
docker_compose_project_name: "peertube" docker_compose_project_name: "peertube"
database_type: "postgres" database_type: "mariadb"
database_password: "{{peertube_database_password}}" database_password: "{{peertube_database_password}}"

View File

@ -56,7 +56,7 @@ MAIL_ENCRYPTION=tls
## Databases (MySQL) ## Databases (MySQL)
DB_CONNECTION=mysql DB_CONNECTION=mysql
DB_DATABASE={{database_name}} DB_DATABASE={{database_databasename}}
DB_HOST={{database_host}} DB_HOST={{database_host}}
DB_PASSWORD="{{pixelfed_database_password}}" DB_PASSWORD="{{pixelfed_database_password}}"
DB_PORT=3306 DB_PORT=3306

View File

@ -5,7 +5,7 @@ This Ansible role is designed to deploy a PostgreSQL database using Docker. It i
## Role Variables ## Role Variables
- `central_postgres_password`: The password for the PostgreSQL superuser (`postgres`). - `central_postgres_password`: The password for the PostgreSQL superuser (`postgres`).
- `database_name`: Name of the database to be created. - `database_databasename`: Name of the database to be created.
- `database_username`: Username for the database user. - `database_username`: Username for the database user.
- `database_password`: Password for the database user. - `database_password`: Password for the database user.

View File

@ -31,7 +31,7 @@
wait_for: wait_for:
host: "127.0.0.1" host: "127.0.0.1"
port: "5432" port: "5432"
delay: "{{database_delay}}" delay: 0
timeout: 300 timeout: 300
when: run_once_docker_postgres is not defined when: run_once_docker_postgres is not defined
@ -41,9 +41,9 @@
state: present state: present
when: run_once_docker_postgres is not defined when: run_once_docker_postgres is not defined
- name: "Create database: {{ database_name }}" - name: "Create database: {{ database_databasename }}"
postgresql_db: postgresql_db:
name: "{{ database_name }}" name: "{{ database_databasename }}"
state: present state: present
login_user: postgres login_user: postgres
login_password: "{{ central_postgres_password }}" login_password: "{{ central_postgres_password }}"
@ -54,7 +54,7 @@
postgresql_user: postgresql_user:
name: "{{ database_username }}" name: "{{ database_username }}"
password: "{{ database_password }}" password: "{{ database_password }}"
db: "{{ database_name }}" db: "{{ database_databasename }}"
state: present state: present
login_user: postgres login_user: postgres
login_password: "{{ central_postgres_password }}" login_password: "{{ central_postgres_password }}"
@ -63,7 +63,7 @@
- name: "Set privileges for database user: {{ database_username }}" - name: "Set privileges for database user: {{ database_username }}"
postgresql_privs: postgresql_privs:
db: "{{ database_name }}" db: "{{ database_databasename }}"
role: "{{ database_username }}" role: "{{ database_username }}"
objs: ALL_IN_SCHEMA objs: ALL_IN_SCHEMA
privs: ALL privs: ALL
@ -76,7 +76,7 @@
- name: Grant all privileges at the database level - name: Grant all privileges at the database level
postgresql_privs: postgresql_privs:
db: "{{ database_name }}" db: "{{ database_databasename }}"
role: "{{ database_username }}" role: "{{ database_username }}"
privs: ALL privs: ALL
type: database type: database
@ -88,7 +88,7 @@
- name: Grant all privileges on all tables in the public schema - name: Grant all privileges on all tables in the public schema
postgresql_privs: postgresql_privs:
db: "{{ database_name }}" db: "{{ database_databasename }}"
role: "{{ database_username }}" role: "{{ database_username }}"
objs: ALL_IN_SCHEMA objs: ALL_IN_SCHEMA
privs: ALL privs: ALL
@ -102,7 +102,7 @@
- name: Set comprehensive privileges for user on public schema - name: Set comprehensive privileges for user on public schema
postgresql_query: postgresql_query:
db: "{{ database_name }}" db: "{{ database_databasename }}"
login_user: postgres login_user: postgres
login_password: "{{ central_postgres_password }}" login_password: "{{ central_postgres_password }}"
login_host: 127.0.0.1 login_host: 127.0.0.1

View File

@ -14,14 +14,9 @@ services:
WORDPRESS_DB_HOST: "{{database_host}}:3306" WORDPRESS_DB_HOST: "{{database_host}}:3306"
WORDPRESS_DB_USER: "{{database_username}}" WORDPRESS_DB_USER: "{{database_username}}"
WORDPRESS_DB_PASSWORD: "{{database_password}}" WORDPRESS_DB_PASSWORD: "{{database_password}}"
WORDPRESS_DB_NAME: "{{database_name}}" WORDPRESS_DB_NAME: "{{database_databasename}}"
volumes: volumes:
- data:/var/www/html - data:/var/www/html
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80/"]
interval: 1m
timeout: 10s
retries: 3
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}

View File

@ -15,15 +15,10 @@ services:
YOURLS_DB_HOST: "{{database_host}}" YOURLS_DB_HOST: "{{database_host}}"
YOURLS_DB_USER: "{{database_username}}" YOURLS_DB_USER: "{{database_username}}"
YOURLS_DB_PASS: "{{database_password}}" YOURLS_DB_PASS: "{{database_password}}"
YOURLS_DB_NAME: "{{database_name}}" YOURLS_DB_NAME: "{{database_databasename}}"
YOURLS_SITE: "https://{{domain}}" YOURLS_SITE: "https://{{domain}}"
YOURLS_USER: "{{yourls_user}}" YOURLS_USER: "{{yourls_user}}"
YOURLS_PASS: "{{yourls_user_password}}" YOURLS_PASS: "{{yourls_user_password}}"
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1/admin/"]
interval: 1m
timeout: 10s
retries: 3
{% include 'templates/docker-container-depends-on-just-database.yml.j2' %} {% include 'templates/docker-container-depends-on-just-database.yml.j2' %}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}

View File

@ -8,9 +8,15 @@
dest: "{{nginx_servers_directory}}{{domain}}.conf" dest: "{{nginx_servers_directory}}{{domain}}.conf"
notify: restart nginx notify: restart nginx
- name: "pull homepage from {{nginx_homepage_repository_address}}" - name: nginx-homepage repo git
git: git:
repo: "{{nginx_homepage_repository_address}}" repo: "{{nginx_homepage_repository_address}}"
dest: "{{nginx_homepage_root}}" dest: "{{nginx_homepage_root}}"
update: yes update: yes
register: git_result
ignore_errors: true ignore_errors: true
- name: Warn if repo is not reachable
debug:
msg: "Warning: Repository is not reachable."
when: git_result.failed

View File

@ -77,7 +77,6 @@
vars: vars:
domain: "{{domain_mailu}}" domain: "{{domain_mailu}}"
http_port: 8007 http_port: 8007
setup: "{{ setup_mailu }}"
- name: setup elk hosts - name: setup elk hosts
hosts: elk hosts: elk
@ -98,7 +97,6 @@
domains: "{{ [domain] + domains_mastodon_alternates }}" domains: "{{ [domain] + domains_mastodon_alternates }}"
http_port: 8009 http_port: 8009
stream_port: 4001 stream_port: 4001
setup: "{{ setup_mastodon }}"
- name: setup pixelfed hosts - name: setup pixelfed hosts
hosts: pixelfed hosts: pixelfed
@ -190,7 +188,6 @@
vars: vars:
domain: "{{domain_listmonk}}" domain: "{{domain_listmonk}}"
http_port: 8019 http_port: 8019
setup: "{{ setup_listmonk }}"
- name: setup discourse - name: setup discourse
hosts: discourse hosts: discourse
@ -249,7 +246,6 @@
vars: vars:
domain: "{{domain_akaunting}}" domain: "{{domain_akaunting}}"
http_port: 8025 http_port: 8025
setup: "{{ setup_akaunting }}"
# Native Webserver Roles # Native Webserver Roles
- name: setup nginx-homepages - name: setup nginx-homepages

View File

@ -7,7 +7,7 @@
image: mariadb image: mariadb
restart: always restart: always
environment: environment:
MYSQL_DATABASE: "{{database_name}}" MYSQL_DATABASE: "{{database_databasename}}"
MYSQL_USER: "{{database_username}}" MYSQL_USER: "{{database_username}}"
MYSQL_PASSWORD: "{{database_password}}" MYSQL_PASSWORD: "{{database_password}}"
MYSQL_ROOT_PASSWORD: "{{database_password}}" MYSQL_ROOT_PASSWORD: "{{database_password}}"

View File

@ -6,11 +6,11 @@
environment: environment:
- POSTGRES_PASSWORD={{database_password}} - POSTGRES_PASSWORD={{database_password}}
- POSTGRES_USER={{database_username}} - POSTGRES_USER={{database_username}}
- POSTGRES_DB={{database_name}} - POSTGRES_DB={{database_databasename}}
- POSTGRES_INITDB_ARGS="--encoding=UTF8 --locale=C" - POSTGRES_INITDB_ARGS="--encoding=UTF8 --locale=C"
restart: always restart: always
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U {{database_name}}"] test: ["CMD-SHELL", "pg_isready -U {{database_databasename}}"]
interval: 10s interval: 10s
timeout: 5s timeout: 5s
retries: 6 retries: 6

View File

@ -1,6 +1,6 @@
docker_compose_instance_directory: "{{ path_docker_compose_instances + docker_compose_project_name + '/' }}" docker_compose_instance_directory: "{{ path_docker_compose_instances + docker_compose_project_name + '/' }}"
database_instance: "{{ 'central-' + database_type if enable_central_database else docker_compose_project_name }}"
database_host: "{{ 'central-' + database_type if enable_central_database else 'database' }}" database_host: "{{ 'central-' + database_type if enable_central_database else 'database' }}"
database_name: "{{ docker_compose_project_name }}" database_databasename: "{{ docker_compose_project_name }}"
database_username: "{{ docker_compose_project_name }}" database_username: "{{ docker_compose_project_name }}"
database_version: "{{ postgres_default_version }}" database_version: "{{ postgres_default_version }}"
# This will lead to problems with bbb and openproject