Server
Tujuan: VPS siap dipakai: sistem terbaru, zona waktu WIB, memori cadangan (swap), firewall, serta Node.js 22, Python, ffmpeg, dan pustaka yang dibutuhkan Chrome untuk merender video.
Masuk ke server
# DI LAPTOP
ssh -i ~/.ssh/kantor_mini ubuntu@1.2.3.4
Semua perintah berikutnya dijalankan di dalam server (prompt berubah menjadi ubuntu@…).
Bila masuk sebagai root
Buat pengguna biasa bernama bos, beri hak sudo, salin kunci SSH-nya, lalu keluar dan masuk lagi sebagai bos:
adduser --disabled-password --gecos "" bos && usermod -aG sudo bos
echo "bos ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/bos
mkdir -p /home/bos/.ssh && cp ~/.ssh/authorized_keys /home/bos/.ssh/ && chown -R bos:bos /home/bos/.ssh
Langkah
1. Perbarui sistem & zona waktu
sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y curl ca-certificates tzdata cron
sudo ln -sf /usr/share/zoneinfo/Asia/Jakarta /etc/localtime && echo "Asia/Jakarta" | sudo tee /etc/timezone
date
date harus menunjukkan jam WIB yang benar. Jadwal produksi di bab 09 memakai jam ini.
2. Memori cadangan (swap 4 GB)
Render video memakai banyak memori. Swap mencegah server kehabisan memori.
sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile
echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
free -h
3. Firewall: hanya SSH yang dibuka
sudo ufw allow OpenSSH && sudo ufw --force enable && sudo ufw status
4. Node.js 22, Python, ffmpeg
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs python3-venv python3-pip ffmpeg git
5. Pustaka untuk Chrome (dipakai Remotion saat render) + font emoji
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libnss3 libdbus-1-3 libatk1.0-0 libatk-bridge2.0-0 \
libgbm1 libasound2t64 libxrandr2 libxkbcommon0 libxfixes3 libxcomposite1 libxdamage1 libpango-1.0-0 \
libcairo2 libcups2t64 fonts-noto-color-emoji
Cek berhasil
node --version && npm --version && python3 --version && ffmpeg -version | head -1 && date +%Z
Berhasil bila: Node v22.x, Python 3.12.x, ffmpeg tampil, dan zona WIB.
Kalau gagal
E: Unable to locate package libasound2t64
Anda tidak memakai Ubuntu 24.04. Pakai libasound2 dan libcups2
(Ubuntu 22.04), atau buat ulang server dengan 24.04.
fallocate failed
Swap sudah ada (free -h menunjukkan Swap > 0). Lewati langkah 2.
ufw membuat SSH terputus
Jangan jalankan ufw enable sebelum ufw allow OpenSSH. Pulihkan lewat konsol penyedia.