Bladeren bron

Add in proxy support to see if we can get the frontend working correctly. (#198)

Robert Middleswarth 3 jaren geleden
bovenliggende
commit
b2b424c50c
3 gewijzigde bestanden met toevoegingen van 52 en 11 verwijderingen
  1. 12 0
      configs/vikunja_nginx.conf
  2. 18 11
      stack/vikunja.yml
  3. 22 0
      tools/install_vikunja.sh

+ 12 - 0
configs/vikunja_nginx.conf

@@ -0,0 +1,12 @@
+server {
+    listen 80;
+
+    location / {
+        proxy_pass http://frontend:80;
+    }
+
+    location ~* ^/(api|dav|\.well-known)/ {
+        proxy_pass http://api:3456;
+        client_max_body_size 20M;
+    }
+}

+ 18 - 11
stack/vikunja.yml

@@ -17,9 +17,9 @@ services:
     volumes:
     volumes:
       - /portainer/Files/AppData/Config/Vikunja/Mariadb:/config
       - /portainer/Files/AppData/Config/Vikunja/Mariadb:/config
 
 
-  vikunja-api:
-    container_name: vikunja-api
-    hostname: vikunja-api
+  api:
+    container_name: api
+    hostname: api
     image: vikunja/api:latest
     image: vikunja/api:latest
     environment:
     environment:
       TZ: ${TZ}
       TZ: ${TZ}
@@ -30,27 +30,34 @@ services:
       VIKUNJA_DATABASE_TYPE: mysql
       VIKUNJA_DATABASE_TYPE: mysql
     networks:
     networks:
       - network
       - network
-    ports:
-      - 3456:3456
     restart: unless-stopped
     restart: unless-stopped
     volumes:
     volumes:
       - /portainer/Files/AppData/Config/Vikunja/files:/app/vikunja/files
       - /portainer/Files/AppData/Config/Vikunja/files:/app/vikunja/files
     depends_on:
     depends_on:
       - mariadb
       - mariadb
 
 
-  vikunja-frontend:
-    container_name: vikunja-frontend
-    hostname: vikunja-frontend
+  frontend:
+    container_name: frontend
+    hostname: frontend
     image: vikunja/frontend:latest
     image: vikunja/frontend:latest
     environment:
     environment:
       VIKUNJA_API_URL: http://vikunja-api:3456/api/v1
       VIKUNJA_API_URL: http://vikunja-api:3456/api/v1
     networks:
     networks:
       - network
       - network
-    ports:
-      - 3454:80
     restart: unless-stopped
     restart: unless-stopped
     depends_on:
     depends_on:
-      - vikunja-api
+      - api
+
+  proxy:
+    image: nginx
+    ports:
+      - 3546:80
+    volumes:
+      - /portainer/Files/AppData/Config/Vikunja/nginx.conf:/etc/nginx/conf.d/default.conf:ro
+    depends_on:
+      - api
+      - frontend
+    restart: unless-stopped
 
 
 networks:
 networks:
   network:
   network:

+ 22 - 0
tools/install_vikunja.sh

@@ -0,0 +1,22 @@
+#!/bin/bash
+
+function error {
+  echo -e "\\e[91m$1\\e[39m"
+  exit 1
+}
+
+function check_internet() {
+  printf "Checking if you are online..."
+  wget -q --spider http://github.com
+  if [ $? -eq 0 ]; then
+    echo "Online. Continuing."
+  else
+    error "Offline. Go connect to the internet then run the script again."
+  fi
+}
+
+check_internet
+
+echo "Downloading vikunja config files"
+sudo wget -O /portainer/Files/AppData/Config/Vikunja/nginx.conf https://raw.githubusercontent.com/novaspirit/pi-hosted/master/configs/vikunja_nginx.conf || error "Failed to download nginx.conf file!"
+echo "Done You are ready to install the Vikunja Template"