Add vikunja as todo

This commit is contained in:
Tobias Reisinger 2024-01-02 01:34:34 +01:00
parent ad52cec21e
commit a9fa94e8f9
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
4 changed files with 101 additions and 0 deletions

View file

@ -35,6 +35,7 @@ all:
- synapse_media_store - synapse_media_store
- tandoor_mediafiles - tandoor_mediafiles
- uptime-kuma_data - uptime-kuma_data
- vikunja_data
node003: node003:
ansible_host: node003.serguzim.net ansible_host: node003.serguzim.net

View file

@ -59,6 +59,8 @@
tags: [umami, analytics] tags: [umami, analytics]
- role: uptime_kuma - role: uptime_kuma
tags: [uptime-kuma, monitoring] tags: [uptime-kuma, monitoring]
- role: vikunja
tags: [vikunja, todo]
- role: watchtower - role: watchtower
tags: [watchtower] tags: [watchtower]
- role: webdis - role: webdis

View file

@ -0,0 +1,21 @@
---
- name: Set common facts
ansible.builtin.import_tasks: tasks/set-default-facts.yml
- name: Deploy {{ svc.name }}
vars:
svc: "{{ vikunja_svc }}"
yml: "{{ vikunja_yml }}"
compose: "{{ vikunja_compose }}"
block:
- name: Import prepare tasks for common service
ansible.builtin.import_tasks: tasks/prepare-common-service.yml
- name: Template config
ansible.builtin.template:
src: yml.j2
dest: "{{ (service_path, 'config.yml') | path_join }}"
mode: "0600"
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,77 @@
---
vikunja_svc:
domain: todo.serguzim.me
name: vikunja
port: 80
caddy_extra: |
handle /api/* {
reverse_proxy vikunja-api:3456
}
handle /.well-known/* {
reverse_proxy vikunja-api:3456
}
handle /dav/* {
reverse_proxy vikunja-api:3456
}
db:
host: "{{ postgres.host }}"
port: "{{ postgres.port }}"
database: vikunja
user: "{{ vault_vikunja.db.user }}"
pass: "{{ vault_vikunja.db.pass }}"
vikunja_yml:
service:
JWTSecret: "{{ vault_vikunja.jwt_secret }}"
frontendurl: https://{{ svc.domain }}
enableregistration: false
timezone: "{{ timezone }}"
database:
type: postgres
sslmode: verify-full
host: "{{ svc.db.host }}"
database: "{{ svc.db.database }}"
user: "{{ svc.db.user }}"
password: "{{ svc.db.pass }}"
mailer:
enabled: true
host: "{{ mailer.host }}"
port: "{{ mailer.port }}"
username: "{{ vault_vikunja.mailer.user }}"
password: "{{ vault_vikunja.mailer.pass }}"
fromemail: "{{ vault_vikunja.mailer.user }}"
auth:
local:
enabled: false
openid:
enabled: true
providers:
- name: auth.serguzim.me
authurl: https://auth.serguzim.me/application/o/todo-serguzim-me/
logouturl: https://auth.serguzim.me/application/o/todo-serguzim-me/end-session/
clientid: "{{ vault_vikunja.oidc_client.id }}"
clientsecret: "{{ vault_vikunja.oidc_client.secret }}"
VIKUNJA_METRICS_ENABLED: true
vikunja_compose:
watchtower: true
image: vikunja/frontend
file:
services:
api:
image: vikunja/api
restart: always
volumes:
- data:/app/vikunja/files
- ./config.yml:/app/vikunja/config.yml
networks:
default:
apps:
aliases:
- "{{ svc.name }}-api"
volumes:
data: