Port notes service
This commit is contained in:
parent
e4adcf5afe
commit
6ef28ce61a
@ -43,86 +43,16 @@
|
|||||||
loop_var: "services_service_name"
|
loop_var: "services_service_name"
|
||||||
tags: "always"
|
tags: "always"
|
||||||
|
|
||||||
- name: "services : valkyrie"
|
|
||||||
hosts: "valkyrie"
|
|
||||||
tasks:
|
|
||||||
- name: "deploy"
|
- name: "deploy"
|
||||||
ansible.builtin.include_role:
|
ansible.builtin.include_role:
|
||||||
name: "deploy/rproxy"
|
name: "deploy/{{ services_service_name }}"
|
||||||
apply:
|
apply:
|
||||||
tags:
|
tags:
|
||||||
- "services:{{ services_service_name }}"
|
- "services:{{ services_service_name }}"
|
||||||
- "services:deploy"
|
- "services:deploy"
|
||||||
- "services:deploy:{{ services_service_name }}"
|
- "services:deploy:{{ services_service_name }}"
|
||||||
- "services:{{ services_service_name }}:deploy"
|
- "services:{{ services_service_name }}:deploy"
|
||||||
vars:
|
loop: "{{ services_host_services | dict2items | map(attribute='key') }}"
|
||||||
services_service_name: "rproxy"
|
loop_control:
|
||||||
tags: "always"
|
loop_var: "services_service_name"
|
||||||
|
|
||||||
- name: "deploy"
|
|
||||||
ansible.builtin.include_role:
|
|
||||||
name: "deploy/www"
|
|
||||||
apply:
|
|
||||||
tags:
|
|
||||||
- "services:{{ services_service_name }}"
|
|
||||||
- "services:deploy"
|
|
||||||
- "services:deploy:{{ services_service_name }}"
|
|
||||||
- "services:{{ services_service_name }}:deploy"
|
|
||||||
vars:
|
|
||||||
services_service_name: "www"
|
|
||||||
tags: "always"
|
|
||||||
|
|
||||||
- name: "services : yggdrasil"
|
|
||||||
hosts: "yggdrasil"
|
|
||||||
tasks:
|
|
||||||
- name: "deploy"
|
|
||||||
ansible.builtin.include_role:
|
|
||||||
name: "deploy/lrproxy"
|
|
||||||
apply:
|
|
||||||
tags:
|
|
||||||
- "services:{{ services_service_name }}"
|
|
||||||
- "services:deploy"
|
|
||||||
- "services:deploy:{{ services_service_name }}"
|
|
||||||
- "services:{{ services_service_name }}:deploy"
|
|
||||||
vars:
|
|
||||||
services_service_name: "lrproxy"
|
|
||||||
tags: "always"
|
|
||||||
|
|
||||||
- name: "deploy"
|
|
||||||
ansible.builtin.include_role:
|
|
||||||
name: "deploy/database"
|
|
||||||
apply:
|
|
||||||
tags:
|
|
||||||
- "services:{{ services_service_name }}"
|
|
||||||
- "services:deploy"
|
|
||||||
- "services:deploy:{{ services_service_name }}"
|
|
||||||
- "services:{{ services_service_name }}:deploy"
|
|
||||||
vars:
|
|
||||||
services_service_name: "database"
|
|
||||||
tags: "always"
|
|
||||||
|
|
||||||
- name: "deploy"
|
|
||||||
ansible.builtin.include_role:
|
|
||||||
name: "deploy/cloud"
|
|
||||||
apply:
|
|
||||||
tags:
|
|
||||||
- "services:{{ services_service_name }}"
|
|
||||||
- "services:deploy"
|
|
||||||
- "services:deploy:{{ services_service_name }}"
|
|
||||||
- "services:{{ services_service_name }}:deploy"
|
|
||||||
vars:
|
|
||||||
services_service_name: "cloud"
|
|
||||||
tags: "always"
|
|
||||||
|
|
||||||
- name: "deploy"
|
|
||||||
ansible.builtin.include_role:
|
|
||||||
name: "deploy/git"
|
|
||||||
apply:
|
|
||||||
tags:
|
|
||||||
- "services:{{ services_service_name }}"
|
|
||||||
- "services:deploy"
|
|
||||||
- "services:deploy:{{ services_service_name }}"
|
|
||||||
- "services:{{ services_service_name }}:deploy"
|
|
||||||
vars:
|
|
||||||
services_service_name: "git"
|
|
||||||
tags: "always"
|
tags: "always"
|
||||||
|
53
plays/services/roles/deploy/notes/tasks/main.yml
Normal file
53
plays/services/roles/deploy/notes/tasks/main.yml
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
- name: "set the user variables"
|
||||||
|
ansible.builtin.import_role:
|
||||||
|
name: "include"
|
||||||
|
vars_from: "user"
|
||||||
|
|
||||||
|
- name: "set the version variables"
|
||||||
|
ansible.builtin.import_role:
|
||||||
|
name: "deploy/include"
|
||||||
|
vars_from: "versions"
|
||||||
|
|
||||||
|
- block:
|
||||||
|
|
||||||
|
- name: "configure systemd service"
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "./systemd/{{ item }}.j2"
|
||||||
|
dest: "{{ services_service_user_home }}/.config/systemd/user/{{ item }}"
|
||||||
|
mode: 0644
|
||||||
|
loop:
|
||||||
|
- "pod-notes.service"
|
||||||
|
- "container-notes-joplin.service"
|
||||||
|
- "container-notes-chown.service"
|
||||||
|
register: services_deploy_notes_systemd_files
|
||||||
|
|
||||||
|
- name: "systemd user daemon reload"
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
daemon_reload: true
|
||||||
|
scope: "user"
|
||||||
|
when:
|
||||||
|
services_deploy_notes_systemd_files.changed
|
||||||
|
|
||||||
|
- name: "enable the service"
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: "pod-{{ services_service_name }}.service"
|
||||||
|
enabled: true
|
||||||
|
scope: "user"
|
||||||
|
|
||||||
|
- name: "start the service"
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: "pod-{{ services_service_name }}.service"
|
||||||
|
state: "started"
|
||||||
|
scope: "user"
|
||||||
|
register: services_deploy_notes_service_start
|
||||||
|
|
||||||
|
- name: "restart the service"
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: "pod-{{ services_service_name }}.service"
|
||||||
|
state: restarted
|
||||||
|
scope: user
|
||||||
|
when:
|
||||||
|
services_deploy_notes_systemd_files.changed and
|
||||||
|
not services_deploy_notes_service_start.changed
|
||||||
|
|
||||||
|
become_user: "{{ services_service_user_name }}"
|
@ -19,7 +19,7 @@ ExecStart=/usr/bin/podman run \
|
|||||||
--user=0 \
|
--user=0 \
|
||||||
--entrypoint="/bin/bash" \
|
--entrypoint="/bin/bash" \
|
||||||
--name=pod-notes-chown \
|
--name=pod-notes-chown \
|
||||||
docker.io/joplin/server:{{ versions.notes.joplin }} \
|
docker.io/joplin/server:{{ services_deploy_versions.notes.joplin }} \
|
||||||
-c "chown joplin:joplin /data"
|
-c "chown joplin:joplin /data"
|
||||||
ExecStopPost=/usr/bin/podman rm --ignore -f --cidfile %t/container-notes-chown.ctr-id
|
ExecStopPost=/usr/bin/podman rm --ignore -f --cidfile %t/container-notes-chown.ctr-id
|
||||||
Type=oneshot
|
Type=oneshot
|
@ -21,28 +21,28 @@ ExecStart=/usr/bin/podman run \
|
|||||||
--replace \
|
--replace \
|
||||||
--label "io.containers.autoupdate=image" \
|
--label "io.containers.autoupdate=image" \
|
||||||
-dt \
|
-dt \
|
||||||
--add-host=pod-database:{{ services['database'].address }} \
|
--add-host=pod-database:{{ services_all_services['database'].address }} \
|
||||||
-v /var/lib/yggdrasil/valkyrie-resolv.conf:/etc/resolv.conf:ro \
|
-v /var/lib/yggdrasil/valkyrie-resolv.conf:/etc/resolv.conf:ro \
|
||||||
-v /var/lib/yggdrasil/data/pod-notes/data/_data:/data \
|
-v /var/lib/yggdrasil/data/pod-notes/data/_data:/data \
|
||||||
-e APP_BASE_URL="https://{{ services[service_name].domain }}" \
|
-e APP_BASE_URL="https://{{ services[services_service_name].domain }}" \
|
||||||
-e APP_PORT="22300" \
|
-e APP_PORT="22300" \
|
||||||
-e DB_CLIENT="pg" \
|
-e DB_CLIENT="pg" \
|
||||||
-e POSTGRES_PASSWORD="{{ services[service_name].database_password }}" \
|
-e POSTGRES_PASSWORD="{{ services[services_service_name].database_password }}" \
|
||||||
-e POSTGRES_DATABASE="{{ services[service_name].database_name }}" \
|
-e POSTGRES_DATABASE="{{ services[services_service_name].database_name }}" \
|
||||||
-e POSTGRES_USER="{{ services[service_name].database_user }}" \
|
-e POSTGRES_USER="{{ services[services_service_name].database_user }}" \
|
||||||
-e POSTGRES_PORT="5432" \
|
-e POSTGRES_PORT="5432" \
|
||||||
-e POSTGRES_HOST="pod-database" \
|
-e POSTGRES_HOST="pod-database" \
|
||||||
-e MAILER_ENABLED="true" \
|
-e MAILER_ENABLED="true" \
|
||||||
-e MAILER_HOST="{{ services[service_name].smtp_host }}" \
|
-e MAILER_HOST="{{ services[services_service_name].smtp_host }}" \
|
||||||
-e MAILER_PORT=465 \
|
-e MAILER_PORT=465 \
|
||||||
-e MAILER_SECURITY="tls" \
|
-e MAILER_SECURITY="tls" \
|
||||||
-e MAILER_AUTH_USER="{{ services[service_name].smtp_name }}" \
|
-e MAILER_AUTH_USER="{{ services[services_service_name].smtp_name }}" \
|
||||||
-e MAILER_AUTH_PASSWORD="{{ services[service_name].smtp_password }}" \
|
-e MAILER_AUTH_PASSWORD="{{ services[services_service_name].smtp_password }}" \
|
||||||
-e MAILER_NOREPLY_NAME="Joplin" \
|
-e MAILER_NOREPLY_NAME="Joplin" \
|
||||||
-e MAILER_NOREPLY_EMAIL="notes@{{ services[service_name].domain }}" \
|
-e MAILER_NOREPLY_EMAIL="notes@{{ services[services_service_name].domain }}" \
|
||||||
-e STORAGE_DRIVER="Type=Filesystem; Path=/data" \
|
-e STORAGE_DRIVER="Type=Filesystem; Path=/data" \
|
||||||
--name=pod-notes-joplin \
|
--name=pod-notes-joplin \
|
||||||
docker.io/joplin/server:{{ versions.notes.joplin }}
|
docker.io/joplin/server:{{ services_deploy_versions.notes.joplin }}
|
||||||
ExecStop=/usr/bin/podman stop --ignore --cidfile %t/container-notes-joplin.ctr-id -t 10
|
ExecStop=/usr/bin/podman stop --ignore --cidfile %t/container-notes-joplin.ctr-id -t 10
|
||||||
ExecStopPost=/usr/bin/podman rm --ignore -f --cidfile %t/container-notes-joplin.ctr-id
|
ExecStopPost=/usr/bin/podman rm --ignore -f --cidfile %t/container-notes-joplin.ctr-id
|
||||||
PIDFile=%t/container-notes-joplin.pid
|
PIDFile=%t/container-notes-joplin.pid
|
Loading…
Reference in New Issue
Block a user