Installera Crater
Skicka fakturor och offerter från en egen server, med besked om varför guiden bygger på den underhållna avknoppningen.
Vad Crater är
Ett faktureringsprogram. Ni lägger upp kunder och artiklar, skapar en faktura, skickar den som PDF eller länk, och ser sedan vilka som är betalda och vilka som inte är det. Det finns också offerter, utlägg och en enkel rapport över vad som kommit in.
Crater är smalare än ett bokföringsprogram, och det är meningen. Vill ni ha hela redovisningen är Akaunting rätt verktyg. Vill ni bara skicka snygga fakturor utan att lära er bokföring först, är fakturaprogrammet det som faktiskt blir använt.
Läs det här innan ni väljer Crater
Crater underhålls inte längre i någon hög takt. Det går långa perioder mellan ändringar på GitHub, och det finns ingen färdig Docker-avbild från projektet självt att peka på. Det som ligger på Docker Hub under namnet Crater är gamla testbyggen eller bygget av utomstående, och vi rekommenderar inget av dem.
Arbetet fortsätter i stället i en avknoppning som heter InvoiceShelf. Det är samma program i grunden, med samma gränssnitt, byggt vidare av andra utvecklare. Den koden ändrades senast i september 2026 och har en avbild som projektet självt ger ut.
Därför handlar resten av den här guiden om InvoiceShelf. Ni får det Crater är, med underhåll bakom sig. Kör ni redan Crater går det att flytta över, och projektet beskriver vägen i sin egen uppgraderingsguide.
Det här är ett serverprogram
Programmet startas inte med en installationsfil. Det behöver en webbserver, och enklaste vägen dit är Docker. Har ni inte Docker, börja med Installera Docker.
Uppsättningen nedan använder en databas av typen SQLite, alltså en enda fil i stället för en separat databastjänst. Det räcker gott för ett företags fakturor och gör hela installationen till en container. Projektet erbjuder också varianter med MySQL och PostgreSQL på sin egen docker-sida, för den som växer ur det.
Windows och Linux Mint
Samma fil på båda. Skapa en mapp som heter fakturor i hemmappen, alltså i C:\Users\ert-namn på Windows och i /home/ert-namn på Linux Mint. Lägg en textfil i mappen som heter compose.yaml:
services:
invoiceshelf:
image: invoiceshelf/invoiceshelf:latest
ports:
- "8080:8080"
environment:
- APP_NAME=Fakturor
- APP_ENV=production
- APP_DEBUG=false
- APP_URL=http://localhost:8080
- SESSION_DOMAIN=localhost
- SANCTUM_STATEFUL_DOMAINS=localhost:8080
- DB_CONNECTION=sqlite
- DB_DATABASE=/var/www/html/storage/app/database.sqlite
- CACHE_STORE=file
- SESSION_DRIVER=file
- AUTORUN_ENABLED=true
volumes:
- storage:/var/www/html/storage/
- modules:/var/www/html/Modules/
restart: unless-stopped
volumes:
storage:
modules:
Raden DB_DATABASE ska stå precis som den står. Den pekar på databasfilen inuti containern, och ändrar ni den hittar programmet inte sin egen data.
Öppna terminalen och gå in i mappen. På Windows är det PowerShell:
cd $HOME\fakturor
På Linux Mint heter programmet Terminal:
cd ~/fakturor
Starta sedan:
docker compose up -d
Står ni i fel mapp svarar Docker att ingen compose.yaml hittades. Vänta annars någon minut och öppna http://localhost:8080, så tas ni till en installationsguide i webbläsaren där ni skapar företaget och det första kontot. Vi körde precis den här filen och kom fram till guiden.
Den adressen gäller bara den egna datorn, för det är vad localhost betyder. Att skriva och skicka fakturor från en maskin fungerar hur bra som helst så. Ska flera i företaget fakturera från sina egna datorer måste programmet ligga på en maskin som står på, och då ändras APP_URL, SESSION_DOMAIN och SANCTUM_STATEFUL_DOMAINS till den adressen.
Tre saker att göra först
- Fyll i företagsuppgifterna ordentligt i installationsguiden: namn, adress och organisationsnummer. De trycks på varje faktura, och en faktura utan dem får kunden all rätt att ifrågasätta.
- Sätt valutan till SEK och kontrollera datumformatet innan ni skapar första fakturan. Standardinställningen är amerikansk, och en faktura daterad 03/09/2026 betyder olika saker för olika läsare.
- Skapa en testfaktura till er själva och ladda ner PDF:en. Ni ser hur den ser ut hos mottagaren och hittar stavfelet i företagsnamnet innan en kund gör det.
Den vanligaste fällan
Att skriva ett företagsnamn med mellanslag i APP_NAME utan citattecken. Vi gjorde det när vi provade, och containern startade men vägrade göra sitt jobb med felmeddelandet Failed to parse dotenv file. Encountered unexpected whitespace. Det låter allvarligare än det är. Skriv namnet i ett ord, som i filen ovan, och byt det sedan till det riktiga inne i programmet där mellanslag är fullt tillåtna.
Den andra saken att veta rör APP_URL och SANCTUM_STATEFUL_DOMAINS. De två ska peka på exakt samma adress, inklusive portnummer. Gör de inte det laddar inloggningssidan men accepterar inte lösenordet, utan att förklara varför. Byter ni adress, byt på båda raderna.