Deploy Coder self-hosted cloud development environments on Ubuntu — Terraform-defined workspaces, VS Code and JetBrains support, team management.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/dev/coder/coder-ubuntu.sh
chmod +x coder-ubuntu.sh
sudo bash coder-ubuntu.sh
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/dev/coder/coder-ubuntu.sh
chmod +x coder-ubuntu.sh
The script installs Docker if needed, then deploys Coder with PostgreSQL for workspace state management.
sudo bash coder-ubuntu.sh
Open browser and navigate to:
http://<your-server-ip>:3000
Log in as admin, create a workspace template using Terraform, then provision your first development workspace for your team.
# Install Coder CLI
curl -fsSL https://coder.com/install.sh | sh
# Login and create first admin user
coder login http://<your-server-ip>:3000
# Push a starter template
coder templates push my-template --directory ./template
| Port | Purpose |
|---|---|
| 3000 | Coder Web UI |
| 5432 | PostgreSQL internal |
Coder is an open-source platform for creating and managing remote development environments on your own infrastructure. Each developer gets a dedicated, containerized workspace provisioned on demand — consistent across the whole team and accessible from any machine.
Coder solves the 'works on my machine' problem at the team level. Instead of each developer maintaining their own environment, Coder provisions reproducible workspaces defined in Terraform — on your own servers, with your own hardware. Developers connect via VS Code, JetBrains, or a browser, and get a fresh, consistent environment every time. No more onboarding days, no more environment drift.
Port 3000 for the Coder web UI. PostgreSQL on 5432 is internal only. Workspace ports are forwarded through Coder's proxy — no need to open them on the firewall. Put Nginx Proxy Manager in front on 443.
Direct alternatives: Code Server (single-user, simpler), DevPod (local + remote workspaces, no central server), Gitpod (cloud-hosted). Cloud: GitHub Codespaces (tight GitHub integration), AWS Cloud9. Coder wins when you need team management, quotas, and Terraform-defined reproducible environments on your own infrastructure.
Don't use Coder if you're a solo developer — Code Server is far simpler. And if your team is small (< 3 people) and local environments work fine, the operational overhead of running Coder isn't worth it. Coder shines at team scale where environment consistency becomes a real pain point.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
Code Server is VS Code in a browser for a single user. Coder is a full team platform that manages workspace lifecycle, user access, resource quotas, and supports multiple editors (VS Code, JetBrains, browser). Code Server is a component; Coder is the system.
Just the Coder CLI and optionally the VS Code extension. The CLI handles SSH tunneling to the workspace. JetBrains users use JetBrains Gateway. Browser users need nothing — just a browser.
Yes — create separate Terraform templates per team. A frontend template might include Node.js and browser tools; a backend template might include databases and Go. Users select the template when creating a workspace.
Yes — the Kubernetes Terraform provider lets you define workspace pods with specific CPU/memory limits, PVCs for persistence, and sidecars. This is ideal for cloud-native teams who want ephemeral, scalable workspaces.
Coder has a Parameters system for workspace templates — you can define sensitive parameters (API keys, tokens) that Coder stores encrypted and injects at workspace creation, never exposing them in logs or the UI.
Yes — Docker workspaces use named volumes for the home directory. Kubernetes workspaces use PersistentVolumeClaims. Data in the home directory persists across workspace stop/start cycles. Stopping a workspace doesn't delete data.
Coder OSS has no user limit. Performance depends on your server hardware and workspace backend capacity. Teams of 10-100 work well on a single Coder server; for larger teams, use Kubernetes as the workspace backend.
Run `docker compose pull && docker compose up -d`. Coder runs database migrations on startup. Back up PostgreSQL before any upgrade. Check the Coder changelog — workspace templates may need updates for new Coder versions.