ID.nl logo
Met Gitea bouw je je eigen GitHub
© Reshift Digital
Huis

Met Gitea bouw je je eigen GitHub

Dankzij Gitea kun je relatief eenvoudig je eigen GitHub-alternatief bouwen, waar je je programmacode een plek kunt geven. Dat is erg praktisch, ook voor het bijhouden van problemen en documentatie. Bovendien dient het als back-up.

Op GitHub kun je eenvoudig je projecten een plekje geven en delen met de wereld. Maar je kunt zoiets ook zelf bouwen, bijvoorbeeld met Gitea. Deze lichtgewicht software kun je eenvoudig zelf hosten. Waarom zou je dat doen? Ten eerste is het een veilig idee om je ontwikkelbestanden in eigen beheer te hebben. Weliswaar kun je deze op GitHub ook wel privé houden, maar een foutje is snel gemaakt. Sommigen zijn ook niet blij met het feit dat GitHub is overgenomen door Microsoft. Het werkt bovendien – zeker lokaal – ook een stukje sneller. Ten slotte zijn er geen beperkingen meer, zoals je die met een gratis account wel op GitHub hebt.

©PXimport

Licht en flexibel

Gitea is gratis, opensource en uitgegeven onder MIT-licentie, wat erop neerkomt dat vrijwel alles wordt toegestaan. Het pakket biedt uiteraard versiebeheer met Git en een grafische webinterface voor het beheer. Je kunt problemen bijhouden, op basis van meldingen van gebruikers. Dit ken je wellicht van GitHub. Ook kun je uitgebreidere documentatie maken in de vorm van een wiki. Toegang tot de repository is mogelijk via http(s) en ssh. Het is geschreven in de programmeertaal Go en hierdoor platformonafhankelijk. Je kunt het draaien via het uitvoerbare bestand dat onder meer voor Linux, Windows en macOS verkrijgbaar is. Hier installeren we het onder Ubuntu 20.04 LTS met de hulp van Snap. Kleinere systemen als een Raspberry Pi of een NAS kunnen ook als basis dienen. Voor niet al te grote projectgroepen is eenvoudige hardware meer dan toereikend. Ook in vergelijking met GitLab, een van de bekendere alternatieven, liggen de systeemeisen voor Gitea een stuk lager.

Installatie

Op https://docs.gitea.io/en-us staat uitgebreide documentatie voor Gitea. Ook vind je hier verschillende installatiemethoden. Wij kiezen hier voor een installatie onder Ubuntu middels Snap. Zorg dat Snap is geïnstalleerd:

sudo apt install snapd

Daarna installeer je Gitea met:

sudo snap install gitea

Open hierna een browser met het ip-adres van het bewuste systeem en poortnummer 3000. In ons voorbeeld is dat http://10.0.10.53:3000. We kiezen als database voor SQLite3 dat geen verdere configuratie vereist. Bij Gitea base URL en SSH server domein veranderen we localhost naar het ip-adres van de bewuste server. Het maken van een administrator-account onder het kopje Instellingen beheerdersaccount is optioneel, maar wel raadzaam. De eerste geregistreerde gebruiker wordt anders automatisch de beheerder.

©PXimport

De mogelijkheden van Gitea zijn overwegend vergelijkbaar met GitHub

-

Repository maken

Je kunt binnen de webinterface van Gitea een nieuwe repository maken, door op de overzichtspagina achter Repositories op het plusteken te klikken. Vul de gevraagde details in, met minimaal een naam voor de repository en een vinkje achter Zichtbaarheid als deze repository privé moet zijn (achter de checkbox staat namelijk Maak repository privé). Klik dan op Nieuwe repository. Je kunt deze nu klonen, maar ook gebruiken voor een bestaand project, zoals we hierna zullen doen.

©PXimport

Remote repository toevoegen

We nemen een bestaand project als uitgangspunt. We gaan Gitea als remote repository toevoegen onder de naam origin met:

git remote add origin http://10.0.10.53:3000/gertjan/demo.git

Vervolgens synchroniseren we de masterbranch met de remote server:

git push -u origin master

Eventuele andere branches kun je op vergelijkbare wijze synchroniseren. Verdere wijzigingen kun je met een nieuwe push synchroniseren. Je zult merken dat om je gebruikersnaam en wachtwoord worden gevraagd. Dit kun je oplossen door op je systeem de juiste ssh-sleutels aan te maken en deze toe te voegen in Gitea.

Beschrijving toevoegen

Het is nuttig om een beschrijving te hebben van een project. In je werkdirectory maak je daarvoor een tekstbestand met de naam README.md. Gebruik bijvoorbeeld de editor nano:

nano README.md

