🖥️ Setup Coder — Cloud Development Environments
Deploy Coder self-hosted cloud development environments on Ubuntu — Terraform-defined workspaces, VS Code and JetBrains support, team management.
📦 Resources & Setup Scripts
Grab the automated bash script from GitHub to follow along with the video.
Quick Install:
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/dev/coder/coder-ubuntu.sh
chmod +x coder-ubuntu.sh
sudo bash coder-ubuntu.sh
Tutorial Steps
1 Download the Script
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/dev/coder/coder-ubuntu.sh
2 Make it Executable
chmod +x coder-ubuntu.sh
3 Run the Installer
The script installs Docker if needed, then deploys Coder with PostgreSQL for workspace state management.
sudo bash coder-ubuntu.sh
4 Access Web UI
Open browser and navigate to:
http://<your-server-ip>:3000
5 Create First Workspace Template
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
Ports Used
| Port | Purpose |
|---|---|
| 3000 | Coder Web UI |
| 5432 | PostgreSQL internal |
Overview
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.
Why Use It
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.
When You Need It
Who Should Use It
Real Use Cases
Main Features
How to Use After Installation
Security Best Practices
Ports and Firewall Notes
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.
Backup and Maintenance
Common Mistakes
Troubleshooting
Alternatives
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.
When Not to Use It
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 Professional Help
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.
Frequently Asked Questions
What is the difference between Coder and Code Server?
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.
Do developers need to install anything locally?
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.
Can I define different workspace templates for different teams?
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.
Does Coder support Kubernetes workspaces?
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.
How does Coder handle secrets in workspace templates?
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.
Can workspaces persist data across restarts?
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.
How many users can Coder support?
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.
How do I upgrade Coder?
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.