Open-source admin GUI for Kong Gateway — React + NestJS, single container on port 3000.
518
Open Kong Studio is an open-source admin GUI for Kong Gateway. Manage services, routes, consumers, plugins, upstreams, certificates, snapshots, and more — through a modern web interface.
Built with React (Vite) + NestJS, shipped as a single production image.
alimstudio/openkongstudiodocker pull alimstudio/openkongstudio:latest
Create a working folder and save these two files — no git clone required.
docker-compose.yml
x-backend: &backend
image: ${OKS_IMAGE:-alimstudio/openkongstudio:latest}
env_file:
- .env
ports:
- "${PORT:-3000}:3000"
restart: unless-stopped
extra_hosts:
- "host.docker.internal:host-gateway"
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: ${DB_USERNAME:-kongstudio}
POSTGRES_PASSWORD: ${DB_PASSWORD:-kongstudio}
POSTGRES_DB: ${DB_DATABASE:-kongstudio}
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test:
[
"CMD-SHELL",
"pg_isready -U ${DB_USERNAME:-kongstudio} -d ${DB_DATABASE:-kongstudio}",
]
interval: 5s
timeout: 5s
retries: 10
openkongstudio:
<<: *backend
depends_on:
postgres:
condition: service_healthy
environment:
DB_TYPE: postgres
DB_HOST: postgres
DB_PORT: 5432
volumes:
postgres_data:
.env
DB_USERNAME=kongstudio
DB_PASSWORD=kongstudio
DB_DATABASE=kongstudio
DB_SYNCHRONIZE=false
DB_MIGRATIONS_RUN=true
JWT_SECRET=change-me-in-production
CORS_ORIGIN=http://localhost:3000
FRONTEND_URL=http://localhost:3000
APP_PUBLIC_URL=http://localhost:3000
Run:
docker compose up -d
Default admin: [email protected] / alimstudio — change password after first login.
Pin version: set OKS_IMAGE=alimstudio/openkongstudio:1.1.0 in .env.
docker run -d -p 3000:3000 \
-e DB_TYPE=postgres \
-e DB_HOST=host.docker.internal \
-e DB_PORT=5432 \
-e DB_USERNAME=kongstudio \
-e DB_PASSWORD=kongstudio \
-e DB_DATABASE=kongstudio \
-e DB_SYNCHRONIZE=false \
-e DB_MIGRATIONS_RUN=true \
-e JWT_SECRET=change-me-in-production \
-e CORS_ORIGIN=http://localhost:3000 \
-e FRONTEND_URL=http://localhost:3000 \
-e APP_PUBLIC_URL=http://localhost:3000 \
alimstudio/openkongstudio:latest
| Variable | Default | Wajib ganti? | Keterangan |
|---|---|---|---|
DB_TYPE | postgres | — | Engine database: postgres, mysql, atau mongodb |
DB_HOST | localhost | — | Host database (postgres / mysql / mongodb di Compose) |
DB_PORT | 5432 / 3306 / 27017 | — | Port database (sesuai DB_TYPE) |
DB_USERNAME | kongstudio | Disarankan | Username database |
DB_PASSWORD | kongstudio | Ya (prod) | Password database |
DB_DATABASE | kongstudio | — | Nama database |
DB_URI | — | — | URI penuh; jika di-set, mengabaikan DB_HOST/DB_PORT/dll. |
DB_SYNCHRONIZE | true (kode) | Ya (prod) | false + migration agar data tidak hilang |
DB_MIGRATIONS_RUN | false | — | true = jalankan migration saat startup |
JWT_SECRET | kong-studio-dev-secret | Ya (prod) | Secret penandatanganan token JWT |
CORS_ORIGIN | http://localhost:5173 | Ya (Docker) | Origin browser; image Docker: http://localhost:3000 |
FRONTEND_URL | http://localhost:5173 | Ya (Docker) | URL frontend setelah login/SSO |
APP_PUBLIC_URL | — | Ya (Docker) | Origin publik untuk redirect OAuth/SSO |
KS_EMAIL_ROOT | [email protected] | — | Email admin saat instalasi pertama (DB kosong) |
KS_PASS_ROOT | alimstudio | Ya (prod) | Password admin saat instalasi pertama |
PORT | 3000 | — | Port HTTP di dalam container |
BODY_JSON_LIMIT | 2mb | — | Batas ukuran body JSON (upload branding) |
NOTIFICATION_POLL_INTERVAL_MS | 300000 (5 menit) | — | Interval polling notifikasi monitoring |
NOTIFICATION_COOLDOWN_MS | 900000 (15 menit) | — | Cooldown antar notifikasi duplikat |
OKS_IMAGE | alimstudio/openkongstudio:latest | — | Hanya Docker Compose — pin versi image |
Admin pertama:
KS_EMAIL_ROOTdanKS_PASS_ROOThanya dipakai saat database masih kosong. Jika keduanya tidak di-set, dipakai default[email protected]/alimstudio. Ganti password setelah login pertama di production.
| Tag | Description |
|---|---|
latest | Latest stable release |
1.1.0, … | Pinned semver releases |
Also on GHCR: ghcr.io/jumadilabdulrahmanselian/openkongstudio
Content type
Image
Digest
sha256:a5e4ba552…
Size
187.2 MB
Last updated
4 months ago
docker pull alimstudio/openkongstudio