Add emgauwa service

This commit is contained in:
Tobias Reisinger 2026-01-25 22:19:46 +01:00
parent 777a26be98
commit bb90cec341
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
7 changed files with 180 additions and 0 deletions

View file

@ -89,6 +89,8 @@ D("serguzim.me", REG_OVH, DnsProvider(DSP_OVH),
// |___/ |_| |_| // |___/ |_| |_|
D("emgauwa.app", REG_OVH, DnsProvider(DSP_OVH), D("emgauwa.app", REG_OVH, DnsProvider(DSP_OVH),
A("dev", "127.0.0.1"), A("dev", "127.0.0.1"),
CNAME("testing", "emgauwa-testing.netbird.cloud."),
acme_challenge("testing", "88035332-526a-4df9-8a40-42f2592d3ac0"),
all_defaults("emgauwa.app", true), all_defaults("emgauwa.app", true),
emgauwa_records(emgauwa) emgauwa_records(emgauwa)

View file

@ -0,0 +1,121 @@
---
emgauwa_server_port: 4419
emgauwa_server_token: "{{ vault_emgauwa.token }}"
emgauwa_env:
ACMEDNS_USER: "{{ vault_emgauwa.acme_dns.user }}"
ACMEDNS_PASS: "{{ vault_emgauwa.acme_dns.pass }}"
ACMEDNS_SUBD: "{{ vault_emgauwa.acme_dns.subd }}"
ACMEDNS_URL: "{{ vault_emgauwa.acme_dns.url }}"
emgauwa_core_yml:
server:
host: 0.0.0.0
port: "{{ emgauwa_server_port }}"
token: "{{ emgauwa_server_token }}"
database: sqlite:///data/core.sqlite
emgauwa_controller_yml:
server:
host: core
port: "{{ emgauwa_server_port }}"
token: "{{ emgauwa_server_token }}"
relays:
- number: 0
driver: 'null'
pin: 0
inverted: true
- number: 1
driver: 'null'
pin: 1
inverted: true
- number: 2
driver: 'null'
pin: 2
inverted: true
- number: 3
driver: 'null'
pin: 3
inverted: true
- number: 4
driver: 'null'
pin: 4
inverted: true
- number: 5
driver: 'null'
pin: 5
inverted: true
- number: 10
driver: 'null'
pin: 10
inverted: true
pulse: 10
- number: 11
driver: 'null'
pin: 11
inverted: true
pulse: 10
- number: 20
driver: 'null'
pin: 20
inverted: false
- number: 21
driver: 'null'
pin: 21
inverted: false
emgauwa_compose:
watchtower: false
image: "{{ (container_registry.public, 'services/caddy:2-alpine') | path_join }}"
volumes:
- "./Caddyfile:/etc/caddy/Caddyfile:ro"
- caddy:/data
file:
services:
core:
image: "{{ (container_registry.public, 'emgauwa/core') | path_join }}"
command: /usr/bin/emgauwa-core
restart: always
volumes:
- data:/data
- ./emgauwa-core.yml:/etc/emgauwa/core.yml
networks:
default:
controller1:
image: "{{ (container_registry.public, 'emgauwa/controller') | path_join }}"
command: /usr/bin/emgauwa-controller
restart: always
volumes:
- ./emgauwa-controller.yml:/etc/emgauwa/controller.yml
- data:/data
environment:
EMGAUWA_CONTROLLER__DATABASE: sqlite:///data/controller1.sqlite
networks:
default:
controller2:
image: "{{ (container_registry.public, 'emgauwa/controller') | path_join }}"
command: /usr/bin/emgauwa-controller
restart: always
volumes:
- ./emgauwa-controller.yml:/etc/emgauwa/controller.yml
- data:/data
environment:
EMGAUWA_CONTROLLER__DATABASE: sqlite:///data/controller2.sqlite
networks:
default:
netbird:
image: netbirdio/netbird:latest
environment:
NB_SETUP_KEY:
volumes:
- netbird:/var/lib/netbird
cap_add:
- NET_ADMIN
network_mode: 'service:app'
depends_on:
- app
volumes:
caddy:
data:
netbird:

View file

@ -0,0 +1,12 @@
testing.emgauwa.app {
tls {
dns acmedns {
username "{$ACMEDNS_USER}"
password "{$ACMEDNS_PASS}"
subdomain "{$ACMEDNS_SUBD}"
server_url "{$ACMEDNS_URL}"
}
}
reverse_proxy core:4419
}

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -0,0 +1,35 @@
---
- name: Set common facts
ansible.builtin.import_tasks: tasks/set-default-facts.yml
- name: Deploy {{ role_name }}
vars:
env: "{{ emgauwa_env }}"
compose: "{{ emgauwa_compose }}"
block:
- name: Import prepare tasks for common service
ansible.builtin.import_tasks: tasks/prepare-common-service.yml
- name: Copy the Caddyfile
ansible.builtin.copy:
src: Caddyfile
dest: "{{ (service_path, 'Caddyfile') | path_join }}"
mode: "0644"
notify: Restart service {{ role_name }}
- name: Create core config
ansible.builtin.copy:
dest: "{{ (service_path, 'emgauwa-core.yml') | path_join }}"
content: '{{ emgauwa_core_yml | to_nice_yaml }}'
mode: "0644"
notify: Restart service {{ role_name }}
- name: Create controller config
ansible.builtin.copy:
dest: "{{ (service_path, 'emgauwa-controller.yml') | path_join }}"
content: '{{ emgauwa_controller_yml | to_nice_yaml }}'
mode: "0644"
notify: Restart service {{ role_name }}
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -12,6 +12,7 @@ icon_overrides = {
"calibre_web": "calibre-web", "calibre_web": "calibre-web",
"deploy": "adnanh-webhook", "deploy": "adnanh-webhook",
"dmarc_report": None, "dmarc_report": None,
"emgauwa": None,
"extra_services": None, "extra_services": None,
"forgejo_runner": "forgejo", "forgejo_runner": "forgejo",
"healthcheck": "healthchecks", "healthcheck": "healthchecks",

View file

@ -174,6 +174,12 @@ services = {
database = false database = false
}, },
"emgauwa" = {
host = "node002"
auth = false
database = false
},
"extra_services" = { "extra_services" = {
host = "node001" host = "node001"
auth = false auth = false