diff options
| -rw-r--r-- | playbook.yml | 8 | ||||
| -rw-r--r-- | roles/gonic/tasks/main.yml | 53 | ||||
| -rw-r--r-- | roles/gonic/templates/openrc/gonic | 31 | ||||
| -rw-r--r-- | vars/common.yml | 7 |
4 files changed, 99 insertions, 0 deletions
diff --git a/playbook.yml b/playbook.yml index 69298fa..33c2571 100644 --- a/playbook.yml +++ b/playbook.yml @@ -87,3 +87,11 @@ - common.yml vars: vaultwarden_image_url: docker.io/vaultwarden/server + +- name: Install gonic + hosts: "{{ services.gonic.host }}" + become: true + roles: + - gonic + vars_files: + - common.yml diff --git a/roles/gonic/tasks/main.yml b/roles/gonic/tasks/main.yml new file mode 100644 index 0000000..10832c0 --- /dev/null +++ b/roles/gonic/tasks/main.yml @@ -0,0 +1,53 @@ +- name: Install gonic + community.general.apk: + name: gonic + +- name: Create music folder + ansible.builtin.file: + path: /media/seagate/music + state: directory + +- name: Create podcasts folder + ansible.builtin.file: + path: /media/seagate/podcasts + state: directory + +- name: Create playlists folder + ansible.builtin.file: + path: /media/seagate/playlists + state: directory + +- name: Create cache folder + ansible.builtin.file: + path: /var/gonic/cache + state: directory + +- name: Symlink music folder to /srv + ansible.builtin.file: + src: /media/seagate/music + dest: /srv/music + state: link + +- name: Symlink podcasts folder to /srv + ansible.builtin.file: + src: /media/seagate/podcasts + dest: /srv/podcasts + state: link + +- name: Symlink playlists folder to /srv + ansible.builtin.file: + src: /media/seagate/playlists + dest: /srv/playlists + state: link + +- name: Add gonic service + ansible.builtin.template: + src: openrc/gonic + dest: /etc/init.d/gonic + mode: "755" + +- name: Enable and restart gonic service + ansible.builtin.service: + name: gonic + enabled: true + state: restarted diff --git a/roles/gonic/templates/openrc/gonic b/roles/gonic/templates/openrc/gonic new file mode 100644 index 0000000..fa380b3 --- /dev/null +++ b/roles/gonic/templates/openrc/gonic @@ -0,0 +1,31 @@ +#!/sbin/openrc-run + +description="Run gonic" + +start() +{ + ebegin "Starting gonic" + start-stop-daemon --start \ + --exec /usr/bin/gonic \ + --background \ + --chdir ~mox \ + --stdout /var/log/gonic.log \ + --stderr /var/log/gonic.log \ + --make-pidfile \ + --pidfile /run/gonic.pid \ + -- -music-path /srv/music \ + -playlists-path /srv/playlists \ + -podcast-path /srv/podcasts \ + -cache-path /var/gonic/cache \ + -listen-addr "0.0.0.0:{{ services.gonic.port }}" + eend $? +} + +stop() +{ + ebegin "Stopping gonic" + start-stop-daemon --stop \ + --exec /usr/bingonicmox \ + --pidfile /run/gonic.pid + eend $? +} diff --git a/vars/common.yml b/vars/common.yml index fe330d1..49faeb0 100644 --- a/vars/common.yml +++ b/vars/common.yml @@ -14,6 +14,9 @@ services: gemini: port: 1965 host: blade-canongate + gonic: + port: 3653 + host: blade-canongate http: port: 8080 host: pi-broughton @@ -60,6 +63,10 @@ subdomains: full_domain: mta-sts.mail.joeac.net mox_handler: null service: null + - name: music + full_domain: music.joeac.net + mox_handler: forward + service: gonic - name: pwd full_domain: pwd.joeac.net mox_handler: forward |
