Pelaporan data ke Pangkalan Data Pendidikan Tinggi (PDDikti) adalah kewajiban hukum setiap perguruan tinggi di Indonesia, diatur dalam Permenristekdikti Nomor 61 Tahun 2016. Kelalaian dalam pelaporan berujung pada hambatan akreditasi, pemblokiran nomor ijazah, hingga sanksi administratif dari kemdiktisaintek. Neo Feeder hadir sebagai solusi pelaporan generasi terbaru yang menggantikan PDDikti Feeder versi lama.
Artikel ini memandu proses instalasi Neo Feeder di VPS Ubuntu secara bertahap: mulai dari persiapan server, instalasi Docker, persiapan file installer, konfigurasi firewall, setup Nginx reverse proxy, hingga import file prefill untuk inisialisasi data awal.
Apa itu Neo Feeder?
Neo Feeder adalah aplikasi manajemen dan pelaporan data perguruan tinggi yang diluncurkan oleh Ditjen Diktiristek pada 25 Februari 2022. Aplikasi ini merupakan pembaruan menyeluruh dari PDDikti Feeder versi 4.1, dengan perubahan arsitektur dari monolitik menjadi microservices berbasis Docker. Artinya, setiap komponen layanan berjalan sebagai kontainer independen yang lebih mudah diperbarui, dipantau, dan di-restart tanpa mengganggu keseluruhan sistem.
Neo Feeder mendukung berbagai sistem operasi: Windows, Ubuntu Linux, dan macOS. Data yang dilaporkan melalui Neo Feeder digunakan oleh banyak sistem nasional, antara lain: SIVIL, SISTER, SIM TENDIK, KIP, SAPTO BAN-PT, SimLitabmas, dan sebagai syarat akreditasi perguruan tinggi.
Banyak operator PDDikti menjalankan Neo Feeder di komputer lokal kampus. Pendekatan ini memiliki kelemahan: bergantung pada jam kerja, sering terganggu oleh pemadaman listrik, dan menyulitkan sinkronisasi data di luar jam kantor.
VPS menawarkan sejumlah keunggulan yang relevan untuk kebutuhan ini:
- Uptime 24/7: Server berjalan terus-menerus tanpa bergantung pada komputer lokal.
- IP publik statis: Memudahkan konfigurasi firewall dan akses dari mana saja.
- Akses subdomain: Melalui Nginx reverse proxy, Neo Feeder dapat diakses via URL seperti https://feeder.kampus.ac.id.
Persiapan dan Kebutuhan Sistem
Spesifikasi Minimum VPS
| Komponen | Minimum | Disarankan |
|---|---|---|
| OS | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS |
| RAM | 1 GB | 2 GB |
| Storage | 20 GB SSD | 40 GB+ SSD |
| CPU | 1 vCPU | 2 vCPU |
| Koneksi | 100 Mbps | 100 Mbps+ |
Perangkat dan Akun yang Dibutuhkan
- Aplikasi terminal SSH: Termius, Putty (Windows), atau terminal bawaan macOS dan Linux.
- Aplikasi SFTP: FileZilla atau WinSCP untuk mengunggah file installer dari komputer lokal ke VPS.
- Akun PDDikti Admin: Akses ke https://pddikti-admin.kemdiktisaintek.go.id/ diperlukan guna mengunduh file installer Neo Feeder Linux dan file prefill perguruan tinggi.
- Domain atau subdomain (opsional): Keberadaan domain ini diperlukan jika Anda ingin menggunakan Nginx reverse proxy berbasis SSL. Contoh:
feeder.kampus.ac.id.
Catatan Akses Portal: Pengguna hanya dapat mengakses portal
pddikti-admin.kemdiktisaintek.go.idmenggunakan akun resmi perguruan tinggi yang sudah terdaftar di Kemdiktisaintek. Anda harus memastikan kredensial login sudah tersedia sebelum memulai proses ini.
Terbatas: Vultr Bagi-Bagi Kredit $300 gratis!
Ambil Kredit $300 SekarangLangkah 1: Update Server dan Install Docker
Mengapa Docker?
Neo Feeder versi terbaru menggunakan teknologi kontainer Docker. Setiap layanan seperti aplikasi backend, database PostgreSQL, dan frontend berjalan dalam kontainer terpisah yang diatur oleh Docker Compose. Pendekatan ini membuat instalasi lebih konsisten dan proses pembaruan lebih mudah dilakukan.
Update Repository dan Paket Sistem
Silakan login ke VPS melalui SSH, lalu jalankan perintah berikut untuk memastikan semua paket sistem dalam kondisi terbaru:
sudo apt update && sudo apt upgrade -yInstall Docker via Script
Cara tercepat dan paling terpercaya untuk menginstal Docker di Ubuntu adalah menggunakan convenience script:
curl -fsSL https://get.docker.com | sudo shSetelah instalasi selesai, tambahkan user aktif ke grup docker agar Anda tidak perlu menggunakan sudo setiap kali menjalankan perintah Docker:
sudo usermod -aG docker $USERVerifikasi Instalasi Docker
Periksa status apakah Docker dan Docker Compose sudah terpasang dengan benar:
docker --version
docker compose versionOutput yang diharapkan akan menampilkan versi Docker Engine dan Docker Compose Plugin. Pada instalasi modern, Docker Compose sudah tersedia sebagai plugin bawaan.
Docker version 29.7.2, build a7dcaa6
Docker Compose version v5.4.0Langkah 2: Persiapan File Installer
Unduh File Neo Feeder dari Portal Resmi
- Masuk ke portal Admin PDDiktt di https://pddikti-admin.kemdiktisaintek.go.id, navigasi ke menu
Pelaporan › Download Aplikasi, lalu unduh fresh installer versi Docker. Tersedia juga patch untuk update. - Kemudian masuk ke
Pelaporan › Generate Prefill, generate dan unduh file prefill perguruan tinggi (.prefill). File ini berisi data awal berupa referensi perguruan tinggi, program studi, dan konfigurasi lain yang dibutuhkan Neo Feeder untuk inisialisasi database. File prefill yang diunduh terikat pada kode perguruan tinggi Anda. Jangan menggunakan file prefill milik institusi lain karena dapat menyebabkan inkonsistensi data di PDDikti.
Ekstraksi dan Salin File Prefill
- Ekstraksi fresh installer dan patch.
- Salin folder
appyang ada di patch ke dalam folder fresh installer. - Salin juga file
.prefillke dalam folderprefill_pddikti.
Modifikasi File Konfigurasi
Buka file konfigurasi docker-compse.yml, hapus isinya lalu masukkan konfigurasi di bawah ini:
services:
app-pddikti:
build:
context: .
dockerfile: Dockerfile
container_name: app-pddikti
restart: unless-stopped
tty: true
environment:
TZ: "Asia/Jakarta"
SERVICE_NAME: "app"
SERVICE_TAGS: "1.0.5"
PGHOST: "localhost"
PGPORT: 54333
volumes:
- './app:/app'
- './prefill_pddikti:/prefill_pddikti'
- './nginx/nginx.conf:/etc/nginx/nginx.conf'
- './nginx/logs/access.log:/var/log/nginx/access.log'
- './nginx/logs/error.log:/var/log/nginx/error.log'
networks:
- app-network
ports:
- "8100:8100"
- "3003:3003"
depends_on:
- db-pddikti
db-pddikti:
image: postgres:12
container_name: db-pddikti
environment:
TZ: "Asia/Jakarta"
restart: unless-stopped
tty: true
ports:
- "54333:54333"
volumes:
- './pgsql/data:/var/lib/postgresql/data'
networks:
- app-network
networks:
app-network:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.167.150.0/24Buka file konfigurasi Dockerfile, hapus isinya lalu masukkan konfigurasi di bawah ini:
FROM ubuntu:24.04
RUN apt-get update && \
apt-get install -yq tzdata && \
ln -fs /usr/share/zoneinfo/Asia/Jakarta /etc/localtime && \
dpkg-reconfigure -f noninteractive tzdata
RUN apt-get update \
&& apt-get install -y --allow-unauthenticated \
curl \
p7zip-full \
nginx \
supervisor
RUN curl -sL https://deb.nodesource.com/setup_22.x | bash - && apt-get install -yq nodejs
# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
RUN groupadd www
RUN useradd -ms /bin/bash -g www www
COPY --chown=www:www . .
RUN mkdir -p /var/log/supervisor
RUN chown www:www /var/log/supervisor
# USER www
CMD ["/usr/bin/supervisord"]Compress Folder Installer
Compress zip isi folder fresh installer dan beri nama neofeeder.zip, lalu upload ke server.
app/
cara-patch.txt
carapenggunaan.txt
docker-compose.yml
Dockerfile
etc/
nginx/
pgsql/
prefill_pddikti/Langkah 3: Proses Instalasi Neo Feeder
Ekstraksi file neofeeder.zip:
unzip neofeeder.zip -d neofeederMasuk ke folder neofeeder:
cd neofeederSet execute file server-linux:
chmod +x app/server-linuxBuild container dan jalankan service:
docker compose up -dJika berhasil, menampilkan pesan seperti ini:
✔ Image neofeeder-app-pddikti Built
✔ Network neofeeder_app-network Created
✔ Container db-pddikti Started
✔ Container app-pddikti StartedVerifikasi apakah container sudah berjalan:
docker compose logsHasilnya:
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
app-pddikti neofeeder-app-pddikti "/usr/bin/supervisord" app-pddikti About a minute ago Up About a minute 0.0.0.0:3003->3003/tcp, [::]:3003->3003/tcp, 0.0.0.0:8100->8100/tcp, [::]:8100->8100/tcp
db-pddikti postgres:12 "docker-entrypoint.s…" db-pddikti About a minute ago Up About a minute 5432/tcp, 0.0.0.0:54333->54333/tcp, [::]:54333->54333/tcpPeriksa juga log:
docker compose logsHasilnya:
db-pddikti |
db-pddikti | PostgreSQL Database directory appears to contain a database; Skipping initialization
db-pddikti |
db-pddikti | 2026-08-14 15:16:53.938 WIB [1] LOG: starting PostgreSQL 12.22 (Debian 12.22-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
db-pddikti | 2026-08-14 15:16:53.938 WIB [1] LOG: listening on IPv4 address "0.0.0.0", port 54333
db-pddikti | 2026-08-14 15:16:53.938 WIB [1] LOG: listening on IPv6 address "::", port 54333
db-pddikti | 2026-08-14 15:16:53.941 WIB [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.54333"
db-pddikti | 2026-08-14 15:16:53.974 WIB [1] LOG: redirecting log output to logging collector process
db-pddikti | 2026-08-14 15:16:53.974 WIB [1] HINT: Future log output will appear in directory "log".
app-pddikti | /usr/lib/python3/dist-packages/supervisor/options.py:474: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
app-pddikti | self.warnings.warn(
app-pddikti | 2026-08-14 15:16:54,179 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, you can set user=root in the config file to avoid this message.
app-pddikti | 2026-08-14 15:16:54,182 INFO supervisord started with pid 1
app-pddikti | 2026-08-14 15:16:55,185 INFO spawned: 'backend' with pid 7
app-pddikti | 2026-08-14 15:16:55,187 INFO spawned: 'nginx' with pid 8
app-pddikti | 2026-08-14 15:16:56,803 INFO success: backend entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
app-pddikti | 2026-08-14 15:16:56,803 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Uji coba akses Neo Feeder di http://SERVER-IP:8100.
Langkah 4: Konfigurasi Nginx Reverse Proxy dan SSL
Konfigurasi Reverse Proxy
Install Nginx, Certbot, dan plugin Nginx untuk Certbot:
sudo apt install nginx certbot python3-certbot-nginx -ySelanjutnya, buat file konfigurasi Nginx baru untuk subdomain feeder.kampus.ac.id:
sudo nano /etc/nginx/sites-available/feeder.kampus.ac.id.confMasukkan konfigurasi HTTP berikut ke dalam file tersebut:
server {
listen 80;
server_name feeder.kampus.ac.id;
location / {
proxy_pass http://127.0.0.1:8100;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Aktifkan konfigurasi tersebut dengan membuat symlink ke folder sites-enabled:
sudo ln -s /etc/nginx/sites-available/feeder.kampus.ac.id.conf /etc/nginx/sites-enabled/Uji apakah ada kesalahan sintaks pada konfigurasi Nginx:
sudo nginx -tJika muncul pesan syntax is ok dan test is successful, restart Nginx:
sudo systemctl reload nginxInstalasi HTTPS dengan Certbot
Sebelum menjalankan Certbot, pastikan A Record DNS untuk feeder.kampus.ac.id sudah diarahkan ke IP publik server Anda, dan port 80 serta 443 sudah dibuka di firewall.
Jalankan Certbot untuk mendapatkan dan memasang sertifikat SSL secara otomatis:
sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--nginx -d feeder.kampus.ac.id \
--redirectPesan yang ditampilkan jika instalasi HTTPS berhasil:
Deploying certificate
Successfully deployed certificate for feeder.kampus.ac.id to /etc/nginx/sites-enabled/feeder.kampus.ac.id.conf
Congratulations! You have successfully enabled HTTPS on https://feeder.kampus.ac.idTerakhir, uji coba mengakses https://feeder.kampus.ac.id.
Langkah 5: Inisiasi dan Sinkronisasi Data
Setelah instalasi Neo Feeder selesai, selanjutnya menjalankan inisiasi dan sinkronisasi data.
- Masukkan
Kode Registrasi, lalu klikEXECUTE. Jika prefill terbaca dengan baik akan menampilkan pesanEksekusi prefill. Tunggu sampai selesai dengan pesan akhirPrefill sudah selesai dieksekusi. - Selanjutnya login, masukkan Username dan Password akun admin PDDikti, pilih Tahun Ajaran, dan masukkan Captcha.
- Setelah berhasil login, lakukan sinkronisasi data, klik tombol
SYNC DATA.
Setelah selesai, Neo Feeder siap untuk digunakan.
Kesimpulan
Instalasi Neo Feeder di VPS Ubuntu menggunakan Docker terbilang tidak rumit jika dilakukan secara bertahap. Sistem pelaporan PDDikti dapat berjalan 24/7, dapat diakses dari mana saja melalui subdomain HTTPS, serta lebih stabil daripada instalasi di komputer lokal kampus.




