This article introduces some self-hosting services that I often use, mainly focusing on practical or very interesting open-source projects. Most of them are very lightweight and require a server configuration of 1 core and 1 GB of RAM (with 2GB of swap). It is recommended to have a configuration of 2 cores and 2 GB of RAM (with 4GB of swap) or higher. Unless otherwise specified, these services support at least x64 and ARM64 processor architectures.
Original article: https://dejavu.moe/posts/what-a-server-used-for/
Cloudflared#
cloudflared is the command-line client and tunnel daemon for Cloudflare Tunnel. It makes self-hosting services simple by securely exposing them to the public internet without opening any inbound ports on the server.
It is recommended to follow the instructions on the cloudflared pkg to add the software source based on your Linux distribution and install and update it using a package manager. Additionally, even if your server doesn't have a public IP, as long as it can access the Cloudflare network, it can be used for automatic intranet penetration, reverse proxying (including SSL), global CDN acceleration, WAF, and more.
Vaultwarden#
Vaultwarden is a community-maintained Bitwarden API implementation rewritten in Rust. It is compatible with the official Bitwarden client and is currently one of the best self-hosted password manager solutions. You can find the deployment process in Exploring Cloudflare Zero Trust - Deploying Bitwarden Password Manager with Docker
Book-Searcher#
Book-Searcher itself does not store any book source files. It searches based on user-built private book indexes and retrieves and reads e-books on IPFS. You can use Docker to deploy it. I have built an ARM-compatible Docker image from the official source code.
Calibre-Web#
As the name suggests, Calibre-Web is a web interface implementation based on the Calibre database (the screenshot below shows the dark theme). It provides an integrated book management solution, including book downloading, uploading, bookshelves, multi-user management, and more. It is recommended to use the linuxserver/calibre-web image to deploy it with Docker.
Mastodon#
Mastodon is an open-source decentralized "federated" social application. I have set up my own personal Mastodon instance at https://sink.love. For more details, please refer to Low-Cost Self-Hosted Mastodon Instance Quick Guide
Umami#
Umami is a simple, fast, and privacy-focused website analytics service. It does not collect or store visitor IP and cookie information, but only performs coarse-grained statistics on website data. You can deploy it with Docker (not supported on ARM).
Excalidraw#
Excalidraw is a hand-drawn style web whiteboard application that is very easy to use. You can deploy it with Docker. I have built an ARM-compatible Docker image for it.
tldraw#
tldraw is also a hand-drawn style web whiteboard application, with its own unique features 😎
Aria2 Pro#
Aria2 Pro is an almost perfect Aria2 service collection created by P3TERX. It supports Docker deployment. For more details, please see Aria2 Pro - A Better Aria2 Docker Image
Docker Firefox#
docker-firefox is a Firefox browser running inside a container. Of course, it can be deployed with Docker. It is recommended to use the linuxserver/firefox image.
Memos#
Memos is an open-source memo application with knowledge management and social features. It uses the lovely SQLite database, and data migration is also easy. In fact, it is more than just a memo application. Thanks to the highly extensible API, it can be used in many other ways. It is relatively easy to deploy with Docker.
SSH-Chat#
Yes, you read it right. ssh-chat allows us to chat via SSH, supporting group chat, private chat, pinning, banning, and more. ssh.dejavu.moe is my long-term open SSH chat room. Feel free to chat, leave messages, express love, or confess. For more information, please see Exploring Cloudflare Zero Trust - Building an SSH Chat Room with Cloudflare Tunnel
RSStT#
RSS to Telegram Bot is a Telegram RSS subscription bot that focuses on reading experience. It pushes RSS updates to Telegram channels/groups or private chats in your preferred format. It supports Docker deployment.
RSSHub#
RSS is a good civilization. RSSHub provides RSS routes for websites and services that do not provide RSS feeds. Everything can be RSS. It supports Docker deployment.
Miniflux#
Miniflux is a simple and practical web-based RSS reader. It supports Docker deployment. I use it in combination with RSSHub: Building a Personal RSS Reader with Miniflux + RSSHub
Kutt#
Kutt is an open-source URL shortening service with data statistics support. It supports Docker deployment.
busuanzi#
busuanzi is a Golang-based alternative to Busuanzi, which provides convenient statistics on page visitors, page views, and more. It supports Docker deployment. I have built a Docker image that supports ARM, x64, ppc64le, and s390x.
Remark 42#
Remark42 is a lightweight, powerful, and privacy-focused commenting system. This site is currently using it. It supports Docker deployment.
Uptime-Kuma#
After deploying so many services, we need a powerful and beautiful service monitor. Uptime-Kuma is our choice. It supports Docker deployment.
Duplicacy#
Having a service monitor is not enough. With so many services, the data stored during their operation is very important to us. Duplicacy is a backup tool that supports deduplication without locking. It can automatically back up data to various cloud storage services with encryption. For more details, please see:
If you have any other useful and interesting projects, feel free to recommend them below!