%%{init: {'theme': 'base', 'flowchart': {'nodeSpacing': 40, 'rankSpacing': 50}}}%% flowchart LR subgraph vikunja_stack ["huitral 192.168.99.22 - Docker Compose"] direction TB subgraph vikunja_app ["vikunja"] direction TB vk_core["vikunja/vikunja
Port: 3456
VIKUNJA_SERVICE_PUBLICURL:
https://vk.arauco.online"] vk_cli["CLI: /app/vikunja/vikunja
user list | create | delete
dump | restore | doctor"] end subgraph vikunja_db ["vikunja-db"] pg["postgres:16
:5432 interne
DB: vikunja
User: vikunja"] pg_vol["/opt/vikunja/db
-> /var/lib/postgresql/data"] end subgraph vikunja_files ["Stockage"] files_vol["/opt/vikunja/files"] end vk_core -->|"JDBC"| pg end subgraph oidc_conf ["OIDC Configuration"] direction TB oidc["VIKUNJA_AUTH_OPENIDCONNECT_*
enabled: true
redirecturl: vk.arauco.online
/auth/openid/keycloak"] oidc_auto["Auto-creation compte
au 1er login OIDC"] end subgraph keycloak_ext ["Keycloak npagnun .35"] direction TB kc["Realm chiruca
Client: vikunja
Roles: admin | editor | viewer"] google["-> Google IdP
Identity Brokering"] kc --> google end subgraph caddy_ext ["Caddy araucaria .50"] caddy["vk.arauco.online
HTTPS -> :3456"] end subgraph ha_ext ["Home Assistant huitral .22"] direction TB ha_hacs["HACS Integration
Vikunja Todo"] ha_todo["Listes todo par utilisateur
paul, anne, toshiro..."] ha_notify["Automations
Notifications mobiles
notify.mobile_app_*"] ha_hacs --> ha_todo ha_todo --> ha_notify end subgraph sync ["Synchronisation"] direction TB caldav["CalDAV
vk.arauco.online/dav/
principals/USER/"] ics["ICS
vk.arauco.online
/api/v1/projects/ID"] davx5["DAVx5
Sync mobile"] caldav --> davx5 end subgraph user_model ["Modele utilisateurs"] direction TB kc_user["Keycloak
paul@gmail.com"] vk_user["Vikunja
paul (auto OIDC)"] ha_user["HA
paul (compte separe)"] kc_user -->|"OIDC"| vk_user kc_user -.->|"OIDC HACS"| ha_user end caddy -->|"HTTP"| vk_core oidc --> kc ha_hacs -->|"API REST"| vk_core vk_core --> sync classDef svcStyle fill:#1e4a2e,stroke:#4a9a6a,color:#a8e0c0 classDef storStyle fill:#4a3a1e,stroke:#d9a84a,color:#f0d8a8 classDef iamStyle fill:#4a1e3a,stroke:#d94a8a,color:#f0a8c8 classDef netStyle fill:#1e3a5f,stroke:#4a90d9,color:#a8d0f0 classDef haStyle fill:#1e4a4a,stroke:#4a9a9a,color:#a8e0e0 classDef syncStyle fill:#3a3a1e,stroke:#9a9a4a,color:#e0e0a8 classDef userStyle fill:#3a1e5f,stroke:#8a6ad9,color:#c8b0f0 classDef configStyle fill:#2a3a4a,stroke:#6a8aaa,color:#b0d0e8 class vk_core,vk_cli svcStyle class pg,pg_vol,files_vol storStyle class oidc,oidc_auto configStyle class kc,google iamStyle class caddy netStyle class ha_hacs,ha_todo,ha_notify haStyle class caldav,ics,davx5 syncStyle class kc_user,vk_user,ha_user userStyle