Forráskód Böngészése

up1 role up&running

les 3 éve
szülő
commit
8047bcb9d0

+ 0 - 36
roles/lufi/tasks/main.yml

@@ -1,36 +0,0 @@
----
-- name: Install lufi deps
-  apt:
-    pkg:
-      git
-      build-essential
-      libssl-dev
-      libio-socket-ssl-perl
-      liblwp-protocol-https-perl
-      zlib1g-dev      
-
-- name: Install Carton
-  cpanm: name=Carton
-
-- name: ensure lufi user is present
-  user:
-    name: "lufi"
-    home: "/srv/lufi"
-    shell: "/bin/bash"
-    state: present
-
-
-- name: Clone lufi repo
-  git:
-    repo: git clone https://framagit.org/fiat-tux/hat-softwares/lufi.git
-    dest: /srv/lufi/lufi
-  become: true
-  become_user: lufi
-
-- name: Install lufi
-  shell: carton install --deployment --without=test --without=postgresql --without=mysql
-  args:
-    chdir: /srv/lufi/lufi
-  
-
-

+ 5 - 0
roles/up1/defaults/main.yml

@@ -0,0 +1,5 @@
+---
+api_key: "{{lookup('password', './.pass/up1_api_key')}}"
+maximum_file_size: 500000000
+port: 31337
+footer: <a href="https://github.com/Upload/Up1" target="_blank">Source Code</a> - <a href="mailto:info@cisti.org" id="contact" target="_blank">Contact</a>

+ 15 - 0
roles/up1/meta/main.yml

@@ -0,0 +1,15 @@
+---
+dependencies:
+
+  # install nodejs
+  - role: nodejs
+
+  # install caddy and configure it as reverse proxy
+  - role: caddy
+    vars:
+      caddy_config: |
+        {{hostname}}
+        encode gzip
+        reverse_proxy /api/* 127.0.0.1:31337
+        root * /srv/up1/up1/client
+        file_server

+ 53 - 0
roles/up1/tasks/main.yml

@@ -0,0 +1,53 @@
+---
+
+- name: ensure lufi user is present
+  user:
+    name: "up1"
+    home: "/srv/up1"
+    shell: "/bin/bash"
+    state: present
+
+- name: Clone up1 repo
+  git:
+    repo: https://github.com/Upload/Up1
+    dest: /srv/up1/up1
+  become: true
+  become_user: up1
+
+- name: copy server settings
+  template:
+    src: server.conf.j2
+    dest: /srv/up1/up1/server/server.conf
+    owner: up1
+    group: up1
+    mode: 0600
+
+- name: copy client settings
+  template:
+    src: config.js.j2
+    dest: /srv/up1/up1/client/config.js
+    owner: up1
+    group: up1
+    mode: 0600
+
+- name: Install up1 deps
+  become: true
+  become_user: up1
+  npm:
+    path: /srv/up1/up1/server
+
+
+- name: NODE | Install pm2
+  npm:
+    name: pm2
+    global: yes
+    production: yes
+    state: present
+
+- name: NODE | Start APP
+  become: true
+  become_user: up1
+  shell: pm2 start server.js --name server
+  args:
+    chdir: /srv/up1/up1/server
+  ignore_errors: yes

+ 4 - 0
roles/up1/templates/config.js.j2

@@ -0,0 +1,4 @@
+upload.config.server = '' // Empty if the webapp is in the same place as the server
+// upload.config.server = 'https://yourserver.com/' // If the webapp is separated from the server - remember the trailing slash
+upload.config.api_key = '{{ api_key }}' // Should be the same as the server, used for uploading
+upload.config.footer = '{{ footer }}'

+ 29 - 0
roles/up1/templates/server.conf.j2

@@ -0,0 +1,29 @@
+{
+  "api_key": "{{ api_key }}",
+  "delete_key": "",
+  "maximum_file_size": {{ maximum_file_size }},
+
+  "path": {
+    "i": "../i",
+    "client": "../client"
+  },
+
+  "http": {
+    "enabled": true,
+    "listen": "127.0.0.1:{{ port }}"
+  },
+
+  "https": {
+    "enabled": false,
+    "listen": ":443",
+    "cert": "./cert.pem",
+    "key": "./key.pem"
+  },
+
+  "cloudflare-cache-invalidate": {
+    "enabled": false,
+    "token": "Cloudflare API token here",
+    "email": "Cloudflare login email here",
+    "domain": "Domain to invalidate cache on"
+  }
+}

+ 10 - 0
up1.playbook.yml

@@ -0,0 +1,10 @@
+---
+
+- name: "Testing up1 role"
+  hosts: localhost
+  become: true
+  roles:
+    - role: common
+    - role: up1
+      vars:
+         hostname: :8000