Add emgauwa service
This commit is contained in:
parent
777a26be98
commit
bb90cec341
7 changed files with 180 additions and 0 deletions
|
|
@ -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)
|
||||||
|
|
|
||||||
121
playbooks/roles/emgauwa/defaults/main.yml
Normal file
121
playbooks/roles/emgauwa/defaults/main.yml
Normal 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:
|
||||||
12
playbooks/roles/emgauwa/files/Caddyfile
Normal file
12
playbooks/roles/emgauwa/files/Caddyfile
Normal 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
|
||||||
|
}
|
||||||
3
playbooks/roles/emgauwa/handlers/main.yml
Normal file
3
playbooks/roles/emgauwa/handlers/main.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
- name: Restart service {{ role_name }}
|
||||||
|
ansible.builtin.include_tasks: tasks/restart-service.yml
|
||||||
35
playbooks/roles/emgauwa/tasks/main.yml
Normal file
35
playbooks/roles/emgauwa/tasks/main.yml
Normal 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
|
||||||
|
|
@ -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",
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue