A quiet, self-hostable community portal for side projects and experiments.
Stack: Go · SvelteKit · PostgreSQL · Nginx · Docker
git clone https://github.com/Ijon6k/ngumpul-host.git
cd ngumpul-host
cp .env.example .envEdit .env — at minimum change these three:
POSTGRES_PASSWORD=your_secure_password
SESSION_SECRET=a_random_32_character_secret_here
ADMIN_PASSWORD=your_admin_passwordThen pull images and run:
docker compose up -dOpen http://localhost:1111 — done.
First boot auto-creates the admin account from
ADMIN_EMAIL/ADMIN_PASSWORDin.env.
| File | Purpose |
|---|---|
docker-compose.yml |
Production — pulls pre-built images from GHCR. Use this for self-hosting. |
docker-compose.dev.yml |
Development — builds from source. Use this when contributing. |
docker compose up -ddocker compose -f docker-compose.dev.yml up --buildCopy .env.example to .env and set:
| Variable | Required | Description |
|---|---|---|
APP_URL |
✓ | Public URL of your instance e.g. https://yourdomain.com |
NGINX_PORT |
— | Port to expose. Default 1111 |
POSTGRES_PASSWORD |
✓ | PostgreSQL password |
SESSION_SECRET |
✓ | Random string ≥ 32 chars |
ADMIN_EMAIL |
✓ | Initial admin email |
ADMIN_USERNAME |
✓ | Initial admin username |
ADMIN_PASSWORD |
✓ | Initial admin password — change after first login |
SESSION_SECURE |
— | Set true when behind HTTPS |
SMTP_HOST |
— | Outbound email host (optional) |
Internet
│
▼
Nginx :1111
├─ /api/v1/* ──▶ Go backend :8080
└─ /* ──▶ SvelteKit :3000
│
▼
PostgreSQL :5432
Projects on this server are provisioned manually by an administrator — there is no automated container spawning.