GitHub App instellen
PullPress praat met je repository via een GitHub App: afgebakend, controleerbaar en in één klik te verwijderen.
Een GitHub App is de manier die GitHub aanraadt om een dienst beperkte toegang tot een repository te geven. Anders dan een persoonlijk toegangstoken heeft hij een eigen identiteit (pullpress[bot]), liggen zijn rechten vast en zijn ze zichtbaar, en kun je hem beperken tot precies de repositories die jij kiest.
Welke rechten hij vraagt
Tijdens de installatie toont GitHub de volledige lijst rechten. Die is bewust kort:
- Contents: lezen en schrijvenJe contentbestanden lezen en de wijzigingen van redacteuren naar branches committen.
- Pull requests: lezen en schrijvenDe pull requests die redacteuren indienen openen, bijwerken en labelen.
- Metadata: lezenBasisinformatie over de repository (naam, standaardbranch). Verplicht voor elke GitHub App.
- Organization members: lezenAlleen gebruikt om na te gaan of wie koppelt een eigenaar van je GitHub-organisatie is; alleen die mag een installatie weghalen bij een werkruimte die ze niet hoort te hebben.
- Checks: lezen (optioneel)Laat het dashboard zien of je site na een wijziging aan het bouwen is of online staat. Laat je het uit, dan werkt al de rest hetzelfde.
- Workflows, Actions, instellingen, secretsUitdrukkelijk niet gevraagd. PullPress kan je CI, repository-instellingen, webhooks of secrets niet wijzigen.
Installeren op één repository
- Kies in je PullPress-dashboard Koppel een website (of Site koppelen op de pagina Sites & GitHub). Je wordt naar het installatiescherm van GitHub gestuurd.
- Kies het account of de organisatie die eigenaar is van de repo, kies dan Only select repositories en selecteer de ene repository van je site. Je kunt er later altijd meer toevoegen.
- Bekijk de rechten en bevestig. GitHub vraagt je PullPress te autoriseren voor je GitHub-account en stuurt je terug.
Met die autorisatiestap controleert PullPress dat jij echt toegang hebt tot de installatie voor ze aan je werkruimte gekoppeld wordt: het vraagt GitHub welke installaties van de App je GitHub-account kan bereiken en aanvaardt alleen die. Niemand kan je repositories aan zijn werkruimte hangen door een installatienummer te raden, en een installatie die een andere GitHub-gebruiker al aan een andere werkruimte koppelde, wordt geweigerd.
Toegang tot een installatie is geen toegang tot elke repository erin, dus PullPress vraagt GitHub ook naar welke repositories je account mag pushen. Alleen die worden aangeboden als je een site toevoegt, en de controle wordt op de server herhaald. Ze blijft een week geldig; daarna controleert één klik op Mijn repositorytoegang vernieuwen het opnieuw bij GitHub.
Bestaat een site eenmaal, dan blijft ze via de App werken, ook als de persoon die GitHub koppelde later je organisatie verlaat. Daarom vraagt PullPress elke 180 dagen een beheerder van de werkruimte om de koppeling opnieuw te bevestigen: de pagina Sites toont twee weken vooraf Opnieuw bevestigen vóór…, eigenaars en beheerders krijgen één e-mail, en Verifiëren via GitHub naast de installatie regelt het in één klik. Het is alleen een herinnering: bewerken en publiceren worden nooit geblokkeerd.
Terug in PullPress bevestigt het koppelscherm eerst welk account de installatie dekt en hoeveel repositories ze kan bereiken, met een rechtstreekse link om de installatie op GitHub aan te passen als ze op het verkeerde account of de verkeerde repositories belandde. Breek je de GitHub-stappen halverwege af, dan toont PullPress een vriendelijke melding dat de installatie niet afgerond is, met een link om het opnieuw te proberen, in plaats van stil te mislukken.
Beheerders van een organisatie kunnen de App ook voor een teamgenoot installeren. De teamgenoot opent dan het koppelscherm (of de pagina Sites) en kiest Verifiëren via GitHub (of Bestaande installatie koppelen): GitHub bevestigt de toegang en de installatie is klaar voor gebruik. Bereikt je GitHub-account meerdere installaties, dan kies je degene die deze werkruimte moet gebruiken; PullPress koppelt ze nooit allemaal tegelijk. Installaties die gekoppeld werden voor deze controle bestond, vragen dezelfde eenmalige verificatie voor er nieuwe sites op kunnen worden toegevoegd.
Vraagt een lid van een organisatie de App aan in plaats van hem te installeren, dan meldt PullPress dat de aanvraag op een eigenaar van de organisatie wacht; is ze goedgekeurd, gebruik dan Bestaande installatie koppelen.
Ontkoppelen en overnemen
Eigenaars van een werkruimte kunnen een installatie Ontkoppelen op de pagina Sites zodra geen actieve site ze nog gebruikt. Op GitHub verandert er niets.


