diff --git a/roles/scanservjs/defaults/main.yml b/roles/scanservjs/defaults/main.yml new file mode 100644 index 0000000..efff6f8 --- /dev/null +++ b/roles/scanservjs/defaults/main.yml @@ -0,0 +1,2 @@ +--- +scanservjs_version: latest diff --git a/roles/scanservjs/handlers/main.yml b/roles/scanservjs/handlers/main.yml new file mode 100644 index 0000000..5cffd92 --- /dev/null +++ b/roles/scanservjs/handlers/main.yml @@ -0,0 +1,6 @@ +--- +- name: Restart scanservjs + ansible.builtin.systemd: + name: scanservjs-container + daemon-reload: true + state: restarted diff --git a/roles/scanservjs/meta/main.yml b/roles/scanservjs/meta/main.yml new file mode 100644 index 0000000..19b52d0 --- /dev/null +++ b/roles/scanservjs/meta/main.yml @@ -0,0 +1,4 @@ +--- +dependencies: + - {role: apache} + - {role: podman} diff --git a/roles/scanservjs/tasks/main.yml b/roles/scanservjs/tasks/main.yml new file mode 100644 index 0000000..160cf8d --- /dev/null +++ b/roles/scanservjs/tasks/main.yml @@ -0,0 +1,38 @@ +--- +- name: Create group + ansible.builtin.group: + name: scanserv + +- name: Create user + ansible.builtin.user: + name: scanserv + comment: Podman Scanservjs + group: scanserv + shell: /sbin/nologin + +- name: Create service file + ansible.builtin.template: + dest: /etc/systemd/system/scanservjs-container.service + src: scanservjs-container.service.j2 + mode: "0644" + owner: root + group: "{{ ansible_wheel }}" + notify: Restart scanservjs + +- name: Enable service + ansible.builtin.service: + name: scanservjs-container + state: started + enabled: true + +- name: Copy apache config + ansible.builtin.copy: + dest: /etc/httpd/conf.local.d/scanservjs-container.conf + content: | + ProxyPass /scanservjs/ http://127.0.0.1:8006/ + ProxyPassReverse /scanservjs/ http://127.0.0.1:8006/ + mode: "0644" + owner: root + group: "{{ ansible_wheel }}" + notify: Restart apache + diff --git a/roles/scanservjs/templates/scanservjs-container.service.j2 b/roles/scanservjs/templates/scanservjs-container.service.j2 new file mode 100644 index 0000000..3a21dee --- /dev/null +++ b/roles/scanservjs/templates/scanservjs-container.service.j2 @@ -0,0 +1,17 @@ +[Unit] +Description=Scanserv Container +Wants=network-online.target +After=network-online.target + +[Service] +User=scanserv +ExecStartPre=/usr/bin/podman pull docker.io/sbs20/scanservjs:{{ scanservjs_version }} +ExecStart=/usr/bin/podman run \ + --rm -p 127.0.0.1:8006:8080 \ + --name scanservjs \ + docker.io/sbs20/scanservjs:{{ scanservjs_version }} +ExecStop=/usr/bin/podman stop --ignore scanservjs +ExecStopPost=/usr/bin/podman rm -f --ignore scanservjs + +[Install] +WantedBy=multi-user.target