Skip to content

Anjungan — Internal Developer Platform

Anjungan (Indonesian: platform) — A modular internal developer platform (IDP) for managing servers, containers, container registries, and infrastructure compliance through a unified dashboard.

Overview

Anjungan provides a single-pane-of-glass for DevOps teams:

  • Server management — SSH-key-based connection to remote servers, terminal access via WebSocket
  • Container management — view containers across all servers, inspect details, monitor status
  • Uptime Monitoring — HTTP, TCP, and ping checks with incident timeline, maintenance windows, real-time SSE updates
  • Compliance scanning — CIS-based security audits, Lynis hardening scans, container image vulnerability scanning
  • Container registry — integrated Zot private registry with self-service user credentials, CVE scanning, and cleanup policies
  • SSL Certificate Monitoring — monitor SSL/TLS certificate expiry for any domain, with automated TLS checks, cipher grading, chain validation, OCSP status, and deduped notifications via Telegram/Discord/Slack
  • Server-side certificate discovery — auto-detect SSL certs from connected servers (Traefik, Nginx, Caddy, Let's Encrypt)
  • Auth Activity & Brute Force Protection — login monitoring, brute force detection, automated IP blocking, security event alerting
  • Multi-platform Notifications — shared notification targets for SSL, uptime, and security alerts via Telegram, Discord, Slack, or webhooks
  • Admin console — user management, audit logging, account lockout management

Tech Stack

LayerTechnology
FrontendSvelteKit 5, Svelte 5 (runes), Tailwind CSS 3, Iconify
BackendGo 1.25, Chi router, pgx (PostgreSQL driver)
DatabasePostgreSQL 17, Redis 7
Container RegistryZot (OCI-distribution compliant)
AuthJWT (access + refresh tokens), TOTP 2FA
InfrastructureDocker Compose, multi-stage Dockerfiles

Services

ServiceContainerPortDescription
backendanjungan-backend8080Go API server
frontendanjungan-frontend80SvelteKit SPA (nginx)
postgresanjungan-postgres5433Database
redisanjungan-redis6379Cache + rate limiter
zotanjungan-zot5000OCI registry (internal)

Documentation

PageDescription
Setup GuideDevelopment setup, prerequisites, Makefile commands
DeploymentDocker Compose deployment from source or pre-built images
ArchitectureSystem architecture, route tree, middleware, frontend
API ReferenceComplete API endpoint reference
DockerDocker build, tagging convention, CI/CD pipeline
Compliance & SecurityCIS scanning, Lynis audits, scoring system
Container RegistryZot self-service credentials, CVE scanning, cleanup
Self-Server RegistrationHost auto-registration, Docker socket access
Uptime MonitoringHTTP/TCP/ping checks, incidents, maintenance windows
Notification TargetsTelegram, Discord, Slack, webhook alerting
Auth Activity & Brute ForceLogin monitoring, IP blocking, security events

Quick Start

bash
# Clone
git clone git@github.com:edsuwarna/anjungan.git
cd anjungan

# Copy env vars
cp .env.example .env

# Start all services
docker compose up -d

# Access the dashboard
open http://localhost

Default admin credentials: admin@anjungan.id / admin123

Project Structure

anjungan/
├── backend/                  # Go modular monolith
│   ├── cmd/server/           # Entry point
│   ├── internal/             # Feature packages
│   │   ├── auth/             # Authentication & authorization
│   │   ├── infra/            # Server/infrastructure management
│   │   ├── container/        # Docker container management
│   │   ├── registry/         # Container registry integration
│   │   ├── dashboard/        # Dashboard aggregation
│   │   ├── compliance/       # Security compliance checks
│   │   ├── sslmonitor/       # SSL certificate monitoring
│   │   ├── uptime/           # Uptime monitoring
│   │   ├── notification/     # Notification targets & delivery
│   │   ├── settings/         # Application settings
│   │   ├── admin/            # User & permission management
│   │   └── audit/            # Audit logging
│   └── migrations/           # PostgreSQL migrations
├── frontend/                 # SvelteKit SPA
├── docs/                     # Internal documentation
└── docker-compose.yml        # All services

License

MIT