[{"data":1,"prerenderedAt":184},["ShallowReactive",2],{"seo-verification":3,"blog-self-host-coder-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-self-host-coder-vps-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":120,"ctaBody":121,"ctaButton":122,"ctaUrl":123,"relatedPosts":124},571,"self-host-coder-vps",{"fr":10,"en":12,"ar":13,"es":14},"self-host-coder-vps-cloud-development-environments","استضافة-coder-على-vps-بيئات-تطوير-سحابية","autoalojar-coder-vps-entornos-de-desarrollo","Coder sur VPS : environnements de dev auto-hébergés","Installez Coder sur un VPS : des espaces de travail Docker pour toute l'équipe, VS Code dans le navigateur, SSH et modèles Terraform, sans Codespaces.",7,0,false,"2026-11-08T00:00:00+00:00","2026-11-08T16:32:54+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[28],{"id":17,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-coder-vps-poster.svg",{"categorySlug":33,"appSlug":34},"developpement","coder","Installer PHP, Node.js, la bonne version de PostgreSQL et une douzaine d'extensions sur le portable de chaque nouveau développeur prend du temps, et finit toujours par diverger d'un poste à l'autre. Les environnements de développement dans le cloud, comme GitHub Codespaces ou Gitpod, règlent le problème, mais facturent à l'heure et gardent votre code chez eux. Coder est une plateforme open source (licence AGPL-3.0) qui fait le même travail sur votre propre serveur : chaque développeur obtient en un clic un espace de travail identique, décrit par un modèle Terraform. Ce guide l'installe sur un VPS avec Docker Compose, le place derrière nginx en HTTPS, crée un premier espace de travail Docker et montre comment s'y connecter depuis VS Code, JetBrains ou SSH.",[37,41,51,82,85,98,102,105,108,111,114,117],{"type":38,"title":39,"body":40},"h2","Ce que fait Coder","Coder sépare deux choses que l'on confond souvent : l'éditeur et l'environnement. L'éditeur reste celui que vous aimez — VS Code dans le navigateur, VS Code sur votre poste, un IDE JetBrains ou un simple terminal. L'environnement, lui, vit sur le serveur : un conteneur qui porte le code, les langages, les bases de données de test et les outils du projet.\n\nCet environnement est décrit dans un **modèle** écrit en Terraform. L'administrateur le publie une fois ; chaque développeur crée ensuite son **espace de travail** à partir de ce modèle, le démarre quand il travaille et l'arrête quand il a fini. Un agent installé dans l'espace de travail se connecte au serveur Coder et transporte le terminal, les ports et les sessions d'éditeur.",{"type":42,"title":43,"items":44},"ul","Ce que Coder apporte",[45,46,47,48,49,50],"**Espaces de travail identiques** — tout le monde travaille sur le même environnement, décrit dans un modèle versionné.","**Modèle Docker fourni** — un conteneur par espace de travail sur le VPS, avec son volume `\u002Fhome` persistant.","**Tous les éditeurs** — code-server dans le navigateur, VS Code Remote-SSH, JetBrains Gateway, `coder ssh`.","**Redirection de ports** — `coder port-forward` ouvre l'application en cours de développement sur votre poste.","**Arrêt automatique** — les espaces inactifs s'arrêtent selon la planification du modèle.","**Comptes et connexion unique** — comptes locaux, GitHub ou OpenID Connect.",{"type":52,"title":53,"headers":54,"rows":58},"comparison","Coder face aux autres options",[5,55,56,57],"Coder sur VPS","code-server seul","GitHub Codespaces",[59,64,69,74,78],[60,61,62,63],"Utilisateurs","Une équipe, avec comptes et rôles","Une personne","Comptes GitHub",[65,66,67,68],"Environnement","Modèle Terraform versionné","Le serveur lui-même","Fichier devcontainer",[70,71,72,73],"Éditeurs","Navigateur, VS Code, JetBrains, SSH","Navigateur","Navigateur, VS Code, JetBrains",[75,76,76,77],"Où vit le code","Sur votre serveur","Chez GitHub",[79,80,80,81],"Coût","Prix du VPS","À l'heure de calcul et au stockage",{"type":38,"title":83,"body":84},"Prérequis","Un VPS Ubuntu 24.04 avec 2 Go de RAM et 20 Go de disque pour un ou deux développeurs — comptez 4 à 8 Go de RAM pour une petite équipe —, Docker et le plugin Compose installés, et un sous-domaine qui pointe vers le VPS, par exemple `coder.example.com`. Le HTTPS est indispensable : les agents des espaces de travail rappellent le serveur sur cette adresse, et les sessions d'éditeur passent par WebSocket.",{"type":86,"title":87,"steps":88},"steps","Installer Coder avec Docker Compose",[89,92,95],{"title":90,"body":91},"Préparer le répertoire et les secrets","Le fichier `.env` porte le mot de passe de la base, l'identifiant du groupe Docker de l'hôte — il permet au serveur d'utiliser le socket Docker sans tourner en root — et le domaine.\n```bash\nmkdir -p \u002Fopt\u002Fcoder && cd \u002Fopt\u002Fcoder\n{\n  echo \"DB_PASSWORD=$(openssl rand -hex 16)\"\n  echo \"DOCKER_GID=$(stat -c %g \u002Fvar\u002Frun\u002Fdocker.sock)\"\n  echo \"DOMAIN=coder.example.com\"\n} > .env\nchmod 600 .env\n```",{"title":93,"body":94},"Écrire le fichier docker-compose.yml","Deux services : le serveur Coder, qui embarque Terraform, et PostgreSQL. Le port n'est publié que sur la boucle locale ; nginx s'occupera du HTTPS.\n```yaml\nservices:\n  coder:\n    image: ghcr.io\u002Fcoder\u002Fcoder:v2.39.0\n    restart: unless-stopped\n    group_add:\n      - \"${DOCKER_GID}\"\n    depends_on:\n      database:\n        condition: service_healthy\n    ports:\n      - \"127.0.0.1:7080:7080\"\n    environment:\n      CODER_HTTP_ADDRESS: \"0.0.0.0:7080\"\n      CODER_ACCESS_URL: \"https:\u002F\u002F${DOMAIN}\"\n      CODER_PG_CONNECTION_URL: \"postgresql:\u002F\u002Fcoder:${DB_PASSWORD}@database:5432\u002Fcoder?sslmode=disable\"\n      CODER_TELEMETRY_ENABLE: \"false\"\n    volumes:\n      - \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock\n  database:\n    image: postgres:17.11-alpine\n    restart: unless-stopped\n    environment:\n      POSTGRES_USER: coder\n      POSTGRES_PASSWORD: ${DB_PASSWORD}\n      POSTGRES_DB: coder\n    volumes:\n      - coder-db:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U coder -d coder\"]\n      interval: 5s\n      retries: 12\nvolumes:\n  coder-db: {}\n```",{"title":96,"body":97},"Démarrer et vérifier","Le premier démarrage crée le schéma de la base en quelques secondes.\n```bash\ndocker compose up -d\ndocker compose logs -f coder   # attendre « View the Web UI »\ncurl -fsS http:\u002F\u002F127.0.0.1:7080\u002Fhealthz\n```",{"type":99,"title":100,"body":101},"tip","Le socket Docker donne les clés du serveur","Coder crée les espaces de travail par le socket Docker, et toute personne qui peut modifier un modèle peut lancer n'importe quel conteneur sur le VPS — donc agir en root sur l'hôte. Réservez les rôles de propriétaire et d'administrateur de modèles à des personnes de confiance, et ne publiez jamais le port 7080 sur l'adresse publique.",{"type":38,"title":103,"body":104},"Placer Coder derrière nginx en HTTPS","Obtenez un certificat avec `certbot certonly --nginx -d coder.example.com`, puis déclarez le site. Les en-têtes `Upgrade` et `Connection` sont indispensables : sans eux, le terminal web et les connexions des agents échouent.\n```nginx\nserver {\n    listen 443 ssl;\n    http2 on;\n    server_name coder.example.com;\n    ssl_certificate     \u002Fetc\u002Fletsencrypt\u002Flive\u002Fcoder.example.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fcoder.example.com\u002Fprivkey.pem;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:7080;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_read_timeout 1h;\n    }\n}\n```\n\nRechargez nginx avec `nginx -t && systemctl reload nginx`, puis ouvrez `https:\u002F\u002Fcoder.example.com`. **Créez immédiatement le premier compte** : le premier visiteur de l'écran d'accueil devient propriétaire de l'installation.",{"type":38,"title":106,"body":107},"Créer le premier modèle et le premier espace de travail","Dans **Templates**, cliquez sur **Create Template** et choisissez le modèle de départ **Docker Containers**. Coder télécharge les fournisseurs Terraform nécessaires et publie le modèle. Créez ensuite un espace de travail depuis ce modèle : un conteneur démarre sur le VPS, son agent se connecte, et la page affiche l'état **Running** avec un bouton pour ouvrir code-server.\n\nLe modèle est un simple fichier `main.tf`. Pour l'adapter à votre projet, changez l'image de base, ajoutez les outils dans le script de démarrage de l'agent, puis publiez une nouvelle version : les espaces existants la proposent à leur prochain redémarrage.",{"type":38,"title":109,"body":110},"Se connecter depuis VS Code, JetBrains ou SSH","Le navigateur suffit pour commencer, mais la plupart des développeurs préfèrent leur éditeur habituel. Installez la CLI sur votre poste et connectez-la au serveur :\n```bash\ncurl -L https:\u002F\u002Fcoder.com\u002Finstall.sh | sh\ncoder login https:\u002F\u002Fcoder.example.com\ncoder list\ncoder ssh mon-espace\ncoder port-forward mon-espace --tcp 3000:3000\ncoder config-ssh   # ajoute les hôtes coder.\u003Cespace> à ~\u002F.ssh\u002Fconfig\n```\n\nAprès `coder config-ssh`, VS Code Remote-SSH et JetBrains Gateway voient chaque espace de travail comme un hôte SSH ordinaire. La connexion passe par l'adresse HTTPS du serveur : aucun port SSH supplémentaire n'est ouvert sur le VPS.",{"type":38,"title":112,"body":113},"Arrêt automatique et ressources du VPS","Au repos, le serveur Coder et sa base occupent environ 550 Mo de RAM, et un espace de travail inactif basé sur l'image du modèle Docker environ 200 Mo — bien plus pendant une compilation ou une suite de tests. Dans les paramètres du modèle, rubrique **Schedule**, définissez une durée d'arrêt automatique : un espace oublié le soir ne consomme plus rien la nuit. Le volume `\u002Fhome` est conservé à l'arrêt, seul le conteneur est recréé au redémarrage.",{"type":38,"title":115,"body":116},"Sauvegarde et mise à jour","Les comptes, modèles et réglages sont dans PostgreSQL ; le travail des développeurs est dans les volumes `\u002Fhome` des espaces de travail.\n```bash\ncd \u002Fopt\u002Fcoder\ndocker compose exec -T database pg_dump -U coder coder | gzip > coder-$(date +%F).sql.gz\ndocker volume ls --filter name=coder-   # volumes \u002Fhome des espaces de travail\n```\n\nPour mettre à jour, changez l'étiquette de l'image dans `docker-compose.yml` d'après la [page des versions](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fcoder\u002Freleases), puis lancez `docker compose pull && docker compose up -d` : le serveur migre sa base au démarrage. Faites une sauvegarde avant chaque montée de version majeure.",{"type":38,"title":118,"body":119},"Installation en un clic sur ServOrbit","Sur un VPS ServOrbit, Coder s'installe depuis le Marketplace. Le script déploie le serveur et sa base PostgreSQL, génère le mot de passe administrateur et crée le compte propriétaire avant toute exposition — l'écran d'inscription du premier administrateur n'est donc jamais accessible depuis Internet. Il configure aussi le reverse proxy nginx en HTTPS avec WebSocket, sur un sous-domaine de votre domaine ou sur le sous-domaine gratuit du VPS. Connectez-vous avec l'adresse `admin@servorbit.local` et le mot de passe affiché dans votre espace client, puis changez-le dans les paramètres du compte.","Vos environnements de développement sur votre VPS","Un VPS ServOrbit Ubuntu 24.04 avec 2 Go de RAM suffit pour démarrer Coder ; prévoyez 4 Go ou plus pour une équipe. Installation en un clic depuis le Marketplace, HTTPS sur votre domaine ou sur le sous-domaine gratuit du VPS, compte propriétaire et mot de passe créés pour vous.","Installer Coder","\u002Fapplications\u002Fdeveloppement\u002Fcoder",[125,147,166],{"id":126,"slug":127,"slugs":128,"title":132,"excerpt":133,"readTime":134,"views":17,"isPinned":19,"noindex":19,"publishedAt":135,"updatedAt":136,"category":137,"categories":142,"featuredImage":29,"bgImage":30,"posterImage":144,"relatedSolution":145},301,"installer-code-server-vps",{"fr":127,"en":129,"ar":130,"es":131},"install-code-server-vps","تثبيت-code-server-vps","instalar-code-server-vps","Code Server : VS Code dans votre navigateur sur VPS","Code Server (MIT, 79 k étoiles) : déployez VS Code dans le navigateur sur votre VPS, espace persistant, sans configurer aucun IDE local.",3,"2026-08-24T00:00:00+00:00","2026-11-04T16:30:27+00:00",{"id":138,"name":139,"slug":33,"color":140,"icon":141},4,"Développement","bg-warning\u002F10 text-warning","dev",[143],{"id":138,"name":139,"slug":33,"color":140,"icon":141},"\u002Fblog\u002Fcovers\u002Finstaller-code-server-vps-poster.svg",{"categorySlug":33,"appSlug":146},"code-server",{"id":148,"slug":149,"slugs":150,"title":154,"excerpt":155,"readTime":156,"views":157,"isPinned":19,"noindex":19,"publishedAt":158,"updatedAt":159,"category":160,"categories":161,"featuredImage":29,"bgImage":30,"posterImage":163,"relatedSolution":164},74,"heberger-gitea",{"fr":149,"en":151,"ar":152,"es":153},"host-gitea-on-your-own-vps","استضافة-gitea-على-خادم-vps-الخاص-بك","alojar-gitea-en-un-vps","Héberger Gitea sur votre propre VPS en 2026","Déployez Gitea 1.25 sur VPS avec Docker et SSL. Guide : Gitea Actions CI\u002FCD, comparatif Gitea vs Forgejo v16, administration quotidienne, dépannage SSH et HTTPS.",13,1,"2026-04-07T00:00:00+00:00","2026-11-08T16:32:50+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[162],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":33,"appSlug":165},"gitea",{"id":167,"slug":168,"slugs":169,"title":173,"excerpt":174,"readTime":175,"views":157,"isPinned":19,"noindex":19,"publishedAt":176,"updatedAt":177,"category":178,"categories":179,"featuredImage":29,"bgImage":30,"posterImage":181,"relatedSolution":182},139,"stack-dev-docker-vps",{"fr":168,"en":170,"ar":171,"es":172},"docker-dev-stack-on-a-vps-an-environment-ready-for-coding","حزمة-تطوير-docker-على-خادم-vps-بيئة-جاهزة-للبرمجة","stack-dev-docker-en-vps","Stack Dev Docker sur VPS : environnement prêt pour coder","Montez une stack dev Docker complète sur VPS : Nginx, PHP-FPM, PostgreSQL, Redis, Mailpit, Adminer — docker-compose.yml détaillé, SSH tunneling, dépannage.",10,"2026-02-06T00:00:00+00:00","2026-10-20T23:18:07+00:00",{"id":138,"name":139,"slug":33,"color":140,"icon":141},[180],{"id":138,"name":139,"slug":33,"color":140,"icon":141},"\u002Fblog\u002Fcovers\u002Fstack-dev-docker-vps-poster.svg",{"categorySlug":141,"appSlug":183},"docker-dev-stack",1794156142308]