Hier zet je in Markdown-formaat een beschrijving in. Je kunt de tekst op verschillende manieren opmaken. Gebruik bijvoorbeeld een of meerdere hekjes voor een header en twee sterretjes voor en na een tekst om die vet te maken. Voeg het bestand hierna toe aan je staging area, om het met de tweede opdracht naar je lokale repository te zetten:

git add README.md

git commit -m "Beschrijving toegevoegd"

Werk vervolgens je remote repository op Gitea bij:

git push -u origin master

Als je je projectpagina op Gitea bezoekt, zie je dat de beschrijving direct getoond wordt.

©PXimport

Extra mogelijkheden

Gitea geeft je veel extra features. De mogelijkheden zijn overwegend vergelijkbaar met GitHub en ook de interface lijkt erop. Je kunt om te beginnen op het tabblad Code alle programmabestanden bekijken, evenals de verschillende vertakkingen (branches). Als je binnen dit tabblad naar Commits gaat, zie je alle veranderingen die je hebt gedaan met de korte beschrijving. Als je er op klikt, zie je wat er precies was veranderd.

Het tabblad Kwesties geeft jou en anderen de mogelijkheid om problemen met je code te melden. Je kunt zo’n kwestie vervolgens tot in detail configureren. Je kunt bijvoorbeeld een timer starten zodat je weet hoelang je aan de oplossing werkt, een vervaldatum toevoegen om jezelf een deadline te stellen en afhankelijkheden toevoegen, als je voor het oplossen afhankelijk bent van een andere kwestie. Als het probleem is opgelost, kun je de kwestie sluiten.

Op het tabblad Pull-aanvragen geef je als medeontwikkelaar aan dat je een bepaalde feature hebt afgerond en dat die mag worden toegevoegd aan de master. Ook zulke aanvragen geven weer de mogelijkheid voor verdere discussie. Verder kun je onder andere uitgebreidere documentatie schrijven op het tabblad Wiki.

▼ Volgende artikel
Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2
Huis

Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2

The Duskbloods, de nieuwe game van Elden Ring- en Dark Souls-ontwikkelaar FromSoftware, zal echt alleen op Nintendo Switch 2 uitkomen.

Dat heeft de ontwikkelaar benadrukt bij het bekendmaken van zijn kwartaalcijfers (via VGC). Daarbij werd ook nog eens benadrukt dat The Duskbloods nog altijd gepland staat om ergens dit jaar uit te komen, net zoals de Switch 2-versie van Elden Ring.

Over de exclusieve Switch 2-release van The Duskbloods: "Het wordt verkocht via een samenwerking met Nintendo, met verkoopverantwoordelijkheden verdeeld per regio. De game komt alleen voor Nintendo Switch 2 beschikbaar." Daarmee is dus duidelijk gemaakt dat Nintendo een nauwe samenwerking met FromSoftware is aangegaan voor de game en dat het spel niet zomaar op andere platforms uit zal komen.

Over The Duskbloods

The Duskbloods werd begin vorig jaar aangekondigd in een speciale Nintendo Direct waarin de eerste Switch 2-games werden getoond, maar sindsdien zijn er geen nieuwe beelden van het spel uitgebracht. Zoals gezegd is de game ontwikkeld door FromSoftware, het Japanse bedrijf dat naam voor zichzelf heeft gemaakt met enorm uitdagende spellen, waaronder de Dark Souls-serie en Bloodborne. Met de openwereldgame Elden Ring scoorde de ontwikkelaar enkele jaren geleden nog een megahit.

Watch on YouTube

The Duskbloods wordt een PvPvE-game, waarbij spelers het dus tegen elkaar en tegen computergestuurde vijanden opnemen. Maximaal acht spelers doen aan potjes mee. Na het kiezen van een personage in een hub-gebied wordt men naar een gebied getransporteerd waar er met andere spelers en vijanden gevochten wordt, al kan men soms ook samenwerken om vijanden te verslaan.

Spelers besturen een 'Bloodsworn', wezens die dankzij een speciaal bloed dat in hun lichaam zit meer krachten tot hun beschikking hebben dan reguliere mensen. Ondertussen is het einde van de mensheid nabij, en bestaat de wereld uit verschillende tijdperken, wat voor een mengelmoes van stijlen zorgt.

▼ Volgende artikel
Beeldverversing versus pixels: waarom soepel gamen beter is dan scherp
© Gorodenkoff Productions OU
Huis

Beeldverversing versus pixels: waarom soepel gamen beter is dan scherp

Resolutie is marketing, refreshrate is beleving. Waar 4K zorgt voor een mooi plaatje, zorgt een hoge verversing (Hz) ervoor dat je daadwerkelijk wint. Hieronder lees je waarom snelheid in feite de échte koning is in gaming.

