mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-06-28 21:25:31 +02:00
Compare commits
3 Commits
702148cfd0
...
9cd2424c0e
Author | SHA1 | Date | |
---|---|---|---|
9cd2424c0e | |||
0fe33fc9e3 | |||
5aedb71d1c |
@ -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}}"
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -1,3 +1,3 @@
|
||||
docker_compose_project_name: "bluesky"
|
||||
database_password: "{{bluesky_database_password}}"
|
||||
database_type: "mariadb"
|
||||
database_type: "postgres"
|
4
roles/docker-friendica/README.md
Normal file
4
roles/docker-friendica/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
# role friendica
|
||||
|
||||
## More information
|
||||
- https://hub.docker.com/_/friendica
|
10
roles/docker-friendica/tasks/main.yml
Normal file
10
roles/docker-friendica/tasks/main.yml
Normal 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
|
37
roles/docker-friendica/templates/docker-compose.yml.j2
Normal file
37
roles/docker-friendica/templates/docker-compose.yml.j2
Normal 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' %}
|
3
roles/docker-friendica/vars/main.yml
Normal file
3
roles/docker-friendica/vars/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
docker_compose_project_name: "friendica"
|
||||
database_password: "{{friendica_database_password}}"
|
||||
database_type: "mariadb"
|
@ -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
|
||||
|
@ -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).
|
||||
|
@ -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
|
||||
|
19
roles/docker-mediawiki/templates/docker-compose.yml.j2
Normal file
19
roles/docker-mediawiki/templates/docker-compose.yml.j2
Normal 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' %}
|
3
roles/docker-mediawiki/vars/main.yml
Normal file
3
roles/docker-mediawiki/vars/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
docker_compose_project_name: "mediawiki"
|
||||
database_password: "{{mediawiki_database_password}}"
|
||||
database_type: "mariadb"
|
Loading…
x
Reference in New Issue
Block a user