Ga naar hoofdinhoud
50% korting alle plannen, beperkte tijd. Vanaf $2.48/mo
16 min left
AI en machine learning

Code Server en Claude Code op een VPS Draaien: Een Browsergebaseerde AI-Ontwikkelomgeving

H Door Haze 16 min leestijd
A browser-based VS Code IDE with a Claude Code terminal panel running on a VPS, viewed on a tablet

Je klapt je laptop dicht, loopt naar een koffiebar en opent een browser op een tablet. Je volledige VS Code-editor is er gewoon, met een terminal die Claude Code ernaast draait, op een server die je zelf beheert. Geen lokale toolchain, geen synchronisatie, geen wachten tot een laptop wakker wordt.

Die combinatie is wat deze gids bouwt: Code Server (browsergebaseerde VS Code) en Claude Code (de AI-programmeer-CLI van Anthropic) op één enkele Linux-VPS. Veel tutorials behandelen het een of het ander, maar beide op dezelfde machine draaien geeft je een Codespaces-achtige, AI-ondersteunde IDE die vanaf elk apparaat bereikbaar is, voor de kosten van een VPS en met volledige root-toegang. Eén verduidelijking voordat je begint: Codeserver verwijst hier naar het opensourceproject van Coder (coder/code-server), niet naar Microsofts VS Code Server en niet naar Coders aparte enterpriseplatform. Ze delen een naam en worden voortdurend verward, dus het is de moeite waard om dat nu vast te pinnen.

Tegen het einde heb je een werkende, browsergebaseerde, AI-ondersteunde ontwikkelomgeving die draait op een VPS die je zelf bezit, beveiligd met HTTPS en opgezet om een verbroken verbinding te overleven.

De korte versie

  • De stack: Code Server geeft je VS Code in een browsertabblad; Claude Code voegt Anthropics AI-programmeerassistent toe op dezelfde server. Je bereikt het geheel vanaf elk apparaat met een browser.
  • De echte RAM-ondergrens is 4 GB, en Claude Code is de reden. Code Server alleen draait in 1 GB, maar Claude Code vereist 4 GB+, dus de gecombineerde stack heeft minstens 4 GB RAM, 2 vCPU en 120 GB opslag nodig. Reken op 8 GB als je comfort wilt.
  • De installatievolgorde doet er minder toe dan de authenticatiestap. De native installers voor beide tools zijn elk één regel. Claude Code authenticeren op een server zonder browser is het onderdeel waar de meeste setups op vastlopen. Je kopieert een login-URL naar je lokale browser, of gebruikt een token of API-sleutel.
  • Claude Code is niet gratis. Het vereist een betaald Claude-abonnement (Pro, Max, Team of Enterprise) of een Anthropic API-sleutel. Het gratis Claude.ai-abonnement bevat het niet.

Wat Je Nodig Hebt

Zorg voordat je begint dat je het volgende op orde hebt. Elk hiervan wordt in een latere stap genoemd, dus het is de moeite waard om ze nu te bevestigen in plaats van halverwege een gat te ontdekken.

  • Een Linux-VPS die voldoet aan de onderstaande minimumgrootte. Ubuntu 22.04 LTS wordt in deze hele gids gebruikt; de commando's zijn vrijwel identiek op Debian en andere Ubuntu-releases.
  • De juiste grootte: minstens 4 GB RAM, 2 vCPU, and 120 GB of NVMe storage. Het minimum van 4 GB komt van Claude Code, niet van Code Server (de sectie over grootte legt uit waarom).
  • Een domeinnaam (optioneel maar aanbevolen) als je HTTPS met een echt certificaat wilt. Je kunt Code Server op een IP-adres draaien, maar een domein maakt de reverse-proxy-stap schoner.
  • Een betaald Claude-abonnement of een Anthropic API-sleutel. Claude Code vereist een Pro-, Max-, Team- of Enterprise-abonnement, of een Claude Console (API)-account. Het gratis Claude.ai-abonnement bevat geen toegang tot Claude Code. Bevestig welke je hebt voordat je met de installatiestap begint, want die bepaalt hoe je authenticeert.
  • Basale SSH-toegang tot de server met een sudo-capabele gebruiker.