Veel gamers staren zich blind op 4K-resolutie. Ze kopen een duur scherm, zetten de settings op Ultra en vragen zich vervolgens af waarom hun spel stroperig aanvoelt. De misvatting is dat 'mooier' gelijkstaat aan 'beter'. In werkelijkheid is de vloeibaarheid van het beeld – de refreshrate, oftewel verversingssnelheid – veel bepalender voor hoe direct en responsief een game aanvoelt. Aan het eind van dit artikel weet je precies of jij moet kiezen voor pixels of snelheid.

Hoe je ogen bedrogen worden door Hertz

Stel je voor dat je snel met je muis over je bureaublad beweegt. Op een standaard 60Hz-scherm zie je de cursor in schokjes over het beeld springen; je hersenen vullen de gaten in. Op een 144Hz- of 240Hz-gaming-monitor verdwijnen die gaten.

Het technische verschil zit hem in de verversingssnelheid: het aantal keren per seconde dat het beeld wordt vernieuwd. Bij 60 Hz krijg je elke 16,6 milliseconden een nieuw beeld. Bij 144 Hz is dat elke 6,9 milliseconden. Dat klinkt als een klein verschil, maar je voelt het direct. Het gestotter dat je onbewust gewend bent verdwijnt. Bewegingen voelen boterzacht aan, alsof de cursor (of je crosshair) aan je hand vastgeplakt zit in plaats van er achteraan zwemt. Dit effect wordt motion clarity genoemd: objecten blijven scherp, zelfs als ze snel door het beeld bewegen.

©Framestock

De winst in shooters en snelle actie

Wanneer werkt dit in je voordeel? Vooral in competitieve shooters zoals Call of Duty, Counter-Strike of Valorant. In dit soort games telt elke milliseconde. Een hogere refreshrate vermindert de input lag, oftewel de tijd tussen jouw klik en de actie op het scherm.

Stel, je draait je personage snel om. Bij een lage refreshrate wordt de vijand een fractie later getoond en zie je veel bewegingsonscherpte (motion blur). Met een hoge refreshrate zie je de vijand eerder en scherper, waardoor je sneller kunt reageren. Je hebt letterlijk actuelere informatie dan je tegenstander. Om dat te bereiken heb je wel een krachtige videokaart nodig die genoeg beelden per seconde (FPS) kan genereren om je snelle scherm bij te houden.

Wanneer resolutie het toch wint van snelheid

Is snelheid altijd heilig? Nee. Als je vooral tragere, meer verhalende games speelt (zoals Cyberpunk 2077 in de 'sightseeing' modus), Microsoft Flight Simulator of grafische RPG's, dan voegt 240 Hz weinig toe. In deze titels kijk je vaak naar stilstaande of langzaam bewegende omgevingen.

In dat geval wil je juist de texturen van de bomen, de reflecties in het water en de details in gezichten zien. Een 4K-monitor op 60 of 120 Hz is dan een logischer keuze dan een onscherp 1080p-scherm op 360 Hz. De visuele pracht weegt hier zwaarder dan de milliseconden reactietijd. Ook voor console-gamers die op de bank zitten, is een goede televisie met 4K en HDR vaak indrukwekkender dan puur de hoogste framerates.

Situaties waarin een hoge refreshrate zinloos is

Er zijn momenten dat investeren in een snel scherm weggegooid geld is. Dat gebeurt bijvoorbeeld als je hardware de snelheid niet kan leveren; als je videokaart maar 50 frames per seconde kan leveren, heeft een 144Hz-scherm geen nut omdat het scherm wacht op de computer. Daarnaast beperken oude kabels je bandbreedte, waardoor je monitor soms terugvalt naar 60 Hz zonder dat je het doorhebt. Ook op oudere consoles zoals de Nintendo Switch of de standaard PS4 heb je niets aan snelle schermen, omdat deze hardware fysiek gelimiteerd is op 60 Hz of lager.

Bepaal wat jouw setup aankan

Kijk dus kritisch naar je huidige situatie voordat je naar de winkel rent. Heb je een high-end pc die makkelijk 120+ FPS haalt in jouw favoriete games? Dan is een upgrade naar een 144- of 165Hz-monitor de grootste sprong in spelplezier die je kunt maken. Speel je op een PlayStation 5 of Xbox Series X? Zoek dan specifiek naar een scherm met HDMI 2.1-ondersteuning om 120 Hz op 4K mogelijk te maken. Zit je ver van je scherm af en speel je relaxed? Investeer dan liever in resolutie en kleurdiepte.

©Proxima Studio

Kortom: snelheid is de sleutel tot succes!

Verversingssnelheid is belangrijker dan resolutie voor iedereen die actie- of competitieve games speelt. Het zorgt voor een vloeiender beeld, minder input lag en betere motion clarity, wat je direct een voordeel geeft in het spel. Resolutie is vooral luxe voor het oog, maar refreshrate is pure prestatie voor de speler.