MCPSERV.CLUB
bewCloud

bewCloud

Self-Hosted

Simple, lightweight web cloud built with Deno and Fresh

Active(91)
987stars
1views
Updated 7 days ago
bewCloud screenshot 1
1 / 5

Overview

Discover what makes bewCloud powerful

BewCloud is a lightweight, self‑hosted file transfer and synchronization platform built entirely in **TypeScript** and running on the **Deno runtime**. The web application is rendered with **Fresh**, Deno’s modern framework that embraces server‑side rendering, composable components, and zero‑config hot reloading. At its core, BewCloud offers a minimal yet powerful API surface for file storage, user management, and calendar/CardDAV integration via Radicale. The architecture deliberately eschews the heavyweight PHP stack of legacy solutions like Nextcloud, resulting in a lean CPU and memory footprint while still exposing an extensible plugin system for developers.

Runtime

Web Framework

Database

Calendar/CardDAV

Overview

BewCloud is a lightweight, self‑hosted file transfer and synchronization platform built entirely in TypeScript and running on the Deno runtime. The web application is rendered with Fresh, Deno’s modern framework that embraces server‑side rendering, composable components, and zero‑config hot reloading. At its core, BewCloud offers a minimal yet powerful API surface for file storage, user management, and calendar/CardDAV integration via Radicale. The architecture deliberately eschews the heavyweight PHP stack of legacy solutions like Nextcloud, resulting in a lean CPU and memory footprint while still exposing an extensible plugin system for developers.

Technical Stack

  • Runtime: Deno 1.x (stable, sandboxed, built on V8)
  • Web Framework: Fresh – provides request‑level rendering and a component model similar to React but with zero runtime cost
  • Database: PostgreSQL (accessed through Deno’s deno-postgres driver)
  • Calendar/CardDAV: Radicale, containerized and exposed via a dedicated service
  • Containerization: Docker Compose orchestrates the web app, PostgreSQL, Radicale, and optional services
  • Configuration: Environment‑driven via .env files; application logic is split into bewcloud.config.ts, allowing runtime overrides without code changes

Core Capabilities

  • File API: RESTful endpoints for upload, download, delete, and metadata retrieval; supports chunked uploads and resumable transfers
  • User & Auth: JWT‑based authentication, role‑based access control, and an optional self‑sign‑up toggle
  • Calendar/CardDAV: Radicale integration exposes iCal and vCard endpoints; developers can hook into event/webhook triggers
  • Webhooks & Callbacks: Built‑in support for triggering external services on file events or calendar changes
  • Plugin Hooks: Exposes a lightweight plugin API that allows developers to inject middleware, modify request/response flows, or extend the UI with custom components

Deployment & Infrastructure

BewCloud is designed for self‑hosting on any platform that supports Docker. A single docker-compose.yml defines the web service, PostgreSQL, and Radicale containers, making scaling straightforward: add replicas to the web service or a separate PostgreSQL cluster for high availability. The application’s statelessness (aside from the file store) simplifies horizontal scaling and load balancing. For developers running CI/CD pipelines, the repository already contains test workflows that run against a headless Deno environment.

Integration & Extensibility

The plugin system is intentionally minimal but powerful. Developers can register middleware to intercept requests, add custom routes, or inject additional data into the rendering context. The API layer is documented in the repository’s docs folder, and the open‑source license (MIT) encourages third‑party extensions. For deeper integration, BewCloud exposes a GraphQL endpoint that can be consumed by external services or mobile clients built with React Native.

Developer Experience

  • Configuration: All critical settings live in plain‑text files (.env, bewcloud.config.ts), allowing version control and easy overrides per environment.
  • Documentation: The README provides a clear development workflow, while inline comments in the source guide contributors through core modules.
  • Community: Though a solo‑maintained project, the repository actively accepts pull requests and issues. The maintainers respond promptly to feature requests, making it a welcoming playground for contributors.
  • Testing: The CI pipeline uses Deno’s native test runner, ensuring that changes are validated across the stack before merging.

Use Cases

  • Enterprise File Sharing: Companies needing a lightweight, on‑premise alternative to Nextcloud can deploy BewCloud with minimal resource consumption.
  • Developer Tooling: Build custom file‑synchronization services for CI/CD pipelines, or embed BewCloud’s API into larger applications.
  • Personal Cloud: Hobbyists can run a home server with Docker Compose, leveraging Radicale for calendar syncing on smartphones.
  • Educational Projects: The clean architecture makes it an ideal teaching tool for modern TypeScript, Deno, and Fresh concepts.

Advantages

  • Performance: The Deno + Fresh stack delivers faster startup times and lower memory usage compared to PHP‑based clouds.
  • Simplicity: A single source of truth for configuration and a minimal codebase reduce the learning curve.
  • Licensing: MIT license removes any vendor lock‑in, allowing unrestricted modification and redistribution.
  • Extensibility: Plugin hooks and a well‑documented API enable developers to tailor the platform without touching core code.
  • Modern Tooling: Leveraging TypeScript, Deno’s secure runtime, and Docker Compose aligns with contemporary DevOps practices.

In summary, BewCloud offers developers a streamlined, high‑performance alternative for self‑hosted file transfer and synchronization. Its modern stack, clear architecture, and extensible design make it an attractive choice for anyone looking to build or integrate a lightweight cloud solution.

Open SourceReady to get started?

Join the community and start self-hosting bewCloud today