Je VPS Kiezen

De eerste beslissing is grootte, en het gangbare advies dat je voor Code Server vindt is verkeerd voor deze stack. De meeste Code Server-gidsen noemen een minimum van 1 GB RAM, wat klopt voor Code Server op zichzelf. Zodra je Claude Code toevoegt, verschuift die ondergrens.

De eigen systeemvereistenlijst van Claude Code 4 GB+ RAM (volgens de Claude Code setup-documentatie). Code Server heeft ongeveer 1 GB nodig. Beide draaien, plus je editor-extensies, een actief project, en het geheugen dat een agentische Claude Code-sessie gebruikt terwijl hij werkt, betekent dat de realistische ondergrens van de gecombineerde stack is:

HulpbronMinimumAanbevolen
RAM4 GB8 GB
vCPU24
Opslag120 GB NVMe240 GB NVMe
OSUbuntu 22.04 LTSUbuntu 22.04 LTS

De aanbevolen kolom is waar je wilt zijn als je meerdere extensies installeert, grote projecten met omvangrijke node_modules-mappen op de server houdt, of Claude Code op agentische taken draait die veel bestanden tegelijk aanraken. Het minimum draait de stack; de aanbevolen specificatie houdt het comfortabel.

Twee punten die je geld en verwarring besparen:

Er is geen GPU vereist. Claude Code stuurt zijn werk naar de API van Anthropic, dus alle modelinferentie gebeurt op afstand. Je draait geen model op je server. Een standaard CPU-VPS is de juiste keuze, en betalen voor een GPU-instance levert je hier niets op.

Kies een datacenter dicht bij je. Een browser-IDE is gevoelig voor netwerklatentie op een manier die een normale webapp niet is, omdat elke toetsaanslag en bestandsbewerking over een WebSocket-verbinding naar de server en terug reist. Hoe dichter de server bij waar je fysiek zit, hoe meer de editor lokaal aanvoelt. Als je meestal vanuit één regio codeert, kies dan de locatie die er het dichtst bij ligt.

Belangrijkste conclusie van de sectie: Dimensioneer voor Claude Code, niet voor Code Server. De 4 GB-vereiste van Claude Code bepaalt je ondergrens. Het 1 GB-cijfer van Code Server geldt niet meer zodra beide tools de machine delen.

VPS sizing for Code Server plus Claude Code: 4 GB RAM, 2 vCPU, 120 GB NVMe minimum, 8 GB RAM and 4 vCPU recommended

Code Server Installeren

Deze stap levert een werkende VS Code-editor op die in je browser bereikbaar is op poort 8080. Code Server levert een installatiescript dat de pakketinstelling voor je afhandelt.

Voer de officiële installer uit:

curl -fsSL https://code-server.dev/install.sh | sh

Het script detecteert je distributie en installeert Code Server als een systemd-service. Zodra het klaar is, start de service en schakel hem in zodat hij na een herstart terugkomt:

sudo systemctl enable --now code-server@$USER

Code Server bindt standaard aan 127.0.0.1:8080 en genereert een willekeurig wachtwoord bij de eerste keer draaien. Je hebt dat wachtwoord nodig om in te loggen. Het staat in het gegenereerde configuratiebestand:

cat ~/.config/code-server/config.yaml

De verwachte output ziet er zo uit:

bind-addr: 127.0.0.1:8080
auth: password
password: 5f3a9c1b2e8d7460a1f2c3b4
cert: false

