Open-source, self-hosted, lightweight platform for idea sharing
Ech0 is an open-source, self-hosted platform designed for lightweight sharing, allowing you to quickly post and share your thoughts, writings, and links. With a simple and intuitive interface, managing your content becomes effortless, giving you full control over your data while staying connected to the world anytime, anywhere.
Table of Contents
- ☁️ Ultra Lightweight — Memory usage under 15MB, image size under 45MB, single SQLite file storage.
- 🚀 Blazing Fast Deployment — No configuration needed, install and use with just one command.
- 🧰 Command-line Power — Built-in high-availability CLI tools that support one-click backup, restore, and export.
- 📟 TUI Friendly — Terminal-friendly interactive interface to manage Ech0 from the TUI.
- ✍️ Distraction-Free Writing — Clean online Markdown editor with rich plugin support and live preview.
- 📦 Data Ownership — All content stored locally in SQLite, with RSS feed support.
- 🔐 Secure Backup — One-click export/backup via Web, TUI, or CLI.
- ♻️ Seamless Restore — Restore any backup via TUI or CLI to ensure data safety.
- 🎉 Completely Free — Open-source under AGPL-3.0 with no tracking, subscription, or dependency.
- 🌍 Cross-Device Compatible — Fully responsive on desktop, tablet, and mobile.
- 👾 PWA Support — Can be installed as a Web App.
- ☁️ S3 Storage Support — Native integration with S3-compatible object storage for local or cloud backups.
- 🌐 ActivityPub Federation — Native ActivityPub support for interoperability with Mastodon, Misskey, Pleroma, etc.
- 📝 Built-in Todo Management — Record and track daily tasks efficiently.
- 🔗 Ech0 Connect — Cross-instance content aggregation, subscription, and synchronization.
- 🎵 Music Integration — Lightweight audio player for local streaming and immersive background music.
- 🎥 Video Sharing — Native support for Bilibili/YouTube smart parsing.
- 🃏 Rich Card Support — Share website links, GitHub projects, and other media-rich content.
- ⚙️ Advanced Customization — Custom styles and scripts for enhanced content presentation.
- 💬 Comment System — Integrate Twikoo for lightweight interaction and feedback.
- 💻 Cross-Platform — Native support for Windows, Linux, and ARM devices like Raspberry Pi.
- 🔗 Official Ech0 Hub Integration — Submit content to the Ech0 Hub ecosystem easily.
- 🌐 Self-Hosted Ech0 Hub — Use your Connect list as a content source.
- 📦 Self-contained Binary — Full frontend resources included, single binary file ready to run.
- 🔗 Rich API Support — Open API available for integration with other systems.
- 🃏 Content Display — Supports X (Twitter)-style card display with social interactions.
- 👤 Multi-user and Permissions — Flexible account and permission management for secure access.
docker run -d \
--name ech0 \
-p 6277:6277 \
-p 6278:6278 \
-v /opt/ech0/data:/app/data \
-v /opt/ech0/backup:/app/backup \
-e JWT_SECRET="Hello Echos" \
sn0wl1n/ech0:latest💡 After deployment, access
ip:6277to use
🚷 It is recommended to changeJWT_SECRET="Hello Echos"to a secure secret
📍 The first registered user will be set as administrator
🎈 Data stored under/opt/ech0/data
- Create a new directory and place
docker-compose.ymlinside. - Run:
docker-compose up -ddocker stop ech0
docker rm ech0
docker pull sn0wl1n/ech0:latest
docker run -d \
--name ech0 \
-p 6277:6277 \
-p 6278:6278 \
-v /opt/ech0/data:/app/data \
-v /opt/ech0/backup:/app/backup \
-e JWT_SECRET="Hello Echos" \
sn0wl1n/ech0:latestcd /path/to/compose
docker-compose pull && \
docker-compose up -d --force-recreate
docker image prune -fRun the binary directly (for example, on Windows double-click Ech0.exe).
Connect to the instance via port 6278:
ssh -p 6278 ssh.vaaat.com-
What is Ech0?
A lightweight, open-source self-hosted platform for quickly sharing thoughts, writings, and links. All content is locally stored. -
What Ech0 is NOT?
Not a professional note-taking app like Obsidian or Notion; its core function is similar to social feed/microblog. -
Is Ech0 free?
Yes, fully free and open-source under AGPL-3.0, no ads, tracking, subscription, or service dependency. -
How to backup and restore?
Backup/opt/ech0/data(mapped directory). Restore by replacing files. -
Does Ech0 support RSS?
Yes, content updates can be subscribed via RSS. -
Why can't I publish content?
Only administrators can publish. First registered user is admin. -
Why no detailed permission system?
Ech0 emphasizes simplicity: admin vs non-admin only, for smooth experience. -
Why Connect avatars may not show?
Set your instance URL inSystem Settings - Service URL(withhttp://orhttps://). -
What is MetingAPI?
Used to parse music streaming URLs for music cards. If empty, default API provided by Ech0 is used. -
Why not all Connect items show?
Instances that are offline or unreachable are ignored; only valid instances are displayed. -
What content is not recommended?
Avoid publishing dense content mixing text + images + extension cards. Long posts or extension cards alone are okay. -
How to enable comments?
Set up Twikoo backend URL in settings. Only Twikoo is supported. -
How to configure S3?
Fill in endpoint (without http/https) and bucket with public access.
- Report bugs via Issues.
- Propose features or share ideas in Discussions.
by ExcaliDraw
- Go 1.25.1+
- C Compiler for CGO (
go-sqlite3):- Windows: MinGW-w64
- macOS:
brew install gcc - Linux:
sudo apt install build-essential
- Google Wire:
go install github.com/google/wire/cmd/wire@latest - Golangci-Lint:
golangci-lint run/golangci-lint fmt - Swagger:
swag init -g internal/server/server.go -o internal/swagger
- NodeJS v24.5.0+, PNPM v10.17.1+
- Use fnm if multiple Node versions needed
# Backend
go run cmd/ech0/main.go
# Frontend
cd web
pnpm install
pnpm devPreview: Backend http://localhost:6277, Frontend http://localhost:5173
When importing layered packages, prefer consistent aliases such as
xxxModel,xxxService,xxxRepository, and so on.
- Gin
- Md-Editor-V3
- Figma
- VSCode & GoLand
- Open-source community contributors
🌟 If you like Ech0, please give it a Star! 🚀
Ech0 is completely free and open-source. Support helps the project continue improving.
| Platform | QR Code |
|---|---|
| Afdian |
███████╗ ██████╗ ██╗ ██╗ ██████╗
██╔════╝ ██╔════╝ ██║ ██║ ██╔═████╗
█████╗ ██║ ███████║ ██║██╔██║
██╔══╝ ██║ ██╔══██║ ████╔╝██║
███████╗ ╚██████╗ ██║ ██║ ╚██████╔╝
╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