Skip to Content
Installation

Installera Vikunja

Håll ordning på företagets uppgifter i en egen server, med lista, kanban och kalender, och rätt mappbehörigheter från start.

Vad Vikunja är

Ett program för att hålla ordning på uppgifter. Ni lägger upp projekt, fyller dem med uppgifter, sätter deadline och ansvarig, och ser alltihop som en lista, ett kanbanbräde, en tabell eller en tidslinje (Gantt). Samma uppgifter, fyra sätt att titta på dem.

Det låter som vilken att-göra-app som helst, och skillnaden syns först när ni är fem personer. En uppgift har en ägare. Den har ett datum. Den har en kommentarstråd där diskussionen om just den saken ligger, i stället för utspridd i en gruppchatt där ingen hittar tillbaka. När någon frågar vem som gör vad finns svaret på en skärm.

Det som gör Vikunja användbart i ett företag är att det är ert eget. Uppgifterna ligger på en maskin ni bestämmer över, och de försvinner inte för att en gratistjänst ändrar sina villkor i februari.

Det här är ett serverprogram

Vikunja är ingen installationsfil ni dubbelklickar på. Det behöver en maskin som kör och en databas bredvid sig, och enklaste sättet att få båda är Docker. Har ni inte Docker, börja med Installera Docker.

Vikunja har också en molntjänst som de driver själva mot en avgift, plus appar för telefon och dator som kan peka antingen på deras server eller på er. Vad molntjänsten kostar står på vikunja.io.

Windows och Linux Mint

Samma filer på båda. Skapa en mapp som heter vikunja i hemmappen, alltså i C:\Users\ert-namn på Windows och i /home/ert-namn på Linux Mint, och skapa två tomma undermappar i den som heter files och db. Att ni skapar dem själva spelar roll, och varför står längst ner. Lägg sedan en textfil som heter compose.yaml i vikunja-mappen:

services:
  vikunja:
    image: vikunja/vikunja
    environment:
      VIKUNJA_SERVICE_PUBLICURL: http://localhost:3456
      VIKUNJA_SERVICE_SECRET: BYT_UT_MIG_1
      VIKUNJA_DATABASE_TYPE: postgres
      VIKUNJA_DATABASE_HOST: db
      VIKUNJA_DATABASE_USER: vikunja
      VIKUNJA_DATABASE_PASSWORD: BYT_UT_MIG_2
      VIKUNJA_DATABASE_DATABASE: vikunja
    ports:
      - "3456:3456"
    volumes:
      - ./files:/app/vikunja/files
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped

  db:
    image: postgres:18
    environment:
      POSTGRES_USER: vikunja
      POSTGRES_PASSWORD: BYT_UT_MIG_2
    volumes:
      - ./db:/var/lib/postgresql
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"]
      interval: 2s
      start_period: 30s

Byt ut de två platshållarna mot riktiga slumpsträngar och spara dem där företaget sparar lösenord. De två raderna som heter BYT_UT_MIG_2 ska innehålla exakt samma sträng, eftersom det är databasens lösenord på båda ställena. Skriver ni olika startar Vikunja men kommer inte in i databasen.

Öppna terminalen och gå in i mappen. På Windows är det PowerShell:

cd $HOME\vikunja

På Linux Mint heter programmet Terminal:

cd ~/vikunja

Starta sedan:

docker compose up -d

Står ni i fel mapp svarar Docker att ingen compose.yaml hittades, och då är det cd-raden som saknas. Hälsokontrollen på databasen gör att Vikunja väntar in den i stället för att krascha och starta om ett par varv. Öppna http://localhost:3456 och registrera det första kontot. Vi körde precis den här filen, och Vikunja startade direkt med den senaste versionen.

Den adressen pekar alltid på den egna datorn, det är vad localhost betyder. Skickar ni den vidare landar mottagaren på sin egen maskin i stället för på era projekt. För att lära er programmet duger det. Ska företaget dela uppgifterna på riktigt måste Vikunja ligga på en maskin som står på, nås på den maskinens adress, till exempel http://192.168.1.42:3456, och VIKUNJA_SERVICE_PUBLICURL ändras till samma adress.

Tre saker att göra först

  1. Stäng av registreringen när alla i företaget har fått konto. Lägg till raden VIKUNJA_SERVICE_ENABLEREGISTRATION: "false" under environment och kör docker compose up -d igen. Annars kan vem som helst som når adressen skapa ett konto åt sig själv.
  2. Lägg upp ett projekt per del av företaget i stället för ett enda stort. Marknadsföring, ekonomi, produktion. Uppgifter som hamnar i en gemensam hög blir aldrig gjorda, för ingen känner sig ansvarig för högen.
  3. Sätt ansvarig och datum på varje uppgift redan när ni skapar den. En uppgift utan ägare och utan datum är en anteckning, inte ett åtagande, och skillnaden märks när det blir bråttom.

Den vanligaste fällan

Att låta Docker skapa mapparna åt er. Startar ni utan att ha skapat files och db först lägger Docker på Linux Mint upp dem åt root, medan Vikunja inuti containern kör som en vanlig användare (uid 1000). Resultatet är att sidan laddar men loggen fylls med permission denied, och bilagor går inte att ladda upp. Vi körde rakt in i det när vi testade. På Windows med Docker Desktop uppstår normalt inte samma ägarproblem.

Lösningen är enkel och ska göras före första starten: skapa de två mapparna själva. Har det redan hänt på Linux Mint rättar ni det med sudo chown -R 1000 files (bara files behöver ägarbytet, databascontainern sköter db själv) och startar om med docker compose up -d.

Ser ni en varning om att service.jwtsecret är på väg bort, står det för att en äldre inställning bytt namn. Använd VIKUNJA_SERVICE_SECRET, precis som i filen ovan, så slipper ni den.