Kopieer de wachtwoordwaarde. Je voert die in op het login-scherm van Code Server zodra de server bereikbaar is in je browser, wat, op dit moment, niet zo is, omdat hij gebonden is aan 127.0.0.1 (alleen localhost). Dat is opzettelijk: Code Server veilig blootstellen is een latere stap, gedaan via een reverse proxy in plaats van door poort 8080 open te zetten naar het internet.

Let op: Code Server beperkt het aantal loginpogingen. Als je het wachtwoord een paar keer verkeerd intikt en kort buitengesloten raakt, is dat de snelheidsbegrenzer, geen kapotte installatie. Wacht een minuut en probeer het opnieuw.

Als je de handmatige installatie liever helemaal overslaat, heeft de marktplaats van Cloudzy een one-click Code Server-implementatie die de server met Code Server al geïnstalleerd voorziet. Het is het snellere pad als je nu een host kiest; de handmatige stappen hierboven werken op elke Ubuntu-VPS, dus de rest van deze gids blijft provider-agnostisch.

Claude Code Installeren

Deze stap voegt de AI-programmeerassistent toe aan dezelfde server. Claude Code installeert als een enkel binair bestand en draait vanuit de terminal: dezelfde terminal die je later binnen de browser-IDE opent.

Gebruik de native installer, wat de aanbevolen methode van Anthropic is:

curl -fsSL https://claude.ai/install.sh | bash

Bevestig dat het is geïnstalleerd:

claude --version

Als je al Node.js 18 of later draait en de tool liever via npm beheert, bestaat dat pad als alternatief:

npm install -g @anthropic-ai/claude-code

The native installer is the primary path in Anthropic's current documentation, and it auto-updates in the background. The npm package can also auto-update, but that depends on the npm global directory being writable; if it isn't, Claude Code shows a one-time notice instead of updating silently. Choose the native installer unless you have a specific reason to prefer npm.

Claude Code ondersteunt Ubuntu 20.04+, Debian 10+ en Alpine 3.19+, dus de VPS die je hierboven hebt gedimensioneerd komt al in aanmerking. Het vereist een betaald Claude-abonnement of een Anthropic API-sleutel, die je in de vereisten hebt bevestigd, en het gratis Claude.ai-abonnement bevat het niet.

Voor de gezaghebbende installatiereferentie staat de huidige documentatie op code.claude.com. (Oudere links naar docs.anthropic.com verwijzen daarheen; gebruik het code.claude.com-adres rechtstreeks.)

Claude Code Authenticeren op een Headless Server

Voer uit claude voor de eerste keer en het probeert een browservenster te openen om de login te voltooien. Op een externe server die via SSH wordt bereikt, is er geen browser om te openen. Dit is de ene stap die de meeste serversetups stopt, en het heeft drie schone oplossingen.

De directe methode: kopieer de login-URL naar je lokale browser. Wanneer je claude op de server, print het een login-URL (druk op c om het naar je klembord te kopiëren als het niet automatisch opent). Open die URL in de browser op je eigen machine, log in en voltooi de autorisatie. Als de browser een logincode toont in plaats van door te verwijzen, plak die code dan terug in de terminal bij de prompt Paste code here if prompted. Dit is normaal bij SSH-sessies en containers. Dit is het standaard interactieve pad voor een Pro- of Max-abonnement.

De persistente methode: een langlevend token. Als je de server niet periodiek opnieuw wilt authenticeren, genereer dan een OAuth-token met een geldigheid van één jaar:

claude setup-token

Het commando loodst je één keer door de OAuth-autorisatie en print een token. Het bewaart het token niet voor je, dus kopieer het en stel het in als een omgevingsvariabele zodat Claude Code het bij elke run oppikt:

export CLAUDE_CODE_OAUTH_TOKEN=your-token-here

Voeg die export-regel toe aan je shell-profiel (bijvoorbeeld ~/.bashrc) om het over sessies heen te laten persisteren. Dit token authenticeert tegen je abonnement en vereist een Pro-, Max-, Team- of Enterprise-abonnement.

