Add emgauwa service
This commit is contained in:
parent
777a26be98
commit
bb90cec341
7 changed files with 180 additions and 0 deletions
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue