MCPSERV.CLUB
Local Content Share

Local Content Share

Self-Hosted

Share text, files, and links locally without client setup

Active(70)
366stars
0views
Updated Sep 1, 2025

Overview

Discover what makes Local Content Share powerful

Local Content Share is a lightweight, self‑hosted paste‑bin style service that lets developers and homelab operators expose text snippets, files, and URLs to any device on the same LAN without requiring client‑side software or authentication. The application is written in **Go**, with a single compiled binary that serves both the API and a bundled Vue‑based front end. All state is persisted in a local SQLite database stored under `/app/data`, which is mounted from the host to ensure durability across container restarts. The project ships a multi‑arch Docker image (x86‑64 & ARM64) and a GitHub Actions workflow that builds binaries for all supported platforms, making it trivial to deploy on Raspberry Pi, NAS devices, or cloud‑based VMs.

Text snippets

File uploads

Link storage

SSE push

Overview

Local Content Share is a lightweight, self‑hosted paste‑bin style service that lets developers and homelab operators expose text snippets, files, and URLs to any device on the same LAN without requiring client‑side software or authentication. The application is written in Go, with a single compiled binary that serves both the API and a bundled Vue‑based front end. All state is persisted in a local SQLite database stored under /app/data, which is mounted from the host to ensure durability across container restarts. The project ships a multi‑arch Docker image (x86‑64 & ARM64) and a GitHub Actions workflow that builds binaries for all supported platforms, making it trivial to deploy on Raspberry Pi, NAS devices, or cloud‑based VMs.

Key Features

  • Text snippets: Create, rename, edit, and delete plain‑text notes. Markdown rendering is built into the UI for quick preview.
  • File uploads: Drag‑and‑drop multi‑file support, with configurable TTLs (never, 1 h, 4 h, 1 d, or custom). Files are stored on the host’s filesystem under /app/data/files.
  • Link storage: A dedicated “Links” section that lists URLs in LIFO order.
  • SSE push: Server‑Sent Events notify all connected browsers when a snippet or file is added, edited, or removed, enabling real‑time collaboration.
  • PWA & responsive UI: The Vue front end is a progressive web app, automatically themed with Catppuccin light/dark modes and optimized for mobile browsers.
  • No authentication: The service intentionally omits auth; developers are expected to front it with a reverse proxy or VPN if exposing beyond the local network.

Technical Stack

LayerTechnology
RuntimeGo 1.22 (compiled static binary)
Web frameworkStandard net/http + gorilla/mux for routing
Template engineVue 3 (single‑page app) served as static assets
Data persistenceSQLite (github.com/mattn/go-sqlite3) for snippets and metadata
File storageLocal filesystem under a configurable data directory
Real‑time updatesServer‑Sent Events (EventSource) on /events endpoint
ContainerizationDockerfile builds a multi‑arch image; uses scratch base for minimal size
CI/CDGitHub Actions publish binaries & Docker images on every release

Core Capabilities

  • RESTful API: Endpoints for CRUD operations on snippets (/api/snippets), files (/api/files), and links (/api/links). The API returns JSON, making it easy to write custom clients or scripts.
  • SSE endpoint: /api/events streams JSON payloads like {type:"created",id:123}. Clients can subscribe with new EventSource('/api/events').
  • Expiration logic: TTL values are stored in the database; a background goroutine scans and deletes expired entries every minute.
  • Metadata: Each resource carries created_at, updated_at, and optional expires_at. File sizes are recorded for quota management.

Deployment & Infrastructure

  • Self‑hosting: The service is designed to run behind a local reverse proxy (e.g., Nginx, Caddy) or directly on the host. No external dependencies are required.
  • Scalability: SQLite limits concurrent writes, but for typical homelab usage (tens to low hundreds of requests per minute) performance is ample. For higher throughput, a lightweight external DB (PostgreSQL) could be swapped in by forking the repo.
  • Containerization: The Docker image exposes port 8080. A simple volume mount (/app/data) guarantees persistence. ARM64 support makes it suitable for Raspberry Pi 4 or similar devices.
  • Resource footprint: Under 20 MB image size; runtime memory usage stays below 30 MiB when idle.

Integration & Extensibility

  • Webhooks: Although not yet implemented, the SSE stream can be consumed by external services or custom webhooks via a lightweight adapter.
  • Plugin system: No native plugin API, but the open‑source nature allows developers to fork and add features such as OAuth front‑ends or encrypted storage.
  • Custom UI: The Vue source is exposed in the repository; developers can modify components or replace the front end with a custom SPA that consumes the same API.

Developer Experience

  • Configuration: All settings are environment‑based (PORT, DATA_DIR) or baked into the binary. The README provides a concise Docker‑one‑liner for quick starts.
  • Documentation: The repository includes API reference tables, usage examples, and a detailed “Tips & Notes” section covering edge cases (e.g., custom TTLs, file size limits).
  • Community: The project is actively maintained on GitHub with CI workflows, issue tracking, and a small but responsive contributor base. The license is permissive (MIT), encouraging reuse.

Use Cases

ScenarioWhy Local Content Share fits
Team scratchpadQuick sharing of notes or code snippets without email.
File drop zoneCollect logs, screenshots, or build artifacts from CI runners on the same LAN.
IoT data hubDevices upload sensor readings or firmware updates to a central node.

Open SourceReady to get started?

Join the community and start self-hosting Local Content Share today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
366
Technical Specs
Pricing
Open Source
Database
None
Docker
Official
Supported OS
LinuxDocker
Author
Tanq16
Tanq16
Last Updated
Sep 1, 2025