瀏覽代碼

[scratch] Add new role for self hosting!

Colin Powell 2 年之前
父節點
當前提交
5ede12e923

+ 4 - 0
lab/ansible/hosts

@@ -37,6 +37,7 @@ pleroma1.local
 podgrab1.local
 prosody1.local
 redis1-master.local
+scratch0.local
 searxng1.local
 sure-porchpals0.local
 syncthing.local
@@ -201,3 +202,6 @@ mpd1.local
 
 [icecast]
 icecast0.local
+
+[scratch]
+scratch0.local

+ 5 - 0
lab/ansible/playbook.yml

@@ -194,6 +194,11 @@
     - role: nginx
     - role: wger
 
+- hosts: scratch
+  roles:
+    - role: immortal
+    - role: scratch
+
 - hosts: test
   roles:
     - role: direnv

+ 3 - 0
lab/ansible/roles/caddy/files/Caddyfile

@@ -183,6 +183,9 @@ library.unbl.ink {
 ko.unbl.ink {
     reverse_proxy calibre.service:8037
 }
+scratch.lab.unbl.ink {
+    reverse_proxy scratch.service:8333
+}
 tracks.unbl.ink {
     reverse_proxy scrobbler.service:8092
 }

+ 8 - 0
lab/ansible/roles/scratch/files/immortal-scratch.yml

@@ -0,0 +1,8 @@
+cmd: npm start
+cwd: /usr/local/src/scratch-www
+log:
+  file: /var/log/scratch.log
+  age: 86400 # log 1 day
+  num: 7 # keep 7 files
+  size: 1 # size of file 1MB
+wait: 1

+ 3 - 0
lab/ansible/roles/scratch/files/nginx-location.conf

@@ -0,0 +1,3 @@
+location /scratch {
+    alias /usr/local/src/scratch-www/build;
+}

+ 25 - 0
lab/ansible/roles/scratch/tasks/main.yml

@@ -0,0 +1,25 @@
+---
+- name: Dependencies installed
+  community.general.pkgng:
+    name: npm-node16,jpeg-turbo,tiff,webp,lcms2,freetype2,yarn-node16,cairo,pango,gmake,pkgconf,pixman
+    state: latest
+
+- name: Source folder exists
+  file:
+    path: /usr/local/src
+    mode: 0755
+    state: directory
+
+- name: scratch-www source deployed
+  git:
+    repo: https://github.com/LLK/scratch-www
+    dest: /usr/local/src/scratch-www
+    update: yes
+  ignore_errors: true
+  tags:
+    - deploy
+
+- name: scratch-www deps installed
+  shell:
+    cmd: npm install
+    chdir: /usr/local/src/scratch-www

+ 8 - 0
lab/ansible/roles/snapcast/templates/snapserver.conf.yml

@@ -0,0 +1,8 @@
+[stream]
+bind_to_address = 0.0.0.0
+port = 1704
+source = tcp://0.0.0.0?name=One
+source = tcp://0.0.0.0:{two_snap_port}?name=Two
+source = tcp://0.0.0.0:{mpd_snap_port}?name=MPD
+codec = flac
+send_to_muted = false

+ 1 - 0
lab/ansible/roles/unbound/files/service.zones

@@ -48,6 +48,7 @@ local-data: "bookwyrm.service   IN      A       192.168.1.248"
 local-data: "mongodb.service    IN      A       192.168.1.131"
 local-data: "prosody.service    IN      A       192.168.1.151"
 local-data: "scrobbler.service  IN      A       192.168.1.156"
+local-data: "scratch.service    IN      A       192.168.1.118"
 local-data: "calibre.service 	IN      A       192.168.1.113"
 local-data: "devpi.service	    IN   	A    	192.168.1.161"
 local-data: "vrobbler.service	IN   	A   	192.168.1.124"

+ 1 - 0
lab/ansible/roles/unbound/files/unblink.zones

@@ -61,6 +61,7 @@ local-data: "xmpp.unbl.ink      IN      A       192.168.1.142"
 local-data: "bastion.unbl.ink   IN      A       192.168.1.142"
 local-data: "library.unbl.ink   IN      A       192.168.1.142"
 local-data: "emus.lab.unbl.ink	IN	    A	    192.168.1.142"
+local-data: "scratch.lab.unbl.ink	IN	A	    192.168.1.142"
 local-data: "vrobbler.lab.unbl.ink  IN	A   	192.168.1.142"
 local-data: "south.cam.timberwyckfarm.com       IN      A       192.168.1.142"
 local-data: "weather.cam.timberwyckfarm.com     IN      A       192.168.1.142"