Heeft een andere PullPress-werkruimte een installatie op jouw GitHub-account of -organisatie, dan kan een eigenaar van dat account ze naar de eigen werkruimte verhuizen (als eigenaar van een PullPress-werkruimte; beheerders van de werkruimte zien de optie maar hebben een eigenaar nodig om te bevestigen): GitHub bevestigt dat die persoon eigenaar is, de sites van de andere werkruimte op die installatie worden gearchiveerd (alleen-lezen) en de eigenaars ervan krijgen een e-mail. Zowel ontkoppelen als overnemen wordt vastgelegd in het auditlog van de werkruimte.
Hoe een installatie een site wordt
Eén gekoppelde repository wordt één site in PullPress. De site leest haar contentmodel uit de pullpress.config.yml van de repo, en elke redacteur die je uitnodigt, wordt specifiek voor die site uitgenodigd. Bureaus met veel klantrepo’s krijgen één site per repo, allemaal zichtbaar in het dashboard voor meerdere sites, elk met eigen redacteuren en rollen.
Notities over veiligheid
- Toegelaten paden. Wijzigingen van redacteuren worden alleen geschreven in de mappen die je configuratie opgeeft: collectiemappen en de mediamap. Daarbuiten schrijft PullPress maar twee eigen bestanden: de
pullpress.config.yml(als een beheerder de configuratie instelt of bewerkt) en, als je die gebruikt, eenllms.txtin de hoofdmap van de repository. Configuratiewijzigingen en het automatische onderhoud van een bestaandellms.txtop sites die direct publiceren, worden rechtstreeks naar je standaardbranch gecommit; de knop “llms.txt bijwerken” op andere sites gaat langs het nakijken. Al het andere, ook.github/, wordt geweigerd. - Geen tokens in de browser. De browsers van redacteuren praten alleen met PullPress. GitHub-gegevens zijn kortlevende installatietokens die op de server bestaan en nooit naar de client gestuurd worden. De GitHub-autorisatie die bij het koppelen de toegang controleert, draait met PKCE en wordt ingetrokken zodra de controle klaar is; PullPress bewaart geen GitHub-gebruikerstokens.
- Elke wijziging is toe te schrijven. Commits en pull requests worden gemaakt door
pullpress[bot]en toegeschreven aan de redacteur die ze maakte, zodat je Git-geschiedenis betekenis houdt. Standaard is de auteur de naam van de redacteur met een pseudoniem no-reply-adres (id+name@users.noreply.…), zodat e-mailadressen nooit in de geschiedenis van een publieke repository belanden. Een sitebeheerder kan overschakelen naar echte e-mailadressen onder Site-instellingen → Echte e-mailadressen van redacteuren in de Git-geschiedenis. - In één klik in te trekken. Verwijder de App wanneer je wilt uit je GitHub-instellingen. De toegang stopt meteen en je content blijft precies waar ze staat. PullPress merkt het ook: een verwijderde of geschorste installatie verschijnt als statusbadge in de lijst sites en als melding op het dashboard, en de beheerders van de werkruimte krijgen binnen enkele minuten een e-mail. Niets gaat stilletjes kapot.
- Branchvoorbeelden bouwen content van redacteuren. Wijzigingen die op nakijken wachten, staan op een eigen branch. Bouwt je host een voorbeeld van elke branch (Netlify, Vercel, Cloudflare Pages…), dan draait dat voorbeeld de build van je site op content die nog niet nagekeken is. PullPress verhindert dat redacteuren scripts of MDX-code toevoegen, en alleen echte JPG-/PNG-/WebP-afbeeldingen kunnen geüpload worden. Stel toch geen productiesecrets bloot aan voorbeeld- of branchbuilds, en geef beheerdersrechten (wie code mag toevoegen) alleen aan mensen die je vertrouwt.
- Ontbrekende rechten worden benoemd. Mist de App ooit een recht dat hij nodig heeft (bijvoorbeeld na een bijgewerkte set rechten die je nog niet aanvaard hebt), dan noemt de foutmelding de precieze ontbrekende scope in plaats van algemeen te falen.
Volgende stap: beschrijf je content in pullpress.config.yml, of loop de volledige installatie door in Aan de slag.