# Satte selskapets egen git‑forge på Soft Serve i produksjon, privat som standard, uten webpanel og med SSH‑porten bundet til loopback bak en hoppvert, og gjorde landingssiden foran den til en byggeartefakt fra hovednettstedet i stedet for en kopi som vedlikeholdes for hånd.

juli 2026

**Situasjon.** Selskapets kildekode lå hos en tredjeparts vertstjeneste, som er et rimelig sted for den og en dårlig match for en bedrift som argumenterer overfor kundene sine med at den ikke gir dataene deres til mellomledd. Å drive en forge i stedet betyr å drive en forge: autentisering, tilgangskontroll, lagring, sikkerhetskopier og et offentlig ansikt utad.

**Oppgave.** En kanonisk git‑server måtte settes opp på den eksisterende verten, med minst mulig angrepsflate og uten noe administrasjonspanel på web, og med en landingsside foran som ikke forfaller.

**Handling.** Forgen er én enkelt binærfil som styres av operativsystemet, installert fra leverandørens pakkebrønn og bevisst valgt fordi den er SSH‑først uten noe administrativt webgrensesnitt — jo mindre grensesnitt, desto mindre å forsvare. Den er privat som standard: anonym tilgang avvises, tilgang uten nøkkel avvises, og hvert deklarert repo er merket som privat i stedet for å stole på at det er vanskelig å finne. SSH‑lytteren binder seg bare til loopback‑grensesnittet på port 23231 og nås utenfra via en jump host, slik at brannmurens deklarerte flate ikke vokser. En protokollmultiplekser som ville lagt HTTPS og git over SSH på én offentlig port ved å inspisere de første bytene i en tilkobling, er skrevet og står klar bak en hovedbryter, og den bryteren er av: git for flere brukere over den offentlige porten trengs ikke ennå, og en lytter ingen bruker, er angrepsflate. Landingssiden foran den var det mer interessante problemet. Den hadde vært en håndvedlikeholdt kopi av hovednettstedets design i et eget repo, og hver eneste forskjell som noen gang ble funnet mellom de to, viste seg å være et uhell og ikke en beslutning: en typeskala som gjorde ordmerket omtrent ni prosent for stort, en fontdeklarasjon som slo sammen to vekter til én på enhver maskin der familien var installert, ornamenter som var skjult under en viss bredde, slik at de manglet på hver eneste telefon, en vekt som ble brukt uten at noen font for den ble levert, og verken et main‑landemerke eller en overskrift på øverste nivå på noen side. Fem av fem, og ikke én av dem synlig i et skjermbilde. Kopien ble slettet; landingssiden bygges nå av hovednettstedets egne maler og leveres som en artefakt.

**Resultat.** Selskapet hoster sin egen kode på sin egen maskinvare, og siden foran den arver hver sjekk hovednettstedet består, i stedet for å drive bort fra det på måter bare en måling kan se. Avvik er fortsatt mulig og må nå skrives ned.

---

- Rolle: Linux‑systemadministrator
- Kategorier: [Webutvikling](https://platform.engineer.company/nb/categories/web-development/), [DevOps](https://platform.engineer.company/nb/categories/devops/), [Infrastruktur](https://platform.engineer.company/nb/categories/infrastructure/), [Automatisering og CI/CD](https://platform.engineer.company/nb/categories/automation/), [Linux og servere](https://platform.engineer.company/nb/categories/linux/), [Systemadministrasjon](https://platform.engineer.company/nb/categories/system-administration/)
- Tjenester: [Utvikling av nettsteder og CMS](https://platform.engineer.company/nb/services/web-development/), [Infrastruktur som kode](https://platform.engineer.company/nb/services/infrastructure-as-code/), [DevOps og CI/CD‑automatisering](https://platform.engineer.company/nb/services/devops-cicd/), [Systemadministrasjon](https://platform.engineer.company/nb/services/system-administration/)

<https://platform.engineer.company/nb/portfolio/deployed-the-companys-own-git-forge-121/>