De API-sleutel-methode. Als je een Claude Console (API)-account gebruikt in plaats van een abonnement, stel dan je API-sleutel in:

export ANTHROPIC_API_KEY=sk-ant-your-key-here

Eén nauwkeurigheidsopmerking zodat je niet verrast wordt door een rekening: een API-sleutel factureert per token via de Claude Console, wat een apart facturatiepad is van een Pro- of Max-abonnement. Als je zowel een abonnement als ANTHROPIC_API_KEY hebt ingesteld, krijgt de API-sleutel voorrang zodra die is goedgekeurd. Dus als je van plan bent je abonnement te gebruiken, laat dan geen zwerf-API-sleutel in je omgeving staan.

Belangrijkste conclusie van de sectie: Drie routes om te authenticeren op een headless machine: kopieer de login-URL naar je lokale browser, voer claude setup-token uit voor een langlevend abonnementstoken, of stel ANTHROPIC_API_KEY in voor directe API-facturatie.

Three ways to authenticate Claude Code on a headless server: copy the login URL to a local browser, a one-year OAuth token, or an Anthropic API key

Code Server Veilig Blootstellen met HTTPS

Op dit moment is Code Server gebonden aan localhost en serveert het gewone HTTP. Je wilt poort 8080 niet openzetten naar het internet en inloggen over een onversleutelde verbinding, want iedereen op het netwerkpad zou je sessie kunnen lezen. De standaardoplossing is een reverse proxy die HTTPS beëindigt voor Code Server.

Er is één harde beperking die deze stap vormgeeft: Code Server is afhankelijk van WebSockets (volgens Coders vereisten). De editor gebruikt een persistente WebSocket-verbinding voor zijn live communicatie met de server, dus je reverse proxy moet WebSocket-upgrades correct doorsturen. Daarom doet de keuze van de proxy ertoe.

Gebruik Caddy of Nginx. Beide handelen WebSocket-proxying betrouwbaar af, en beide zijn beschikbaar als one-click-apps op de Cloudzy-marktplaats als je ze niet met de hand wilt installeren. Caddy is het kortere pad omdat het automatisch een Let's Encrypt-certificaat verkrijgt en vernieuwt. Een minimale Caddyfile voor Code Server is:

# /etc/caddy/Caddyfile
code.example.com {
    reverse_proxy 127.0.0.1:8080
}

Dat is de hele configuratie. Caddy detecteert de WebSocket-upgrade en stuurt hem door zonder extra directieven, en het voorziet zelf in HTTPS voor code.example.com. Herlaad Caddy met sudo systemctl reload caddy en surf naar https://code.example.com, en je bereikt het login-scherm van Code Server over een versleutelde verbinding.

Als je Nginx verkiest, is de configuratie langer omdat je de WebSocket-upgrade-headers expliciet instelt en het certificaat apart verkrijgt met Certbot:

# /etc/nginx/sites-available/code-server
server {
    listen 80;
    listen [::]:80;
    server_name code.example.com;
    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection upgrade;
        proxy_set_header Accept-Encoding gzip;
    }
}

Let op: Nginx en Caddy zijn de twee proxies die de officiële Coder-documentatie documenteert, en beide zijn hier de betrouwbare keuzes. Apache kan Code Server ook proxyen, maar zijn WebSocket-doorsturing vereist aanvullende module-configuratie (proxy_wstunnel plus rewrite-regels) die de officiële documentatie niet behandelt, en setups die die modules missen belanden vaak in het debuggen van verbroken editor-verbindingen. Als je al Apache voor andere sites draait, is het eenvoudigste pad om Code Server achter Nginx of Caddy op een aparte vhost te zetten in plaats van Apache te configureren om het te proxyen.

A reverse proxy terminating HTTPS in front of Code Server on localhost port 8080 and forwarding WebSocket upgrades, using Caddy or Nginx

Je Sessies in Leven Houden

