Erik.
~/home/projects/ngumpul-host
$cat README.md01 / OVERVIEW

Ngumpul Host

A self-hostable community portal for sharing projects, managing hosting requests, and showing the state of a small shared server.

TYPEPersonal Project
ROLEFull-stack
PERIODSeptember 2026–Present
LINKS
TECHNOLOGY STACK
SvelteKitTypeScriptGoPostgreSQLDockerNginxLinux
~/home/projects/ngumpul-hostproject / 01community / infrastructurepreview
Ngumpul Host - image 1
02 / CONTEXT

The context

Ngumpul Host started as a small project around my home server.

The idea is to have one place where people can see the projects running on the server, learn who is behind them, and request a place to host their own projects.

It is not meant to be a full hosting platform. I wanted to keep the infrastructure simple and make the application more about the people, projects, and things running on the server.

03 / WHAT I DID

What I did

/building
Built the app from scratch and figured out how I wanted it to work.
/exploring
Played around with the idea of turning a small home server into a shared project space.
/learning
Used the project to learn more about Go, SvelteKit, PostgreSQL, and running things on Linux.
04 / UNDER THE HOOD

Under the hood.

01 / APPLICATION

SvelteKit + Go

A SvelteKit frontend works with a Go backend, with PostgreSQL handling the application data.

02 / PROJECTS

Project-based structure

Projects have their own pages, metadata, members, activity, and hosting information.

03 / HOSTING

Manual deployment

Projects are deployed manually on the server and then registered in Ngumpul Host.

04 / SERVER

Linux + Docker

The application runs on a Linux server with Docker and Nginx handling deployment and routing.

05 / AVAILABILITY

Lightweight status tracking

The platform keeps a lightweight record of server and project availability.

06 / PROJECT STATE

Separate states

Project state and service availability are treated separately, so a suspended project is not simply treated as an offline one.

05 / NOTES

Notes

What changed

The project grew from a simple project list into a place for managing projects, people, and hosting requests.

What I learned

A lot of the interesting parts were about figuring out how different pieces of the system should fit together.

What I'd do differently

Keep the scope small and avoid turning it into a full hosting platform.