Add vikunja as todo
This commit is contained in:
		
							parent
							
								
									ad52cec21e
								
							
						
					
					
						commit
						a9fa94e8f9
					
				
					 4 changed files with 101 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -35,6 +35,7 @@ all:
 | 
			
		|||
          - synapse_media_store
 | 
			
		||||
          - tandoor_mediafiles
 | 
			
		||||
          - uptime-kuma_data
 | 
			
		||||
          - vikunja_data
 | 
			
		||||
 | 
			
		||||
    node003:
 | 
			
		||||
      ansible_host: node003.serguzim.net
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,6 +59,8 @@
 | 
			
		|||
      tags: [umami, analytics]
 | 
			
		||||
    - role: uptime_kuma
 | 
			
		||||
      tags: [uptime-kuma, monitoring]
 | 
			
		||||
    - role: vikunja
 | 
			
		||||
      tags: [vikunja, todo]
 | 
			
		||||
    - role: watchtower
 | 
			
		||||
      tags: [watchtower]
 | 
			
		||||
    - role: webdis
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										21
									
								
								roles/vikunja/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								roles/vikunja/tasks/main.yml
									
										
									
									
									
										Normal 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
 | 
			
		||||
							
								
								
									
										77
									
								
								roles/vikunja/vars/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								roles/vikunja/vars/main.yml
									
										
									
									
									
										Normal 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:
 | 
			
		||||
		Reference in a new issue