Blogg

Slik satte jeg opp nettsiden min

Publisert 18. oktober 2026 · Nettsted ca. 8 min å lese

Denne siden ligger på Codeberg, og du leser den nå på et domene jeg eier selv. Det var ikke vanskelig å få det til, men det var heller ikke bare å huke av. Her er hvordan prosjektet gikk, og hva som møtte meg av utfordringer underveis.

Utgangspunktet var selvstendighet, ikke avhengighet

Jeg ville ha en nettside der jeg hadde hundre prosent kontroll. Der jeg kunne laste opp mine egne filer, ha mitt eget domene, uten å bli låst inne i en eller annen nettstedbygger jeg ikke eier. Og jeg ville unngå å ha noen amerikanske spionprogramvare i stacken. Det er ingen grunn til å levere data til en CLOUD-akt-jurisdiksjon når det finnes gode europeiske alternativer. Først var jeg inne på tanken om jeg om jeg kunne bruke Nextcloud-skyen min som webhotell, men en offentlig delt mappe i en fillagringstjeneste er ikke en god nettside. Den får ikke eget domene, ingen ryddige adresser, ingen SSL. Verktøyet var feil for jobben.

Så, etter litt research falt valget falt på Codeberg Pages. Det er gratis, statisk hosting fra en ideell tysk organisasjon, drevet med fri programvare. Etterpå var det domenet som sto på tur. Drømmenavnet var opptatt, men kjellting.no viste seg å være bedre enn plan A. Det rommer både det jeg jobber med profesjonelt, hobbyene mine og alt annet jeg kan være opptatt av. En vakker paraply, mange ting under. Domene ble kjøpt billig hos webhuset.no, uten å ta i bruk noen av de andre tjenestene deres.

Repo, grener, og en misforståelse

Oppsettet på Codeberg er i prinsippet enkelt. Lag et offentlig repo som heter pages, legg filene i roten, og innholdet publiseres. Men jeg traff visst en klassisk misforståelse helt i starten. Jeg har ikke jobbet med git før, og tenkte på en «branch» (gren) som en mappe. Det er det ikke. En branch er en parallell versjon av hele repoet. Filene skulle ligge i roten av en branch som heter pages. Ikke i en mappe som heter pages. Liten forskjell i ordlyden, stor forskjell i resultatet. Men det er feil man lærer av.

Så oppdaget jeg at Codeberg faktisk har to publiseringssystemer. Den gamle «Pages Server v2» er stengt for nye brukere, og alle nye kontoer må bruke det nye systemet, git-pages. For meg betydde det konkret at repoet mitt skulle kobles til det nye systemet med en såkalt webhook. Det er en liten adresse Codeberg pinger hver gang jeg pusher noe. Før den var på plass, publiserte ingenting seg selv, uansett hvor korrekt filene lå.

Arbeidsflyten hjemme hos meg selv

Nettlesergrensesnittet på Codeberg funker, men ekte arbeidsflyt er lokalt. Jeg klonet repoet ned til en mappe som synkroniseres med Nextcloud. Så nå har jeg arbeidskopien min tilgjengelig på alle maskiner, med skybackup gratis. Etterpå fikk jeg på plass tre små ting som gjorde oppdateringer enkelt. Git lagrer innloggingstokenet i systemets nøkkelring (libsecret på Linux), et alias kalt git go gjør hele «hent, legg til, lagre, push»-sekvensen til én kommando, og lokal testing før publisering er bare å åpne en liten HTTP-server i mappen og se siden i nettleseren før verden får se den.

Eget domene koblet til

Selve domenekoblingen er tre DNS-oppgaver hos registraten min. En A-post som peker domenet mot Codebergs server, en AAAA-post for IPv6, og det som var nytt for meg, en TXT-post som heter _git-pages-repository med adressen til repoet mitt. Den siste er en autorisasjon som beviser at domenet mitt tillater innhold nettopp fra det repoet. I det nye systemet til Codeberg er DNS kilden til autorisasjon. Den gamle .domains-filen i repoet er ikke lenger i bruk.

Motbakkene

Tips underveis: Du trenger ikke vente på domeneregistreringen for å teste. Siden lever på brukernavn.codeberg.page fra første push. Bygg og verifiser alt der. Koble domenet på til slutt. Da feilsøker du ett lag av gangen.

Hva jeg lærte

Tre ting sitter igjen. For det første, finn og les feilmeldingene: «new users are not allowed», «503», «tls: internal error» kunne forklart hvorfor hvis jeg hadde lest dokumentasjonen, og sjekket status. Men jeg brukte jeg timer på å lete etter feil som ikke var der. For det andre, kontroll er ikke det samme som å eie alt. Filene mine er mine og kan flyttes til en hvilken som helst annen tjener i morgen, domenet er mitt, resten er utbyttbare biter. For det tredje, fri programvare fungerer, men den forutsetter at du orker å forstå den. Betalt bekvemmelighet skjuler mekanismene, fri programvare viser dem. Det er ikke en bug, det er prisen.

Til deg som står der jeg sto

Totalregnskapet ble noen kvelder med forvirring, en tilnærmet null kronekostnad, og en nettside jeg kontrollerer fra domenenavn til siste CSS-linje. Du trenger ikke være utvikler. Jeg er jurist. Men du må tåle å grave i feilmeldinger og prøve én gang til. Hvis du vurderer det samme byttet, registrer domenet ditt i dag, opprett Codeberg-konto i morgen, og push din første index.html-fil før uken er over. Resten er motbakker du kommer over. Og sitter du fast midt i en ond sertifikat-sirkel en søndagskveld, prøv http først. Eller ta kontakt, så kanskje jeg kan hjelpe.

Kommentarer

Har du tanker om dette? Send en e-post til thewizardofmagicalcolors@proton.me, så legger jeg den ut her. Kommentarer modereres manuelt og vises som ren tekst.