Vikunja is a self-hosted task manager that replaces Asana with Kanban, Gantt, and list views running from a single binary under your own control.
Konrad Langenberg started Vikunja to give teams full ownership over their project data rather than renting space from cloud providers. What began as an independent Go and Vue project has become a self-hostable workspace combining Kanban boards, Gantt charts, and list views inside a single lightweight binary. That heritage keeps the application centered on local administration, private storage, and minimal resource use.
Asana operates exclusively on multi-tenant cloud infrastructure, where data lives on vendor servers and per-seat fees multiply as engineering teams expand. Vikunja hands hosting control back to systems administrators. Instead of managing complex distributed components, an operations lead deploys Vikunja from a single static Go binary or container that packages the compiled Vue frontend with the Go REST API. The service runs against embedded SQLite for single-node installations, or pairs with PostgreSQL or MySQL for multi-user workloads on low-spec virtual private servers.
Self-hosting eliminates recurring seat licenses, but shifts maintenance responsibilities—including reverse-proxy routing, TLS renewal, and database backups—to the internal team. While Asana provides enterprise portfolio rollups and extensive third-party app stores, Vikunja focuses on core task execution across lists, Kanban boards, Gantt timelines, and tables. It integrates with existing directory services via native OpenID Connect and OAuth2, while built-in importers pull projects from Todoist, Trello, and Microsoft To-Do without manual re-entry.
Is Vikunja free for commercial use? Yes. The software is open source without licensing fees or artificial seat limits for commercial deployments.
Vikunja vs Asana — which should a small team choose? Choose Asana for vendor-managed infrastructure, enterprise portfolio rollups, and pre-built commercial integrations. Choose Vikunja for data sovereignty, self-hosted deployment, and zero per-seat subscription costs.
Can I run Vikunja with SQLite instead of PostgreSQL? Yes. Vikunja runs out of the box with SQLite for lightweight instances, and connects to PostgreSQL or MySQL when teams need multi-user scale.
Vikunja is a practical fit for teams that want full custody of their task workflows without recurring per-seat fees, provided they can handle their own container hosting and backups. Its AGPL-3.0 terms keep the core codebase open while requiring modifications in hosted distributions to remain public. Active maintenance and continuous updates in 2026 make it a reliable self-hosted project hub for agencies and operations leads.
These packages install the Vikunja desktop client, not the server. Each package is matched to Vikunja through the registry's own link to its source code or website.
flatpak install flathub io.vikunja.VikunjaWe started this exact setup from scratch in a clean Linux machine on Nov 3, 2026 and checked it through Vikunja's own API: every check passed. Recipes are re-checked regularly and removed if they stop working.
mkdir -p vikunja && cd vikunja
curl -fsSL https://open-source.store/tools/vikunja/compose.yml -o compose.ymlcat > .env <<EOF
VIKUNJA_SERVICE_PUBLICURL=http://localhost:3456
VIKUNJA_SERVICE_SECRET=$(openssl rand -hex 32)
POSTGRES_PASSWORD=$(openssl rand -hex 12)
ADMIN_PASSWORD=$(openssl rand -hex 12)
EOFVIKUNJA_SERVICE_PUBLICURL — Public base URL where Vikunja is accessed; set to your server's public domain or IP in production.VIKUNJA_SERVICE_SECRET — Secret encryption key used to sign JWT tokens and for cryptographic operations. Generated above; keep it secret.POSTGRES_PASSWORD — Password of the PostgreSQL database. Generated above; keep it secret.ADMIN_PASSWORD — Initial password for the smoke test user account. Generated above; keep it secret.docker compose up -dservices:
vikunja:
image: ghcr.io/go-vikunja/vikunja:2.7.1
user: "0:0"
environment:
VIKUNJA_SERVICE_PUBLICURL: ${VIKUNJA_SERVICE_PUBLICURL}
VIKUNJA_DATABASE_HOST: db
VIKUNJA_DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
VIKUNJA_DATABASE_TYPE: postgres
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_DATABASE: vikunja
VIKUNJA_SERVICE_SECRET: ${VIKUNJA_SERVICE_SECRET}
ports:
- "3456:3456"
volumes:
- files:/app/vikunja/files
depends_on:
db:
condition: service_healthy
restart: unless-stopped
db:
image: postgres:16-alpine
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_USER: vikunja
POSTGRES_DB: vikunja
volumes:
- db:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U vikunja -d vikunja"]
interval: 5s
timeout: 5s
retries: 5
volumes:
files:
db:
Lint, codegen, breaking-change checks and dependency management in one Git-native CLI. Open source, no registry lock-in.
Show that Vikunja is listed as an open-source alternative. Paste into your README:
Ubuntu 24.04 · Apple container, Docker 29.1.3, Compose 2.40.3+ds1-0ubuntu1~24.04.1. Images pulled in 22 s: postgres:16-alpine, ghcr.io/go-vikunja/vikunja:2.7.1.
Based on the upstream setup. Official compose walkthrough. Image pinned to 2.7.1; user set to 0:0 for named volume permissions in scratch container; database password, service secret, and public URL moved to .env.
vikunja-1 | 2026-11-03T01:03:43.715957093Z time=2026-11-03T01:03:43.715Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=346.083µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393" vikunja-1 | 2026-11-03T01:03:43.716076426Z time=2026-11-03T01:03:43.715Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=247.833µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.716083134Z time=2026-11-03T01:03:43.715Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=144.167µs user_agent="Mozilla/5.0 (Macintosh, Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.716086134Z time=2026-11-03T01:03:43.715Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=131.125µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.6.6" vikunja-1 | 2026-11-03T01:03:43.719066468Z time=2026-11-03T01:03:43.716Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=149.5µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.719088384Z time=2026-11-03T01:03:43.717Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=179.291µs user_agent="Mozilla/5.0 (ZZ; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.719093218Z time=2026-11-03T01:03:43.717Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=133.583µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.11 Mobile/15E148 Safari/604.1" vikunja-1 | 2026-11-03T01:03:43.719096343Z time=2026-11-03T01:03:43.717Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=140.041µs user_agent="Mozilla/5.0 (X11; Linux i686; rv:1.9.5.20) Gecko/ Firefox/3.6.17" vikunja-1 | 2026-11-03T01:03:43.719099009Z time=2026-11-03T01:03:43.718Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=145.084µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.719101718Z time=2026-11-03T01:03:43.718Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=142.875µs user_agent="Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0" vikunja-1 | 2026-11-03T01:03:43.719104134Z time=2026-11-03T01:03:43.718Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=139.917µs user_agent="Mozilla/5.0 (Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.719106759Z time=2026-11-03T01:03:43.718Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=134.958µs user_agent="Mozilla/5.0 (Debian; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.719118676Z time=2026-11-03T01:03:43.718Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=134.25µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.719241259Z time=2026-11-03T01:03:43.719Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=126.75µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" vikunja-1 | 2026-11-03T01:03:43.720543676Z time=2026-11-03T01:03:43.719Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=167.958µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.720552301Z time=2026-11-03T01:03:43.719Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=120.708µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0" vikunja-1 | 2026-11-03T01:03:43.720555259Z time=2026-11-03T01:03:43.719Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=119.708µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.720558051Z time=2026-11-03T01:03:43.719Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=123µs user_agent="Mozilla/5.0 (X11; Linux i686; rv:1.9.5.20) Gecko/ Firefox/3.6.20" vikunja-1 | 2026-11-03T01:03:43.720560676Z time=2026-11-03T01:03:43.719Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=102.958µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.13 Mobile/15E148 Safari/604.1" vikunja-1 | 2026-11-03T01:03:43.720563384Z time=2026-11-03T01:03:43.719Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=123.208µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.8" vikunja-1 | 2026-11-03T01:03:43.720565968Z time=2026-11-03T01:03:43.719Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=102.083µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:1.9.7.20) Gecko/ Firefox/3.6.5" vikunja-1 | 2026-11-03T01:03:43.720568468Z time=2026-11-03T01:03:43.719Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=107.917µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.8.1 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.720571676Z time=2026-11-03T01:03:43.720Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=108.042µs user_agent="Mozilla/5.0 (Macintosh; arm64 Mac OS X 12_6_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.720574384Z time=2026-11-03T01:03:43.720Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=104.209µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.720577051Z time=2026-11-03T01:03:43.720Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=109.042µs user_agent="Mozilla/5.0 (Debian; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.720584509Z time=2026-11-03T01:03:43.720Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=98.542µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:129.0) Gecko/20100101 Firefox/129.0" vikunja-1 | 2026-11-03T01:03:43.720587218Z time=2026-11-03T01:03:43.720Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=116.333µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0" vikunja-1 | 2026-11-03T01:03:43.720589759Z time=2026-11-03T01:03:43.720Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=98.5µs user_agent="Mozilla/5.0 (Debian; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.721033301Z time=2026-11-03T01:03:43.720Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=109.375µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Version/16.2 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.721491343Z time=2026-11-03T01:03:43.721Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=108.542µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.721497634Z time=2026-11-03T01:03:43.721Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=143µs user_agent="Mozilla/5.0 (Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.721832176Z time=2026-11-03T01:03:43.721Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=97.833µs user_agent="Mozilla/5.0 (Kubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.722177634Z time=2026-11-03T01:03:43.722Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=103.791µs user_agent="Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0" vikunja-1 | 2026-11-03T01:03:43.722534009Z time=2026-11-03T01:03:43.722Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=105.917µs user_agent="Mozilla/5.0 (Macintosh, Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.723102968Z time=2026-11-03T01:03:43.722Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=112.958µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.723113218Z time=2026-11-03T01:03:43.722Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=90.5µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/7.1.2 Safari/537.85.11" vikunja-1 | 2026-11-03T01:03:43.723210093Z time=2026-11-03T01:03:43.723Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=166.208µs user_agent="Mozilla/5.0 (CentOS; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.723436343Z time=2026-11-03T01:03:43.723Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=124.292µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:109.0) Gecko/20100101 Firefox/115.0" vikunja-1 | 2026-11-03T01:03:43.723650551Z time=2026-11-03T01:03:43.723Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=132.791µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0" vikunja-1 | 2026-11-03T01:03:43.724071134Z time=2026-11-03T01:03:43.724Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=120µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0" vikunja-1 | 2026-11-03T01:03:43.724470176Z time=2026-11-03T01:03:43.724Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=110.458µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10" vikunja-1 | 2026-11-03T01:03:43.724890718Z time=2026-11-03T01:03:43.724Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=171.875µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0" vikunja-1 | 2026-11-03T01:03:43.726972759Z time=2026-11-03T01:03:43.726Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=157.5µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7" vikunja-1 | 2026-11-03T01:03:43.727259426Z time=2026-11-03T01:03:43.727Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=127.042µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:1.9.6.20) Gecko/ Firefox/3.6.3" vikunja-1 | 2026-11-03T01:03:43.728250009Z time=2026-11-03T01:03:43.728Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=248µs user_agent="Mozilla/5.0 (Fedora; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.728563301Z time=2026-11-03T01:03:43.728Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=105.167µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.729010843Z time=2026-11-03T01:03:43.728Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=91.833µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0" vikunja-1 | 2026-11-03T01:03:43.729263759Z time=2026-11-03T01:03:43.729Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=100.209µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.729497259Z time=2026-11-03T01:03:43.729Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=96.667µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363" vikunja-1 | 2026-11-03T01:03:43.729758884Z time=2026-11-03T01:03:43.729Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=91.375µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.729972676Z time=2026-11-03T01:03:43.729Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=99.875µs user_agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0" vikunja-1 | 2026-11-03T01:03:43.730251968Z time=2026-11-03T01:03:43.730Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=101.292µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:141.0) Gecko/20100101 Firefox/141.0" vikunja-1 | 2026-11-03T01:03:43.730480676Z time=2026-11-03T01:03:43.730Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=97.417µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.730697343Z time=2026-11-03T01:03:43.730Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=93.084µs user_agent="Mozilla/5.0 (Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.730975093Z time=2026-11-03T01:03:43.730Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=115.791µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.731383843Z time=2026-11-03T01:03:43.731Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=88.792µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.732521218Z time=2026-11-03T01:03:43.732Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=124.875µs user_agent="Mozilla/5.0 (Debian; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.733260301Z time=2026-11-03T01:03:43.733Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=129.209µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 11_7_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.734049634Z time=2026-11-03T01:03:43.733Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=193.334µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1.2 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.734107343Z time=2026-11-03T01:03:43.733Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=199.25µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.734149884Z time=2026-11-03T01:03:43.733Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=83.375µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:141.0) Gecko/20100101 Firefox/141.0" vikunja-1 | 2026-11-03T01:03:43.734233468Z time=2026-11-03T01:03:43.733Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=67.917µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0" vikunja-1 | 2026-11-03T01:03:43.734553676Z time=2026-11-03T01:03:43.734Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=84.791µs user_agent="Mozilla/5.0 (Macintosh, Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.7 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.736580551Z time=2026-11-03T01:03:43.736Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=111µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.737412384Z time=2026-11-03T01:03:43.737Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=87.084µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1" vikunja-1 | 2026-11-03T01:03:43.737472801Z time=2026-11-03T01:03:43.737Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=180.958µs user_agent="Mozilla/5.0 (X11; Ubuntu; Linux aarch64; rv:90.0) Gecko/20100101 Firefox/90.0" vikunja-1 | 2026-11-03T01:03:43.737545093Z time=2026-11-03T01:03:43.737Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=58.25µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Mobile/15E148 Safari/604.1" vikunja-1 | 2026-11-03T01:03:43.737558551Z time=2026-11-03T01:03:43.737Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=54.958µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:103.0) Gecko/20100101 Firefox/103.0" vikunja-1 | 2026-11-03T01:03:43.738806343Z time=2026-11-03T01:03:43.738Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=83.958µs user_agent="Mozilla/5.0 (Knoppix; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.738853176Z time=2026-11-03T01:03:43.738Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=260.958µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.739044593Z time=2026-11-03T01:03:43.738Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=111.834µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 Version/16.3 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.739353218Z time=2026-11-03T01:03:43.739Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=136.041µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.739357384Z time=2026-11-03T01:03:43.739Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=79.209µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 13_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.739359426Z time=2026-11-03T01:03:43.739Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=68.667µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.739361426Z time=2026-11-03T01:03:43.739Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=75.417µs user_agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.739547759Z time=2026-11-03T01:03:43.739Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=74.875µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:1.9.6.20) Gecko/ Firefox/3.6.19" vikunja-1 | 2026-11-03T01:03:43.739815884Z time=2026-11-03T01:03:43.739Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=83.083µs user_agent="Mozilla/5.0 (Kubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.740054801Z time=2026-11-03T01:03:43.740Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=70.125µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:1.9.7.20) Gecko/ Firefox/3.6.8" vikunja-1 | 2026-11-03T01:03:43.740107093Z time=2026-11-03T01:03:43.740Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=72.917µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.740278384Z time=2026-11-03T01:03:43.740Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=66.875µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.740362718Z time=2026-11-03T01:03:43.740Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=88.291µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0" vikunja-1 | 2026-11-03T01:03:43.740563593Z time=2026-11-03T01:03:43.740Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=48.666µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.740804426Z time=2026-11-03T01:03:43.740Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=78.709µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.740948259Z time=2026-11-03T01:03:43.740Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=29.875µs user_agent="Mozilla/5.0 (CentOS; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.741184093Z time=2026-11-03T01:03:43.741Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=76.916µs user_agent="Mozilla/5.0 (Debian; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.742147301Z time=2026-11-03T01:03:43.742Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=81.666µs user_agent="Mozilla/5.0 (Knoppix; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.742432218Z time=2026-11-03T01:03:43.742Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=87.083µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.7 Mobile/15E148 Safari/604.1" vikunja-1 | 2026-11-03T01:03:43.742807759Z time=2026-11-03T01:03:43.742Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=92.542µs user_agent="Mozilla/5.0 (ZZ; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.742997801Z time=2026-11-03T01:03:43.742Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=99.125µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.743206843Z time=2026-11-03T01:03:43.743Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=82.917µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/3.6.6" vikunja-1 | 2026-11-03T01:03:43.743273801Z time=2026-11-03T01:03:43.743Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=78.459µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.743406968Z time=2026-11-03T01:03:43.743Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=61.25µs user_agent="Mozilla/5.0 (Kubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.743409593Z time=2026-11-03T01:03:43.743Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=69µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240" vikunja-1 | 2026-11-03T01:03:43.743464343Z time=2026-11-03T01:03:43.743Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=52.875µs user_agent="Mozilla/5.0 (Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.743656218Z time=2026-11-03T01:03:43.743Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=69.417µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0" vikunja-1 | 2026-11-03T01:03:43.744037593Z time=2026-11-03T01:03:43.743Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=82.666µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.744607093Z time=2026-11-03T01:03:43.744Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=275.042µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362" vikunja-1 | 2026-11-03T01:03:43.744879843Z time=2026-11-03T01:03:43.744Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=322.166µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.1 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.744933259Z time=2026-11-03T01:03:43.744Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=133.541µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" vikunja-1 | 2026-11-03T01:03:43.745107093Z time=2026-11-03T01:03:43.745Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=34.792µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0" vikunja-1 | 2026-11-03T01:03:43.745641634Z time=2026-11-03T01:03:43.745Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=46.208µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.3 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.745914509Z time=2026-11-03T01:03:43.745Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=40.416µs user_agent="Mozilla/5.0 (X11; Linux i686; rv:1.9.7.20) Gecko/ Firefox/3.6.10" vikunja-1 | 2026-11-03T01:03:43.746452426Z time=2026-11-03T01:03:43.746Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=31.875µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1.2 Mobile/15E148 Safari/604.1" vikunja-1 | 2026-11-03T01:03:43.746502134Z time=2026-11-03T01:03:43.746Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=30.917µs user_agent="Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.746544884Z time=2026-11-03T01:03:43.746Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=24.084µs user_agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.746626884Z time=2026-11-03T01:03:43.746Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=33.083µs user_agent="Mozilla/5.0 (X11; Linux i686; rv:1.9.7.20) Gecko/ Firefox/3.6.10" vikunja-1 | 2026-11-03T01:03:43.746834759Z time=2026-11-03T01:03:43.746Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=27µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.746836343Z time=2026-11-03T01:03:43.746Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=22.583µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 11_7_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.747002051Z time=2026-11-03T01:03:43.746Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=24.75µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.7 Mobile/15E148 Safari/604.1" vikunja-1 | 2026-11-03T01:03:43.747097926Z time=2026-11-03T01:03:43.746Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=30.375µs user_agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0" vikunja-1 | 2026-11-03T01:03:43.747240676Z time=2026-11-03T01:03:43.747Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=26.416µs user_agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.747303759Z time=2026-11-03T01:03:43.747Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=26.292µs user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0" vikunja-1 | 2026-11-03T01:03:43.747443259Z time=2026-11-03T01:03:43.747Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=27.375µs user_agent="Mozilla/5.0 (Fedora; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.747526718Z time=2026-11-03T01:03:43.747Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=23.416µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15" vikunja-1 | 2026-11-03T01:03:43.747638134Z time=2026-11-03T01:03:43.747Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=20.916µs user_agent="Mozilla/5.0 (Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36" vikunja-1 | 2026-11-03T01:03:43.747766884Z time=2026-11-03T01:03:43.747Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=36.916µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:128.0) Gecko/20100101 Firefox/128.0" vikunja-1 | 2026-11-03T01:03:43.747866884Z time=2026-11-03T01:03:43.747Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=35.417µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.4.21" vikunja-1 | 2026-11-03T01:03:43.747930884Z time=2026-11-03T01:03:43.747Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=26.25µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0" vikunja-1 | 2026-11-03T01:03:43.748018134Z time=2026-11-03T01:03:43.748Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=42.166µs user_agent="Mozilla/5.0 (X11; Linux x86_64; rv:1.9.5.20) Gecko/ Firefox/9.0" vikunja-1 | 2026-11-03T01:03:43.748096509Z time=2026-11-03T01:03:43.748Z level=INFO component=http remote_ip=192.168.65.52 method=GET route="" status=200 latency=21.584µs user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15"