summaryrefslogtreecommitdiff
path: root/roles/brentj.es
diff options
context:
space:
mode:
Diffstat (limited to 'roles/brentj.es')
-rw-r--r--roles/brentj.es/handlers/main.yml4
-rw-r--r--roles/brentj.es/meta/main.yml4
-rw-r--r--roles/brentj.es/tasks/main.yml50
-rw-r--r--roles/brentj.es/templates/brentj.es.j257
-rw-r--r--roles/brentj.es/templates/jekylld.service.j212
5 files changed, 127 insertions, 0 deletions
diff --git a/roles/brentj.es/handlers/main.yml b/roles/brentj.es/handlers/main.yml
new file mode 100644
index 0000000..44b229f
--- /dev/null
+++ b/roles/brentj.es/handlers/main.yml
@@ -0,0 +1,4 @@
+---
+- name: Reload systemd
+ become: yes
+ command: systemctl daemon-reload
diff --git a/roles/brentj.es/meta/main.yml b/roles/brentj.es/meta/main.yml
new file mode 100644
index 0000000..414539c
--- /dev/null
+++ b/roles/brentj.es/meta/main.yml
@@ -0,0 +1,4 @@
+dependencies:
+ - { role: jekyll }
+ - { role: gitolite }
+ - { role: nginx }
diff --git a/roles/brentj.es/tasks/main.yml b/roles/brentj.es/tasks/main.yml
new file mode 100644
index 0000000..7e13f31
--- /dev/null
+++ b/roles/brentj.es/tasks/main.yml
@@ -0,0 +1,50 @@
+---
+- name: Setup git-working-tree folder
+ become: yes
+ file: state=directory path=/var/{{ item }} owner={{ gitolite_user }} group={{ www_user }} mode=2750
+ with_items:
+ - "{{ brentjes_data_folder }}"
+ - "{{ brentjes_data_folder }}/repo"
+
+- name: Create web-root
+ become: yes
+ become_user: "{{ www_user }}"
+ file: state=directory path=/var/www/brentj.es
+
+- name: Checkout git
+ become: yes
+ become_user: "{{ gitolite_user }}"
+ command: git checkout -f
+ args:
+ chdir: "{{ gitolite_home }}/repositories/brentj.es.git/"
+
+- name: Copy jekylld service file
+ become: yes
+ template: src=jekylld.service.j2 dest=/etc/systemd/system/jekylld.service
+ notify:
+ - Reload systemd
+
+- name: Start and enable jekylld
+ become: yes
+ service: name=jekylld state=started enabled=yes
+
+- name: Create web dump directory
+ become: yes
+ file: path=/var/www/dump state=directory owner={{ normal_user }} group={{ www_user }} mode=2750
+
+- name: Extract old dump
+ become: yes
+ become_user: "{{ normal_user }}"
+ unarchive: src=dump.tar.xz dest=/var/www/dump/ creates=/var/www/dump/.init
+
+- name: copy brentj.es virtual host file
+ become: yes
+ template: src=brentj.es.j2 dest=/etc/nginx/sites-available/brentj.es
+
+- name: enable brentj.es
+ become: yes
+ file: state=link src=/etc/nginx/sites-available/brentj.es dest=/etc/nginx/sites-enabled/brentj.es
+
+- name: restart nginx
+ become: yes
+ service: name=nginx state=restarted
diff --git a/roles/brentj.es/templates/brentj.es.j2 b/roles/brentj.es/templates/brentj.es.j2
new file mode 100644
index 0000000..48673ac
--- /dev/null
+++ b/roles/brentj.es/templates/brentj.es.j2
@@ -0,0 +1,57 @@
+server {
+ listen 80;
+ listen [::]:80;
+
+ server_name www.brentj.es brentj.es www.alexstrasza.kassala.de alexstrasza.kassala.de;
+ return 301 https://$server_name$request_uri;
+}
+
+server {
+ listen 443 default_server ssl;
+ listen [::]:443 default_server ssl;
+
+ ssl_certificate /etc/letsencrypt/live/{{ lets_encrypt_domains[0] }}/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/{{ lets_encrypt_domains[0] }}/privkey.pem;
+
+ index index.html;
+
+ client_max_body_size 1000M; # set maximum upload size
+
+ root /var/www/brentj.es;
+
+ location / {
+ root /var/www/brentj.es;
+ }
+
+ location /dump {
+ rewrite ^/dump(.*)$ /$1 break;
+ autoindex on;
+ root /var/www/dump;
+ }
+
+ location ~ ^/hsboard/.*\.ogg$ {
+ rewrite ^/hsboard(.*)$ /$1 break;
+ root /var/www/dump/hsboard;
+ }
+
+ location ~ /hsboard {
+ rewrite ^/hsboard(.*)$ /$1 break;
+ root /var/www/dump/hsboard;
+
+ fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
+ fastcgi_index board.php;
+ include fastcgi.conf;
+ }
+
+ location /phpmyadmin {
+ return 301 https://$server_name:442;
+ }
+
+ location /owncloud {
+ return 301 https://$server_name:444;
+ }
+
+ location /Buildbot {
+ return 301 http://$server_name:8010;
+ }
+}
diff --git a/roles/brentj.es/templates/jekylld.service.j2 b/roles/brentj.es/templates/jekylld.service.j2
new file mode 100644
index 0000000..ce98151
--- /dev/null
+++ b/roles/brentj.es/templates/jekylld.service.j2
@@ -0,0 +1,12 @@
+[Unit]
+Description=Jekyll Daemon for my personal website deployment
+After=network.target
+
+[Service]
+PIDFile=/var/run/jekylld
+User={{ www_user }}
+Group={{ www_user }}
+ExecStart=/usr/bin/jekyll build --source /var/{{ brentjes_data_folder }}/repo --destination /var/www/brentj.es --watch --trace
+
+[Install]
+WantedBy=multi-user.target