summaryrefslogtreecommitdiff
path: root/baserock_webserver
diff options
context:
space:
mode:
Diffstat (limited to 'baserock_webserver')
-rw-r--r--baserock_webserver/hastebin/haste-server.service.in13
-rw-r--r--baserock_webserver/instance-hastebin-config.yml58
2 files changed, 71 insertions, 0 deletions
diff --git a/baserock_webserver/hastebin/haste-server.service.in b/baserock_webserver/hastebin/haste-server.service.in
new file mode 100644
index 00000000..1da2c588
--- /dev/null
+++ b/baserock_webserver/hastebin/haste-server.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description = Haste server
+
+[Service]
+Type = simple
+WorkingDirectory={{ haste_server_install_location }}
+ExecStart = /usr/bin/node {{ haste_server_install_location }}/server.js
+User = hastebin
+Group = hastebin
+Restart = on-failure
+
+[Install]
+WantedBy=default.target
diff --git a/baserock_webserver/instance-hastebin-config.yml b/baserock_webserver/instance-hastebin-config.yml
new file mode 100644
index 00000000..5447981c
--- /dev/null
+++ b/baserock_webserver/instance-hastebin-config.yml
@@ -0,0 +1,58 @@
+# Instance-specific configuration for the BuildStream Gitlab IRC bot
+---
+- hosts: webserver
+ vars:
+ - haste_server_url: https://github.com/palvarez89/haste-server
+ - haste_server_branch: baserock
+ - haste_server_install_location: /home/hastebin/haste-server
+ - haste_server_service_name: haste-server
+ tasks:
+ - name: Install Git
+ dnf: name=git state=latest
+ become: yes
+
+ - name: Install Redis
+ dnf: name=redis state=latest
+ become: yes
+
+ - name: Start Redis service
+ service:
+ name: redis
+ enabled: yes
+ state: started
+ become: yes
+
+ - name: Install Node.js
+ dnf: name=nodejs state=latest
+ become: yes
+
+ - name: hastebin user
+ user: name=hastebin
+ become: yes
+ become_user: root
+
+ - name: Download hastebin sources
+ git:
+ repo: "{{ haste_server_url }}"
+ version: "{{ haste_server_branch }}"
+ dest: "{{ haste_server_install_location }}"
+ become: yes
+ become_user: hastebin
+
+ - name: Update packages based on package.json to their latest version.
+ npm:
+ path: "{{ haste_server_install_location }}"
+ state: latest
+ become: yes
+ become_user: hastebin
+
+ - name: Install service for the haste server
+ template: src=hastebin/haste-server.service.in dest=/etc/systemd/system/{{ haste_server_service_name }}.service
+ become: yes
+
+ - name: Restart haste service
+ service:
+ name: "{{ haste_server_service_name }}"
+ enabled: yes
+ state: restarted
+ become: yes