Archivum

Archivum är ett självhostat wiki- och dokumenthanteringssystem. Det är tänkt att användas för allt från enkla anteckningar och teknisk dokumentation till världsbyggande inför rollspelskampanjer. Alla dokument lagras som AsciiDoc-filer (.adoc) på disk, vilket innebär att du kan läsa och redigera dem direkt med valfritt predikat — utan att öppna webbgränssnittet. Applikationen renderar dokumenten till HTML i webbläsaren och hanterar automatisk versionshantering via Git, så att varje sparning skapar ett commit och alla ändringar kan rullas tillbaka.

Se ARCHITECTURE.md för detaljerad dokumentation om arkitektur, exekveringsflöden och komponentstruktur.


Användningsområden

  • Anteckningar — snabbanteckningar och personliga kunskapsbaser
  • Wiki — team-wiki med dokumentträd och historik
  • Teknisk dokumentation — API-dokumentation, systembeskrivningar, runbooks
  • Rollspelskampanjer — världsbyggande, NPC-register, kartor och händelseloggar

Krav

För att köra med Docker (rekommenderat)

För lokal utveckling

  • Go ≥ 1.22
  • Node.js ≥ 20 + npm
  • Git (används av backenden för versionshantering)

Snabbstart med Docker Compose

1. Skapa en .env-fil i mappen docker/ (eller i roten):

DOCKER_PATH=/opt/archivum   # Host-katalog där config/ och data/ skapas
HOST_PORT=8080
PUID=1000
PGID=1000
TZ=Europe/Stockholm

2. Starta:

docker compose -f docker/docker-compose.yml up -d

3. Öppna http://localhost:8080 i webbläsaren. Installationsguiden startar automatiskt vid första körningen.


Lokal utveckling

Backend

cd backend
go run ./cmd/server
# Servern lyssnar på :4000
# config.json i backend/ används som konfiguration

Frontend

cd frontend
npm install
npm run dev
# Dev-server på :5173 med proxy till :4000

Öppna http://localhost:5173. API-anrop proxyas automatiskt till backend-servern.

Bygga frontend för produktion

cd frontend
npm run build
# Utdata i frontend/dist/

Konfiguration

Konfigurationen lagras i config.json. Filen skapas automatiskt av installationsguiden.

Fält Beskrivning
storage_path Sökväg till katalogen där .adoc-filer och Git-repot lagras
db_path Sökväg till SQLite-databasen (användarkonton)
jwt_secret Hemlig nyckel för session-tokens
listen_addr TCP-adress att lyssna på, t.ex. :4000
ldap Valfri LDAP-konfiguration för företagsinloggning

Dokumentformat

Alla dokument skrivs i AsciiDoc. Exempeldokument:

= Mitt dokument
:author: Anna Andersson
:date: 2026-04-12

== Introduktion

Det här är ett *fetstilt* stycke med en https://example.com[länk].

== Kodexempel

[source,go]
----
fmt.Println("Hello, Archivum!")
----

Filen sparas som mitt-dokument.adoc i storage_path och versionshanteras automatiskt.


Docker: Multi-arch build

För att bygga och pusha en image som stöder både AMD64 och ARM64 (Raspberry Pi):

docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -t ditt-registry/archivum:latest \
  -f docker/Dockerfile --push .
Description
Wiki with Git and direkt file as the truth
Readme Apache-2.0 1 MiB
Languages
Vue 51.1%
Go 39.2%
TypeScript 7.2%
CSS 1.1%
Dockerfile 0.8%
Other 0.6%