Sign inSign up

alimstudio/openkongstudio

By alimstudio

Updated 4 months ago

Open-source admin GUI for Kong Gateway — React + NestJS, single container on port 3000.

Image
Networking
Developer tools
Web servers
0

518

alimstudio/openkongstudio repository overview

Open Kong Studio

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.


Pull Image

docker pull alimstudio/openkongstudio:latest

Quick Start with Docker Compose

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

Open http://localhost:3000

Default admin: [email protected] / alimstudio — change password after first login.

Pin version: set OKS_IMAGE=alimstudio/openkongstudio:1.1.0 in .env.


Single Container (existing database)

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

Environment variables

VariableDefaultWajib ganti?Keterangan
DB_TYPEpostgresEngine database: postgres, mysql, atau mongodb
DB_HOSTlocalhostHost database (postgres / mysql / mongodb di Compose)
DB_PORT5432 / 3306 / 27017Port database (sesuai DB_TYPE)
DB_USERNAMEkongstudioDisarankanUsername database
DB_PASSWORDkongstudioYa (prod)Password database
DB_DATABASEkongstudioNama database
DB_URIURI penuh; jika di-set, mengabaikan DB_HOST/DB_PORT/dll.
DB_SYNCHRONIZEtrue (kode)Ya (prod)false + migration agar data tidak hilang
DB_MIGRATIONS_RUNfalsetrue = jalankan migration saat startup
JWT_SECRETkong-studio-dev-secretYa (prod)Secret penandatanganan token JWT
CORS_ORIGINhttp://localhost:5173Ya (Docker)Origin browser; image Docker: http://localhost:3000
FRONTEND_URLhttp://localhost:5173Ya (Docker)URL frontend setelah login/SSO
APP_PUBLIC_URLYa (Docker)Origin publik untuk redirect OAuth/SSO
KS_EMAIL_ROOT[email protected]Email admin saat instalasi pertama (DB kosong)
KS_PASS_ROOTalimstudioYa (prod)Password admin saat instalasi pertama
PORT3000Port HTTP di dalam container
BODY_JSON_LIMIT2mbBatas ukuran body JSON (upload branding)
NOTIFICATION_POLL_INTERVAL_MS300000 (5 menit)Interval polling notifikasi monitoring
NOTIFICATION_COOLDOWN_MS900000 (15 menit)Cooldown antar notifikasi duplikat
OKS_IMAGEalimstudio/openkongstudio:latestHanya Docker Compose — pin versi image

Admin pertama: KS_EMAIL_ROOT dan KS_PASS_ROOT hanya dipakai saat database masih kosong. Jika keduanya tidak di-set, dipakai default [email protected] / alimstudio. Ganti password setelah login pertama di production.


Tags

TagDescription
latestLatest stable release
1.1.0, …Pinned semver releases

Also on GHCR: ghcr.io/jumadilabdulrahmanselian/openkongstudio


Tag summary

Content type

Image

Digest

sha256:a5e4ba552

Size

187.2 MB

Last updated

4 months ago

docker pull alimstudio/openkongstudio