Op deze server draaien twee verschillende dingen, en ze gedragen zich anders wanneer je verbinding wegvalt. Het is de moeite waard om te weten wat wat is voordat je een uur van een agentische Claude Code-run verliest aan een dichtgeklapte laptop.

Code Server zelf overleeft verbrekingen omdat je het als een systemd-service hebt geïnstalleerd. Het browsertabblad sluiten of SSH laten wegvallen stopt de Code Server-service niet. Bij normale herverbindingen keer je terug naar dezelfde browser-IDE-sessie, hoewel zeer lange verbrekingen mogelijk een venster-herlaadbeurt vereisen, afhankelijk van het herverbindingsgedrag van Code Server.

Claude Code is anders. Wanneer je claude in een interactieve terminal over SSH draait, is het gebonden aan die terminalsessie. Sluit het browsertabblad met die terminal, of laat de SSH-verbinding wegvallen, en het proces sterft ermee, middenin een taak als het bezig was. De oplossing is om Claude Code binnen een terminal-multiplexer te draaien zodat de sessie zich losmaakt van je verbinding en blijft draaien.

tmux is het standaardhulpmiddel hiervoor. Als je het nog niet eerder hebt gebruikt, dekken drie commando's wat je nodig hebt:

# Start a new named session
tmux new -s claude

# Run claude inside it as normal, then detach without stopping it:
# press Ctrl-b, then d

# Reattach later, from any new SSH session:
tmux attach -t claude

Begin claude binnen de tmux-sessie, koppel los met Ctrl-b en dan d, en de agentische run gaat door op de server. Koppel weer aan met tmux attach -t claude wanneer je opnieuw verbinding maakt (vanaf een ander apparaat, als je wilt) en je bent terug in dezelfde live sessie.

Let op: screen werkt op dezelfde manier als je het al gebruikt (screen -S claude om te starten, Ctrl-a en dan d om los te koppelen, screen -r claude om weer aan te koppelen). Beide tools lossen hetzelfde probleem op; kies degene die je kent.

Claude Code Gebruiken Binnen de Browser-IDE

Zodra beide tools op de machine staan, zijn er twee manieren om Claude Code vanuit de browser-IDE te bereiken: de geïntegreerde terminal en de VS Code-extensie. Een van deze is vandaag betrouwbaar; de andere heeft testen nodig voordat je ervan afhankelijk wordt.

