Compare commits

...

3 Commits

13 changed files with 121 additions and 33 deletions

View File

@ -127,6 +127,7 @@ domain_baserow: "baserow.{{top_domain}}"
domain_bigbluebutton: "meet.{{top_domain}}"
domain_discourse: "forum.{{top_domain}}"
domain_elk: "elk.{{top_domain}}"
domain_friendica: "friendica.{{top_domain}}"
domain_funkwhale: "music.{{top_domain}}"
domain_gitea: "git.{{top_domain}}"
domain_gitlab: "gitlab.{{top_domain}}"

View File

@ -268,6 +268,15 @@
domain: "{{domain_taiga}}"
http_port: 8027
- name: setup friendica hosts
hosts: friendica
become: true
roles:
- role: docker-friendica
vars:
domain: "{{domain_friendica}}"
http_port: 8028
# Native Webserver Roles
- name: setup nginx-homepages
hosts: homepage

View File

@ -10,6 +10,24 @@ services:
env_file:
- /path/to/pds.env
version: "3.8"
services:
pds:
image: bluesky-social/pds:latest
container_name: bluesky_pds
restart: always
ports:
- "80:80"
- "443:443"
environment:
# Geben Sie hier Ihre Domain und Konfigurationsdetails an
PDS_HOSTNAME: "your-domain.com"
PDS_ADMIN_EMAIL: "admin@your-domain.com"
PDS_DB__POSTGRES__URL: "postgres://pdsuser:pdspassword@postgres:5432/pds"
PDS_SERVICE_DID: "did:web:your-domain.com"
volumes:
- data:/data
{% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application:

View File

@ -1,3 +1,3 @@
docker_compose_project_name: "bluesky"
database_password: "{{bluesky_database_password}}"
database_type: "mariadb"
database_type: "postgres"

View File

@ -0,0 +1,4 @@
# role friendica
## More information
- https://hub.docker.com/_/friendica

View File

@ -0,0 +1,10 @@
---
- name: "include docker/compose/database.yml"
include_tasks: docker/compose/database.yml
- 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

@ -0,0 +1,37 @@
services:
{% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application:
image: friendica
restart: always
volumes:
- data:/var/www/html
ports:
- "127.0.0.1:{{http_port}}:80"
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
interval: 1m
timeout: 10s
retries: 3
environment:
- FRIENDICA_URL="https://{{domain}}"
- FRIENDICA_ADMIN_MAIL={{administrator_email}}
- MYSQL_HOST={{database_host}}:3306
- MYSQL_DATABASE={{database_name}}
- MYSQL_USER={{database_username}}
- MYSQL_PASSWORD={{database_password}}
- SMTP={{system_email_host}}
- SMTP_DOMAIN={{ system_email_host }}
- SMTP_PORT={{system_email_smtp_port}}
- SMTP_AUTH_USER={{system_email_username}}
- SMTP_AUTH_PASS={{system_email_password}}
- SMTP_STARTTLS={{system_email_start_tls}}
- SMTP_FROM={{system_email_username}}
{% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
{% include 'templates/docker/compose/volumes.yml.j2' %}
data:
{% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -0,0 +1,3 @@
docker_compose_project_name: "friendica"
database_password: "{{friendica_database_password}}"
database_type: "mariadb"

View File

@ -48,12 +48,6 @@
login_host: 127.0.0.1
login_port: 3306
- name: Grant database privileges
ansible.builtin.shell:
cmd: "docker exec central-mariadb mariadb -u root -p{{ central_mariadb_root_password }} -e \"GRANT ALL PRIVILEGES ON {{database_name}}.* TO '{{database_username}}'@'%';\""
args:
executable: /bin/bash
- name: "Create database user: {{ database_username }}"
mysql_user:
name: "{{database_username}}"
@ -66,6 +60,12 @@
login_host: 127.0.0.1
login_port: 3306
- name: Grant database privileges
ansible.builtin.shell:
cmd: "docker exec central-mariadb mariadb -u root -p{{ central_mariadb_root_password }} -e \"GRANT ALL PRIVILEGES ON {{database_name}}.* TO '{{database_username}}'@'%';\""
args:
executable: /bin/bash
- name: run the docker_mariadb tasks once
set_fact:
run_once_docker_mariadb: true

View File

@ -142,3 +142,6 @@ wfLoadSkin( 'Vector' );
# Add more configuration options below.
EOF
```
## Further Information
This role was adapted to solve some deprecation message. Please test it before using productive. [See this conversation](https://chatgpt.com/share/6781487e-45fc-800f-a35e-e93f49448176).

View File

@ -1,29 +1,10 @@
---
- name: "include docker/compose/database.yml"
include_tasks: docker/compose/database.yml
- name: "include tasks nginx-docker-proxy-domain.yml"
include_tasks: nginx-docker-proxy-domain.yml
- name: "docker mediawiki"
docker_compose:
project_name: mediawiki
definition:
application:
log_driver: journald
image: mediawiki
restart: "{{docker_restart_policy}}"
depends_on:
- database
volumes:
- "mediawiki-data:/var/www/html/"
ports:
- "127.0.0.1:{{http_port}}:80"
database:
log_driver: journald
image: mariadb
environment:
MYSQL_DATABASE: mediawiki
MYSQL_ROOT_PASSWORD: "{{mediawiki_database_password}}"
MYSQL_USER: mediawiki
MYSQL_PASSWORD: "{{mediawiki_database_password}}"
MARIADB_AUTO_UPGRADE: "1"
volumes:
- database:/var/lib/mysql
restart: "{{docker_restart_policy}}"
- 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

@ -0,0 +1,19 @@
services:
{% include 'templates/docker/services/' + database_type + '.yml.j2' %}
application:
log_driver: journald
restart: "{{docker_restart_policy}}"
depends_on:
- database
volumes:
- "mediawiki-data:/var/www/html/"
ports:
- "127.0.0.1:{{http_port}}:80"
{% include 'templates/docker/container/networks.yml.j2' %}
{% include 'templates/docker/container/depends-on-just-database.yml.j2' %}
{% include 'templates/docker/compose/volumes.yml.j2' %}
data:
{% include 'templates/docker/compose/networks.yml.j2' %}

View File

@ -0,0 +1,3 @@
docker_compose_project_name: "mediawiki"
database_password: "{{mediawiki_database_password}}"
database_type: "mariadb"