Gitea is een lichtgewicht, zelfgehoste Git-service waarmee ontwikkelaars hun projecten gemakkelijk kunnen beheren. In deze gids doorlopen we de stappen om Gitea zelf te hosten op een Virtual Private Server (VPS) met Docker. Deze opzet geeft je controle over je broncodebeheer terwijl de kosten laag blijven.
Een VPS Provider Kiezen
Bij het kiezen van een VPS voor het draaien van Gitea, denk aan factoren zoals prestaties, kosten en betrouwbaarheid. Hieronder een vergelijking van populaire VPS-aanbieders die geschikt zijn voor self-hosted applicaties zoals Gitea:
| Provider | Vanaf Prijs | CPU | RAM | Opslag |
|---|---|---|---|---|
| Contabo VPS | 5.99 EUR/maand | 2 vCPU | 4 GB | 500 GB SSD |
| Hetzner Cloud | 4.15 EUR/maand | 1 vCPU | 2 GB | 20 GB SSD |
| DigitalOcean | 6 USD/maand | 1 vCPU | 1 GB | 25 GB SSD |
| Vultr | 6 USD/maand | 1 vCPU | 1 GB | 25 GB SSD |
| Linode (Akamai Cloud) | 5 USD/maand | 1 vCPU | 1 GB | 25 GB SSD |
Voor Gitea volstaat zelfs een VPS met lage specificaties, hoewel je wellicht wilt kiezen voor een provider met een betere uptime en klantenservice, zoals Contabo of Hetzner.
Vereisten
Voordat we beginnen met de installatie, zorg dat je het volgende hebt:
- Een VPS-instance die draait op een Linux-distributie (Ubuntu wordt aanbevolen).
- Root-toegang tot je VPS.
- Docker en Docker Compose geïnstalleerd op je server. Als dat nog niet is gedaan, volg dan de onderstaande stappen:
Docker en Docker Compose Installeren
-
Maak verbinding met je VPS via SSH:
ssh root@jouw_vps_ip -
Werk je pakketindex bij:
apt update && apt upgrade -y -
Installeer Docker:
apt install -y docker.io -
Zet Docker aan en start het:
systemctl enable docker systemctl start docker -
Installeer Docker Compose:
apt install -y docker-compose
Gitea Installeren met Docker
Nu dat Docker geïnstalleerd is, kunnen we Gitea gaan deployen.
-
Maak een directory voor Gitea:
mkdir -p /opt/gitea cd /opt/gitea -
Maak een Docker Compose-bestand genaamd
docker-compose.yml:version: '3' services: gitea: image: gitea/gitea:latest environment: - USER=git - GITEA__database__DB_TYPE=sqlite3 - GITEA__database__PATH=/data/gitea.db - GITEA__server__DOMAIN=jouwdomein.com - GITEA__server__ROOT_URL=https://jouwdomein.com - GITEA__server__HTTP_PORT=3000 - GITEA__server__SSH_PORT=22 - GITEA__security__INSTALL_LOCK=true volumes: - gitea_data:/data ports: - "3000:3000" - "222:22" volumes: gitea_data: -
Vervang
jouwdomein.comdoor je daadwerkelijke domeinnaam of het IP-adres van je VPS. -
Start de Gitea-service:
docker-compose up -d -
Controleer of Gitea draait:
docker ps
Gitea Configureren
Na het starten van Gitea kun je deze openen in je webbrowser via http://jouw_vps_ip:3000 of http://jouwdomein.com:3000. De eerste keer wordt je door de setup geleid voor het configureren van de database en het admin-account.
Stappen Om te Configureren:
-
Database: Omdat we SQLite gebruiken, kun je de standaardinstellingen behouden.
-
Applicatie-URL: Stel deze in op je domein of IP.
-
Admin Account: Maak het admin-gebruikersaccount aan.
-
Aanvullende Instellingen: Configureer e-mailmeldingen en andere functies volgens je wensen.
Gitea Beheren
Zodra Gitea geïnstalleerd en geconfigureerd is, kun je het via de webinterface beheren. Je kunt repositories aanmaken, toegangscontrole beheren en gebruik maken van de verschillende functies van Gitea.
Veelgestelde Vragen
1. Kan ik Gitea gebruiken voor private repositories?
Ja, Gitea stelt je in staat om private repositories aan te maken waarbij alleen uitgenodigde collega’s toegang hebben tot de code. Dit is ideaal voor teams die werken aan propriëtaire projecten of gevoelige code.
2. Hoe veilig is Gitea bij self-hosting?
De beveiliging hangt vooral af van je serverconfiguratie. Zorg dat je firewall goed is ingesteld, houd je software up-to-date en overweeg HTTPS te gebruiken voor veilige verbindingen. Regelmatige backups van je data zijn ook aan te raden.
3. Kan ik mijn projecten migreren van GitHub naar Gitea?
Ja, Gitea biedt ingebouwde tools om repositories te importeren vanuit GitHub en andere diensten. Volg gewoon de importtool in de Gitea web UI en geef de benodigde repository-URL’s en authenticatietokens op.