diff --git a/ansible/inventory/group_vars/all.yaml b/ansible/inventory/group_vars/all.yaml index 1011dd9..e476826 100644 --- a/ansible/inventory/group_vars/all.yaml +++ b/ansible/inventory/group_vars/all.yaml @@ -138,6 +138,8 @@ services: ports: http: "9200" subuid: "100999" + manticore: + subuid: "100998" version: packages: @@ -172,3 +174,4 @@ version: paperless: "2.20.13" vikunja: "2.2.2" opencloud: "4.0.4" + manticore: "25.0.0" diff --git a/ansible/playbooks/app/site.yaml b/ansible/playbooks/app/site.yaml index fbe75e3..d11b4f7 100644 --- a/ansible/playbooks/app/site.yaml +++ b/ansible/playbooks/app/site.yaml @@ -217,6 +217,14 @@ tags: ["site", "opencloud"] tags: ["site", "opencloud"] + - name: Set manticore + ansible.builtin.include_role: + name: "app" + tasks_from: "services/set_manticore" + apply: + tags: ["site", "manticore"] + tags: ["site", "manticore"] + - name: Flush handlers right now ansible.builtin.meta: "flush_handlers" diff --git a/ansible/roles/app/handlers/main.yaml b/ansible/roles/app/handlers/main.yaml index 34148ce..dbf823a 100644 --- a/ansible/roles/app/handlers/main.yaml +++ b/ansible/roles/app/handlers/main.yaml @@ -87,3 +87,14 @@ changed_when: false listen: "notification_restart_opencloud" ignore_errors: true # noqa: ignore-errors + +- name: Restart manticore + ansible.builtin.systemd: + name: "manticore.service" + state: "restarted" + enabled: true + daemon_reload: true + scope: "user" + changed_when: false + listen: "notification_restart_manticore" + ignore_errors: true # noqa: ignore-errors diff --git a/ansible/roles/app/tasks/services/set_manticore.yaml b/ansible/roles/app/tasks/services/set_manticore.yaml new file mode 100644 index 0000000..f52cc1e --- /dev/null +++ b/ansible/roles/app/tasks/services/set_manticore.yaml @@ -0,0 +1,26 @@ +--- +- name: Create manticore directory + ansible.builtin.file: + path: "{{ node['home_path'] }}/data/containers/manticore" + state: "directory" + owner: "{{ services['manticore']['subuid'] }}" + group: "svadmins" + mode: "0770" + become: true + +- name: Deploy manticore.container file + ansible.builtin.template: + src: "{{ hostvars['console']['node']['config_path'] }}/services/containers/app/manticore/manticore.container.j2" + dest: "{{ node['home_path'] }}/.config/containers/systemd/manticore.container" + owner: "{{ ansible_user }}" + group: "svadmins" + mode: "0644" + notify: "notification_restart_manticore" + +- name: Enable manticore.service + ansible.builtin.systemd: + name: "manticore.service" + state: "started" + enabled: true + daemon_reload: true + scope: "user" diff --git a/config/services/containers/app/manticore/manticore.container.j2 b/config/services/containers/app/manticore/manticore.container.j2 new file mode 100644 index 0000000..89912b5 --- /dev/null +++ b/config/services/containers/app/manticore/manticore.container.j2 @@ -0,0 +1,25 @@ +[Quadlet] +DefaultDependencies=false + +[Unit] +Description=Manticore + +[Container] +Image=docker.io/manticoresearch/manticore:{{ version['containers']['manticore'] }} +ContainerName=manticore_{{ manticore_service }} +HostName=manticore_{{ manticore_service }} + +PublishPort={{ services[manticore_service]['ports']['manticore'] }}:9308 + +Volume=%h/data/containers/manticore/{{ manticore_service }}:/var/lib/manticore:rw + +# General +Environment="TZ=Asia/Seoul" + +[Service] +Restart=always +RestartSec=10s +TimeoutStopSec=120 + +[Install] +WantedBy=default.target