Install code-server di Ubuntu 24.04: VS Code Web yang Bisa Jalan di Server

Install code-server di Ubuntu 24.04: VS Code Web yang Bisa Jalan di Server

Cara install code-server di Ubuntu 24.04 fresh, aktifkan service, ubah config, dan opsional pasang Nginx + SSL biar aman.

Kenapa gue pakai code-server

Kalau lu pengin ngoding langsung dari browser, code-server itu enak banget. Intinya ini VS Code yang jalan di server, jadi lu bisa buka editor dari laptop mana pun tanpa install desktop app di mesin utama.

Di catatan ini gue pakai Ubuntu 24.04 LTS yang masih fresh. Jadi langkahnya gue bikin sesimpel mungkin, dari update sistem sampai akses via domain kalau mau dipublish.

1) Update sistem dulu

Sebelum install apa pun, update paket bawaan biar gak ketemu dependency aneh-aneh di tengah jalan.

sudo apt update && sudo apt upgrade -y

2) Install code-server

Cara paling gampang dan resmi dari Coder adalah pakai script install otomatis. Script ini bakal deteksi sistem Ubuntu lu dan ngambil paket .deb yang cocok.

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

Tunggu sampai selesai. Kalau koneksi aman dan repo lagi normal, biasanya prosesnya mulus.

3) Nyalain service systemd

Setelah terpasang, code-server bisa dijalankan sebagai service supaya otomatis hidup di background.

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

Abis itu cek statusnya:

systemctl status code-server@$USER

Kalau normal, statusnya harus active (running).

4) Edit konfigurasi

Secara default, code-server biasanya cuma listen di localhost. File config-nya ada di folder home user lu.

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

Kurang lebih isinya bakal mirip begini:

bind-addr: 127.0.0.1:8080
auth: password
password: "your_random_password_here"
cert: false

Kalau lu ubah password atau setting lain, simpan lalu restart servicenya:

sudo systemctl restart code-server@$USER

Catatan penting: simpan password yang ada di file config. Itu yang dipakai buat login pertama kali. Kalau mau ganti password, tinggal edit baris password: lalu simpan file-nya.

Masalah yang sering muncul

  • Service belum jalan — biasanya karena user service belum aktif atau config belum kebaca.
  • Gak bisa dibuka dari IP publik — karena default-nya masih bind ke 127.0.0.1.
  • Login gagal — cek lagi password di ~/.config/code-server/config.yaml.

Solusi akses dari luar

Kalau lu cuma mau akses dari mesin sendiri atau lewat SSH tunnel, setting default sebenarnya udah cukup. Tapi kalau pengin dibuka pakai domain publik, mending taruh di belakang Nginx dan kasih SSL.

Kalau lu nekat ubah bind-addr jadi 0.0.0.0:8080, pastikan auth: password tetap aktif. Jangan dibuka polos ke internet, bro.

5) Pasang Nginx sebagai reverse proxy

Install Nginx dulu:

sudo apt install nginx -y

Lalu bikin file konfigurasi:

sudo nano /etc/nginx/sites-available/code-server.conf

Isi contoh konfigurasinya seperti ini. Ganti code-server.namadomain.com dengan domain lu sendiri:

server {
    listen 80;
    server_name code-server.namadomain.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 X-Forwarded-For $remote_addr;
    }
}

Aktifkan config dan restart Nginx:

sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

6) Tambahin SSL pakai Certbot

Kalau domain udah mengarah ke server, lanjut pasang HTTPS biar aksesnya lebih aman.

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d code-server.namadomain.com

Ikuti prompt yang muncul. Kalau DNS dan Nginx beres, Certbot biasanya tinggal jalan.

Cara akses code-server

  • Localhost atau SSH tunnel: buka http://localhost:8080
  • Pakai domain: buka https://code-server.namadomain.com
  • Login: masukkan password dari file ~/.config/code-server/config.yaml

Catatan kecil dari gue

Kalau ini server fresh, urutan paling aman menurut gue adalah: update sistem, install code-server, cek service, baru mikirin Nginx dan SSL. Jangan kebalik, nanti kalau ada error lu susah bedain masalahnya di mana.

Buat pemakaian pribadi, SSH tunnel juga udah cukup nyaman. Tapi kalau lu mau akses dari mana aja, reverse proxy + HTTPS itu pilihan yang jauh lebih waras.

Tags: Catatan Teknis, Ubuntu, code-server, VS Code, Nginx, SSL