diff --git a/vikunja/data/db/.gitkeep b/vikunja/data/db/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/vikunja/data/files/.gitkeep b/vikunja/data/files/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/vikunja/data/proxy/nginx.conf b/vikunja/data/proxy/nginx.conf new file mode 100644 index 0000000..1196b27 --- /dev/null +++ b/vikunja/data/proxy/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; + } +} \ No newline at end of file diff --git a/vikunja/docker-compose.yml b/vikunja/docker-compose.yml new file mode 100644 index 0000000..0ae6e47 --- /dev/null +++ b/vikunja/docker-compose.yml @@ -0,0 +1,50 @@ +version: "3.7" + +services: + app_proxy: + environment: + APP_HOST: vikunja_proxy_1 + APP_PORT: 80 + # vikunja has its own auth, so we don't need to use transparent umbrel auth here + PROXY_AUTH_ADD: "false" + + db: + image: mariadb:10.11.6@sha256:20a8bd91d972c97cffded88f2ba0ab533c8988b2dc08090c57d50caf7114ed20 + command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci + environment: + MYSQL_ROOT_PASSWORD: supersecret + MYSQL_USER: vikunja + MYSQL_PASSWORD: secret + MYSQL_DATABASE: vikunja + volumes: + - ${APP_DATA_DIR}/data/db:/var/lib/mysql + restart: on-failure + + api: + image: vikunja/api:0.22.0@sha256:91609ef6c7887f9dbf03542da675dc784807f9861907bdcdb775d4a127605646 + environment: + VIKUNJA_DATABASE_HOST: db + VIKUNJA_DATABASE_PASSWORD: secret + VIKUNJA_DATABASE_TYPE: mysql + VIKUNJA_DATABASE_USER: vikunja + VIKUNJA_DATABASE_DATABASE: vikunja + VIKUNJA_SERVICE_JWTSECRET: ${APP_SEED} + VIKUNJA_SERVICE_FRONTENDURL: http://${DEVICE_DOMAIN_NAME}/ + volumes: + - ${APP_DATA_DIR}/data/files:/app/vikunja/files + depends_on: + - db + restart: on-failure + + frontend: + image: vikunja/frontend:0.22.0@sha256:f603ef35acfe030d34752bc3d84e45a234152110345edf8cf2939db986e900b1 + restart: on-failure + + proxy: + image: nginx:1.25.3@sha256:4c0fdaa8b6341bfdeca5f18f7837462c80cff90527ee35ef185571e1c327beac + volumes: + - ${APP_DATA_DIR}/data/proxy/nginx.conf:/etc/nginx/conf.d/default.conf:ro + depends_on: + - api + - frontend + restart: on-failure \ No newline at end of file diff --git a/vikunja/umbrel-app.yml b/vikunja/umbrel-app.yml new file mode 100644 index 0000000..383007e --- /dev/null +++ b/vikunja/umbrel-app.yml @@ -0,0 +1,37 @@ +manifestVersion: 1 +id: vikunja +category: files +name: Vikunja +version: "0.22.0" +tagline: The open-source, self-hostable to-do app +description: >- + Think of Vikunja like the notebook you have with all your things to keep track of. But with superpowers. + + + 🗂️ Stay Organized + + Organize all of your tasks in projects. Create subprojects organize everything hierarchical and keep related stuff grouped together. + + + 👥 Collaborate With Peers + + Vikunja lets you easily share a project with another user or a whole team! Assignments show who's working on what. + + + 🛠️ Use It How You Need It + + You can view your tasks in the classic list view - or in a Gantt Chart, or Table view, or Kanban Board. Whatever you need! +developer: Vikunja +website: https://vikunja.io/ +dependencies: [] +repo: https://github.com/go-vikunja +support: https://community.vikunja.io/ +port: 4523 +gallery: + - 1.jpg + - 2.jpg + - 3.jpg +path: "" +deterministicPassword: false +submitter: Pranshu Agrawal +submission: https://github.com/getumbrel/umbrel-apps/pull/