Compare commits

...

3 Commits

17 changed files with 83 additions and 36 deletions

View File

@ -115,6 +115,9 @@ nginx_upstreams_directory: "{{nginx_configuration_directory}}upstreams/"
enable_central_database: true
enable_central_database_mailu: "{{enable_central_database}}"
### Enable Storage Optimizer for Docker Volumes
enable_system_storage_optimizer: true
### Domain Names for Various Services
domain_akaunting: "akaunting.{{top_domain}}"
domain_baserow: "baserow.{{top_domain}}"
@ -155,7 +158,7 @@ akaunting_company_email: "DUMMY_VALUE_NEEDS_TO_BE_CHANGED"
akaunting_setup_admin_email: "DUMMY_VALUE_NEEDS_TO_BE_CHANGED"
#### Big Blue Button
bigbluebutton_enable_greenlight: "false"
bigbluebutton_enable_greenlight: "true"
#### Listmonk
listmonk_admin_username: "admin"

View File

@ -3,4 +3,4 @@
become: true
roles:
- role: system-storage-optimizer
when: path_mass_storage or path_rapid_storage
when: (path_mass_storage or path_rapid_storage) and enable_system_storage_optimizer | bool

View File

@ -46,14 +46,23 @@
state: absent
when: mode_reset | bool and run_once_backup_docker_to_local is not defined
- name: Display all database variables
debug:
msg: |
database_instance: "{{ database_instance | default('undefined') }}"
database_name: "{{ database_name | default('undefined') }}"
database_username: "{{ database_username | default('undefined') }}"
database_password: "{{ database_password | default('undefined') }}"
when: mode_verbose | bool
- name: seed database values
command:
cmd: "python database_entry_seeder.py databases.csv {{database_instance}} {{database_name}} {{database_username}} {{database_password}}"
chdir: "{{backup_docker_to_local_folder}}"
when: >
database_host is defined or
database_name is defined or
database_username is defined or
database_instance is defined and
database_name is defined and
database_username is defined and
database_password is defined
- name: Set file permissions for databases.csv to be readable, writable, and executable by root only
@ -63,9 +72,9 @@
owner: root
group: root
when: >
(database_host is defined or
database_name is defined or
database_username is defined or
(database_instance is defined and
database_name is defined and
database_username is defined and
database_password is defined) and
run_once_backup_docker_to_local_file_permission is not defined
register: file_permission_result

View File

@ -5,8 +5,6 @@
- name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml
- name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: docker compose project setup

View File

@ -7,13 +7,12 @@ Role to deploy [BigBlueButton](https://bigbluebutton.org/).
### cleanup
```bash
docker-compose down;
docker volume rm bigbluebutton_bigbluebutton bigbluebutton_html5-static bigbluebutton_vol-freeswitch bigbluebutton_vol-kurento bigbluebutton_vol-mediasoup bigbluebutton_database
docker compose down -v
```
### check container status
```bash
watch -n 2 "docker ps -a | grep bigbluebutton"
watch -n 2 "docker compose ps -a"
```
### database access

View File

@ -7,6 +7,31 @@
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600
listen: setup bigbluebutton
- name: replace postgres bind mount by volume mount
replace:
path: "{{docker_compose_file}}"
regexp: '\./postgres-data:/var/lib/postgresql/data'
replace: 'postgres-data:/var/lib/postgresql/data'
listen: setup bigbluebutton
- name: replace greenlight bind mount by volume mount
replace:
path: "{{docker_compose_file}}"
regexp: '\./greenlight-data:/usr/src/app/storage'
replace: 'greenlight-data:/usr/src/app/storage'
listen: setup bigbluebutton
- name: add volumes to docker compose
blockinfile:
path: "{{docker_compose_file}}"
block: |2
postgres-data:
greenlight-data:
marker: "# {mark} ANSIBLE MANAGED BLOCK FOR VOLUMES"
insertafter: "html5-static:"
listen: setup bigbluebutton
- name: docker compose up bigbluebutton
command:
cmd: docker-compose -p bigbluebutton up -d --force-recreate

View File

@ -1,10 +1,6 @@
---
- name: include docker vars
include_vars: vars/docker-common.yml.j2
- name: load docker compose dependencies
include_role:
name: docker-compose
- name: "include docker-compose-common.yml"
include_tasks: docker-compose-common.yml
- name: "include task certbot-matomo.yml"
include_tasks: certbot-matomo.yml
@ -34,3 +30,24 @@
- name: deploy .env
template: src=env.j2 dest={{docker_compose_instance_directory}}/.env
notify: setup bigbluebutton
- name: flush docker service
meta: flush_handlers
- name: wait for database
pause:
seconds: "{{database_delay}}"
when: mode_setup | bool
- name: create admin
command:
cmd: docker compose exec greenlight bundle exec rake admin:create
chdir: "{{docker_compose_instance_directory}}"
when: mode_setup | bool
ignore_errors: true
register: admin_creation_result
- name: print admin user data
debug:
msg: "{{ admin_creation_result.stdout }}"
when: admin_creation_result is defined

View File

@ -1,6 +1,6 @@
server {
# listen 443 ssl http2 default_server;
# listen [::]:443 ssl http2 default_server;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name {{domain}};
ssl_certificate /etc/letsencrypt/live/{{domain}}/fullchain.pem;

View File

@ -1,6 +1,6 @@
docker_compose_project_name: "bigbluebutton"
#database_host: "postgres" # needs to be fixed
#database_name: "greenlight-v3"
#database_username: "postgres"
#database_password: ""
#database_type: "postgres"
docker_compose_project_name: "bigbluebutton"
docker_compose_file: "{{docker_compose_instance_directory}}/docker-compose.yml"
database_instance: "bigbluebutton"
database_name: "greenlight-v3"
database_username: "postgres"
database_password: "{{bigbluebutton_postgresql_secret}}"

View File

@ -5,7 +5,6 @@
- name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml
- name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: docker compose project setup

View File

@ -5,7 +5,6 @@
- name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml
- name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: docker compose project setup

View File

@ -8,7 +8,6 @@
loop_control:
loop_var: domain
- name: add docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: docker compose project setup

View File

@ -5,7 +5,6 @@
- name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml
- name: add docker-compose.yml
template:
src: "docker-compose.yml.j2"

View File

@ -14,7 +14,6 @@
domain: "{{element_domain}}"
http_port: "{{element_http_port}}"
#- name: "create {{docker_compose_instance_directory}}mautrix_whatsapp"
# file:
# path: "{{docker_compose_instance_directory}}mautrix_whatsapp"

View File

@ -17,7 +17,6 @@
dest: "{{path_docker_volumes}}nextcloud/nginx.conf"
notify: docker compose project setup
- name: add docker-compose.yml
template:
src: docker-compose.yml.j2

View File

@ -8,7 +8,6 @@
loop_control:
loop_var: domain
- name: copy docker-compose.yml
template: src=docker-compose.yml.j2 dest={{docker_compose_instance_directory}}docker-compose.yml
notify: docker compose project setup

View File

@ -25,8 +25,11 @@ def start_containers(containers):
run_command(f"docker start {container_list}")
def is_database(image):
databases = {"postgres", "mariadb", "redis", "memcached"}
return any(database in image for database in databases)
databases = {"postgres", "mariadb", "redis", "memcached", "mongo"}
# Split the string at the colon and take the first part
prefix = image.split(':')[0]
# Check if the prefix is in the database names
return prefix in databases
def is_symbolic_link(file_path):
return os.path.islink(file_path)