Het terminalpad werkt, per constructie. Open Code Server in je browser, open de geïntegreerde terminal (Terminal > New Terminal, of Ctrl+`), en voer uit:

claude

Je hebt nu de volledige Claude Code CLI die binnen de browser-IDE draait, in dezelfde map als het project dat je open hebt. Dit is het betrouwbare pad: de terminal is een echte shell op de server, en Claude Code is een CLI die op die server is geïnstalleerd, dus het draait. Combineer het met de tmux-stap hierboven en de sessie overleeft een verbroken verbinding.

Het VS Code-extensiepad is mogelijk, maar het terminalpad is nog steeds de veiligere basis voor deze setup. Anthropic publiceert een Claude Code VS Code-extensie en de huidige documentatie zegt dat die kan worden geïnstalleerd vanaf Open VSX, wat van belang is omdat Code Server Open VSX gebruikt in plaats van Microsofts VS Code Marketplace. Probeer te zoeken naar "Claude Code" in de Extensions-weergave van Code Server, of installeer de Anthropic.claude-code extensie vanaf Open VSX als die in je instance verschijnt. Als de extensie niet netjes installeert, of als de IDE-integratie zich anders gedraagt dan in desktop-VS Code, val dan terug op de geïntegreerde terminal. De CLI werkt in elke terminal, en voor deze VPS-setup is dat het betrouwbare pad.

Implementeer Je Eigen Browsergebaseerde AI-IDE

Je hebt nu het volledige plaatje: een browserbereikbare VS Code-editor met Claude Code ernaast, beveiligd met HTTPS en opgezet om een verbroken verbinding te overleven, op een VPS die je zelf beheert.

Het ene deel hiervan dat pure setup-arbeid is, is het begin: een server voorzien en Code Server geïnstalleerd krijgen voordat je iets interessants kunt doen. Als je dat wilt overslaan, bieden we een one-click Code Server-implementatie op de Cloudzy-marktplaats die de VPS voorziet met Code Server al draaiend, zodat je direct op het login-scherm belandt en meteen doorgaat naar het installeren van Claude Code en authenticeren. Voor regulier dagelijks gebruik zet je de instance nog steeds achter HTTPS met Caddy of Nginx zoals hierboven getoond, in plaats van de kale http://<server-ip>:8080 login als het uiteindelijke productietoegangspad te behandelen.

Hetzelfde Linux VPS host de hele stack (editor, AI-CLI en reverse proxy) met de root-toegang die deze setup nodig heeft. Vanaf daar zijn de bovenstaande stappen alles wat tussen jou en programmeren met AI vanuit elke browser staat.

Als je nog steeds afweegt welke AI-programmeer-CLI je wilt kiezen voordat je dit bouwt, dekken onze vergelijkingen van OpenCode versus Claude Code en de bredere showdown van agentische programmeer-CLI's de afwegingen.

Veelgestelde vragen

Welke VPS-Specificaties Heb Ik Nodig voor Code Server en Claude Code?

Je hebt minstens 4 GB RAM, 2 vCPU en 120 GB opslag nodig voor de gecombineerde stack. Het minimum van 4 GB wordt aangedreven door Claude Code, niet door Code Server (Code Server alleen draait in ongeveer 1 GB). Voor comfortabel gebruik met extensies en grotere projecten is 8 GB RAM en 4 vCPU de aanbevolen grootte.

Is Claude Code Gratis?

Nee. Claude Code vereist een betaald Claude-abonnement (Pro, Max, Team of Enterprise) of een Anthropic API-sleutel via de Claude Console. Het gratis Claude.ai-abonnement bevat geen toegang tot Claude Code.

Hoe Authenticeer Ik Claude Code op een Server Zonder Browser?

Voer claude uit en kopieer de login-URL die het print naar de browser op je lokale machine om de login te voltooien, en plak de code terug in de terminal indien gevraagd. Voor een persistente server voer je claude setup-token uit om een OAuth-token met een geldigheid van één jaar te genereren en stel je het in als CLAUDE_CODE_OAUTH_TOKEN, of stel je ANTHROPIC_API_KEY in om te authenticeren met een Claude Console API-sleutel.

Werkt de Claude Code VS Code-Extensie Binnen Code Server?

De CLI van Claude Code draait volledig binnen de geïntegreerde terminal van Code Server, wat de meest betrouwbare manier is om het in deze browser-IDE-setup te gebruiken. De VS Code-extensie is ook het proberen waard omdat Anthropic zegt dat die kan worden geïnstalleerd vanaf Open VSX, en Code Server Open VSX gebruikt in plaats van Microsofts VS Code Marketplace. Als de extensie niet netjes installeert of zich anders gedraagt in je instance, gebruik dan het geïntegreerde terminalpad in plaats daarvan.

Kan Ik Dit Gebruiken Vanaf een iPad of Telefoon?

Ja. Code Server is browsergebaseerd, dus elk apparaat met een moderne browser (inclusief een iPad of telefoon) bereikt de volledige IDE. Die apparaatonafhankelijke toegang is het belangrijkste voordeel van een browser-IDE boven VS Code Remote SSH, dat een lokale VS Code-installatie nodig heeft om verbinding te maken.

Share

Meer van de blog

Blijf lezen.

Klaar om uit te rollen? Vanaf $2,48/mnd.

Onafhankelijke cloud, sinds 2008. AMD EPYC, NVMe, 40 Gbps. 14 dagen niet-goed-geld-terug.