MCPSERV.CLUB
Dropserver

Dropserver

Self-Hosted

Your personal web app platform

Active(91)
74stars
0views
Updated 17 hours ago

Overview

Discover what makes Dropserver powerful

Dropserver is a lightweight, self‑hosted application platform that allows developers to run multiple isolated web services on a single machine. At its core, it exposes a thin HTTP gateway (`ds-host`) that dispatches requests to sandboxed “appspaces.” Each appspace runs its own Deno‑based TypeScript runtime, ensuring strong isolation while keeping resource usage minimal. The platform is built with Go for the server side and Vue 3 for its administrative UI, striking a balance between performance and developer ergonomics.

Server

Sandbox

Frontend

Data Persistence

Overview

Dropserver is a lightweight, self‑hosted application platform that allows developers to run multiple isolated web services on a single machine. At its core, it exposes a thin HTTP gateway (ds-host) that dispatches requests to sandboxed “appspaces.” Each appspace runs its own Deno‑based TypeScript runtime, ensuring strong isolation while keeping resource usage minimal. The platform is built with Go for the server side and Vue 3 for its administrative UI, striking a balance between performance and developer ergonomics.

Architecture & Technical Stack

  • Serverds-host is a single‑binary Go application (Linux/x86_64) that orchestrates request routing, sandbox lifecycle management, and inter‑app communication. The codebase follows a modular layout inspired by Ben Johnson’s Standard Package Layout, using dependency injection via interfaces to keep packages decoupled and testable.
  • Sandbox – Each application runs inside a Deno runtime (denosandboxcode). Deno is not bundled; it must be installed separately, giving developers control over the runtime version. The sandbox exposes a small, well‑defined API surface (file I/O, network sockets, environment variables) that can be extended through Deno’s permission system.
  • Frontend – The administrative UI (frontend-ds-host/frontend-ds-dev) is built with Vue 3 and communicates with the Go backend over a RESTful API. The same codebase is used for both production and development builds, simplifying the developer experience.
  • Data Persistence – Dropserver relies on a lightweight file‑based store (SQLite by default) for configuration, user accounts, and app metadata. The schema is exposed via a Go domain package, allowing other components to exchange typed data without tight coupling.

Core Capabilities & APIs

  • Appspaces – Isolated namespaces that can host any number of Deno applications. Each appspace has its own isolated filesystem, environment variables, and network namespace.
  • Webhooks & Events – The platform emits lifecycle events (app start/stop, request received) that can be consumed by external services or other appspaces via HTTP callbacks.
  • Developer API – A REST endpoint for programmatic deployment, scaling (currently single‑process per appspace), and status querying. The API is documented in OpenAPI format, making it trivial to generate client SDKs.
  • Plugin System – While the core is intentionally minimal, Dropserver exposes a plugin API that allows developers to inject custom middleware into request handling or extend the sandbox with additional capabilities (e.g., database drivers, message queues).

Deployment & Infrastructure

Dropserver is designed for single‑node deployment but scales horizontally by running multiple instances behind a load balancer. Each instance can host dozens of appspaces with modest CPU/memory footprints, making it ideal for home servers or small VPS deployments. The binaries are built as statically linked Go executables, which simplifies containerization: a minimal scratch‑based Docker image can host the entire platform. For local development, ds-dev provides a lightweight build that skips heavy dependencies and runs on Linux or macOS.

Integration & Extensibility

  • Deno Permissions – Developers can fine‑tune sandbox capabilities using Deno’s permission flags (--allow-net, --allow-read, etc.), enabling secure, least‑privilege deployments.
  • Environment Variables & Secrets – Dropserver integrates with popular secret stores (e.g., Vault, AWS Secrets Manager) via a pluggable secrets provider, allowing secure injection of credentials into appspaces.
  • Webhooks – External services can subscribe to Dropserver events, enabling CI/CD pipelines or monitoring tools to react automatically to appspace lifecycle changes.

Developer Experience

The project places a strong emphasis on clean code and testability. Dependency injection, interface‑based design, and a global domain package reduce coupling, making it easier to write unit tests. The repository includes extensive GoDoc comments and an OpenAPI spec for the API, which developers can use to generate SDKs in any language. Community support is active on GitHub Discussions, and the documentation encourages contributions through clear guidelines for adding new plugins or extending the sandbox.

Use Cases

  1. Personal Web Services – Host a private note‑taking app, personal blog, or media server on a home NAS.
  2. Small Business – Run internal tools (CRM, ticketing) without relying on external SaaS providers.
  3. Educational Projects – Provide a sandboxed environment for students to experiment with web development without exposing the host.
  4. Collaborative Clones – Share a Dropserver instance with friends or a club, allowing each member to deploy their own applications within isolated appspaces.

Advantages Over Alternatives

  • Performance – Go’s static binaries and Deno’s efficient V8 engine give fast startup times and low memory overhead.
  • Flexibility – Developers can choose any Deno runtime version, tweak sandbox permissions, and extend the platform via plugins.
  • Licensing – Completely open source under a permissive license, with no vendor lock‑in or hidden costs.
  • Control – Full ownership of code and data; no third‑party dependency on a commercial platform.
  • Simplicity – Minimal configuration required to get an appspace running; “install and click” style deployment for end‑users while still exposing powerful APIs to developers.

Dropserver offers a compelling blend of isolation, extensibility, and ease of use for developers who need to run multiple lightweight web services on a single server without the complexity of full‑blown orchestration platforms.

Open SourceReady to get started?

Join the community and start self-hosting Dropserver today