# Advies — Zelf een Git-platform hosten naast of in plaats van GitHub

## Situatie

Je wilt onderzoeken of je lokaal of op een eigen server een Git repository-platform kunt draaien vergelijkbaar met GitHub.

In jouw situatie spelen mee:

- Next.js/Vercel apps
- AI-workers / automation
- batch processing
- deploy pipelines
- private code
- mogelijk draaien op NAS of VPS
- integratie met Claude Code / Codex / agents

Het antwoord is: ja, dit kan uitstekend.

---

# Architectuur-opties

## Optie 1 — Alleen een centrale Git remote

De lichtste oplossing.

Je draait alleen een zogenaamde "bare repo" op een Linux server.

### Voordelen

- extreem simpel
- weinig resources
- volledige controle
- SSH push/pull

### Nadelen

- geen webinterface
- geen PR’s
- geen issues
- geen gebruikersbeheer
- geen CI/CD UI

### Setup

Server:

```bash
mkdir -p /srv/git/myapp.git
cd /srv/git/myapp.git
git init --bare
```

Client:

```bash
git remote add origin ssh://user@server:/srv/git/myapp.git
git push -u origin main
```

---

# Optie 2 — Self-hosted GitHub alternatief

Dit is meestal de beste keuze.

Software opties:

| Software | Omschrijving |
|---|---|
| Gitea | Lichtgewicht GitHub alternatief |
| Forgejo | Community fork van Gitea |
| GitLab | Zeer compleet maar zwaar |
| OneDev | Moderne alles-in-één oplossing |

---

# Aanbevolen keuze: Gitea

## Waarom

Voor jouw situatie is Gitea waarschijnlijk de beste balans tussen:

- eenvoud
- performance
- features
- beheerlast

Je krijgt:

- Git hosting
- web UI
- pull requests
- issues
- SSH support
- webhooks
- CI integratie
- Docker support
- private repos
- multi-user support

---

# Aanbevolen architectuur voor jouw setup

## Huidige richting

```text
MacBook
   ↓
GitHub
   ↓
Vercel deploy
```

## Uitgebreide AI workflow

```text
MacBook
   ↓
Gitea / GitHub
   ↓ webhook
AI Worker Server
   ↓
Repo clone
   ↓
Code generatie
   ↓
Commit + push
   ↓
PR creation
   ↓
Merge
   ↓
Vercel deploy
```

---

# Beste strategie voor jouw situatie

## Advies: hybride model

Gebruik:

| Component | Platform |
|---|---|
| publieke repos | GitHub |
| deploys | Vercel |
| AI worker orchestration | eigen server |
| interne experimenten | Gitea |
| automation | self-hosted |

Waarom:

- GitHub ecosystem blijft beschikbaar
- recruiters herkennen GitHub
- Copilot integratie blijft optimaal
- minder beheer
- sneller stabiel

---

# Wanneer volledig self-hosted interessant wordt

Volledig self-hosted wordt interessant als:

- privacy belangrijk is
- AI agents autonoom moeten kunnen werken
- je volledige controle wilt
- je GitHub limieten wilt vermijden
- je meerdere workers wilt draaien

Dan bouw je:

```text
Gitea
 + Postgres
 + Docker Registry
 + CI Runners
 + Reverse Proxy
 + Backups
 + Monitoring
```

---

# Aanbevolen infrastructuur

## Lichtgewicht setup

### Hardware

- Synology NAS of mini-PC
- 8–16 GB RAM
- SSD opslag

### Software stack

| Component | Advies |
|---|---|
| OS | Ubuntu Server |
| Containers | Docker Compose |
| Git platform | Gitea |
| Reverse proxy | Traefik |
| Database | Postgres |
| SSL | Let's Encrypt |
| Deploys | Vercel |

---

# Docker Compose voorbeeld

```yaml
services:
  gitea:
    image: gitea/gitea:latest
    container_name: gitea

    ports:
      - "3000:3000"
      - "222:22"

    volumes:
      - ./gitea:/data

    restart: always
```

Starten:

```bash
docker compose up -d
```

Daarna bereikbaar via:

```text
http://server-ip:3000
```

---

# Belangrijke aandachtspunten

## Backups

Bij self-hosting moet je zelf regelen:

- database backups
- repo backups
- disaster recovery

---

## Security

Je bent zelf verantwoordelijk voor:

- updates
- SSH security
- firewall
- SSL certificaten
- gebruikersbeheer

---

## CI/CD

GitHub Actions vervang je mogelijk door:

- Gitea Actions
- Drone CI
- Woodpecker CI
- self-hosted runners

---

# Integratie met jouw AI-worker ideeën

Dit sluit zeer goed aan op jouw eerdere ideeën:

- Neon database events
- worker servers
- auto-generated PR’s
- selective deploys
- batch execution

Je kunt bijvoorbeeld:

1. story wordt aangemaakt
2. worker krijgt event via SSE/webhook
3. repo wordt gecloned
4. AI implementeert wijziging
5. commit + push
6. PR automatisch aangemaakt
7. review pipeline start
8. merge → deploy

Dit wordt veel eenvoudiger wanneer je volledige controle hebt over de Git infrastructuur.

---

# Concrete roadmap

## Fase 1 — huidige setup stabiliseren

Hou:

- GitHub
- Vercel
- Neon

Voeg toe:

- AI worker server
- webhooks
- automation pipeline

---

## Fase 2 — interne Git infrastructuur

Installeer:

- Gitea
- Docker
- Postgres

Gebruik dit voor:

- experimenten
- AI-generated branches
- interne repos
- automation testing

---

## Fase 3 — geavanceerde automation

Later toevoegen:

- self-hosted runners
- preview environments
- deploy approvals
- selective deployments
- agent orchestration

---

# Eindadvies

Voor jouw situatie:

## Niet meteen GitHub vervangen

Dat levert nu vooral extra beheerlast op.

## Wel nu al beginnen met:

- eigen AI worker server
- webhook automation
- lokale Git orchestration
- Gitea testomgeving

Dat sluit perfect aan op:

- Scrum4Me
- AI-assisted development
- batch story execution
- autonome pipelines
