Selfhosted systems
A quick list for some internet freedom
Sitemap — — — Webring — — — Repositories — — — About
We’ve not been to school. We are using our minds. — Unknown
Abstract: The following sections describe the services that I am considering running, find interesting, or I am currently running on the server.
Table of Contents
Worth your liberty, knowledge
TODOn
List of programs and services
A more complete list, which may be less comprehensible can be found at Awesome-selfhosted. Specially take a look at the hosting section and Streisand, which have a collection of systems/platforms that will make your life easier and some can be used without any experience. Also, make sure to give Awesome-sysadmin a good look.
It is also noting that most of these programs/systems were chosen because they run in not just Linux (GNU/Linux). Since the point of this list is to present solutions that respect the users choices, it made no sense to add software that can only be run in a small selection of systems1.
And of course, please, make sure that you know how to run and administrate a server before you go full into these services. Specially in terms of security and data protection. No one is an expert when they get started in this world, but some basic knowledge is requred.
Blogging/Static site generation
Social media
- Matrix: is an open network for decentralized communities. Some server implementations are Dendrite, written in Go and Synapse, written in Python. There are applications for Android, iOS, desktop, browsers and plugins for other clients. Most notably the Element client (Web, Android, iOS), Fluffychat (Web, Android, iOS) and Syphon (Android, iOS). It also has bridges to connect to other networks/protocols, such as IRC and Telegram.
- XMPP: is an open protocol for messaging and communications. Ejabberd is an XMPP implementation in Erlang.
- See No description for this link.
- Mattermost: is a collaborative platform, an alternative to Slack. It supports bridges to other networks/protocols.
- Peertube: federated alternative to Youtube, Vimeo, etc.
- Mobilizon: federated event/group meeting platform.
- Pleroma: federated alternative to Twitter, just like Mastodon, but written in Elixir using the Phoenix framework.
- Pixelfed: federated alternative to Instagram.
- Friendica and Hubzilla are decentralised Facebook alternatives written in PHP.
Code
- Fossil: a better git. It is not just a VCS, it is a project management system. Written in C.
- Sourcehut: complete and minimalist git and mercurial development platform. Written mostly in Python.
- Gitea: modern, complete and fully featured Git hosting platform written in Go.
- Cgit: ligthweight frontend for git, written in C. May be worth giving Gitolite a look.
- GNU's Savannah: old, but supports CVS, mercurial, Subversion, Git, mailing lists among other tools. Written in PHP. A Python alternative would be Kallithea.
CI/CD
- Buildbot: simple, yet flexible and extensible CI system written in Python.
- Builds from Sourcehut
Conferencing/Video chats
- Jitsi: wonderful video/chatting system.
- Mumble: small and efficient audio chatting server/application.
- BigBlueButton: classroom hosting.
- Indico: platform created at CERN to host conferences.
- Pretalx: another conferencing tool.
Bookmarks/Archive
- Memex: browser addon to search for information inside the bookmarked pages.
- Floccus: addon for web-browsers that allows syncing your bookmarks with any WebDAV server, Nextcloud and others.
- Shiori: simple bookmark manager, alternative to Pocket. It has a web-extension addon and the server is written in Go.
- ArchiveBox: web archiving platform. It can be used as a bookmark manager. Written in Python.
- buku: lightweight bookmark manager that can be used locally or as a server. Written in Python.
- Reminiscense: bookmark manager that can also archive the contents. Written in Python.
- Unmark: selfhosted bookmark management. Written in PHP.
Mailing lists
- GNU Mailman: very widely known and used ML software. Written in Pyhton.
- Sympa: complete and powerful mailing list software. Written in Perl.
- Majordomo: is a simple mailing list manager written in Perl.
- phpList: ML that is meant to be more closely controlled by the administrator (there are no ML discussions in the traditioal sense). Written in PHP.
Contacts/Calendar
- Radicale: simple CalDAV and CardDAV server. Written in Python.
- DAViCal: advance CalDAV, CardDAV server that runs on PHP.
- TODO: bookmark service https://github.com/awesome-selfhosted/awesome-selfhosted#bookmarks-and-link-sharing
Streaming/Media sharing
- Icecast: audio/video streaming service. Heavily used by radio stations. See also GNU FM and MPD.
- See 5.
- Open Streaming Platform: alternative to Twitch an Youtube.
- Tube: simplest and most minimalist alternative to Youtube.
- Youtube-dl or Yt-dlp: video downloaders and archivers. See this archivist scripts.
- Spotdl: Spotify audio downloader.
- Rtorrent: TUI torrent manager. You may want to see Pyrocore and rtorrent-ps too. Other torrent systems are Aria2, Transmission, qBittorrent and Deluge.
Cloud/Storage/Backups
Financing/Paymet/Patreon
- Not selfhosted! Liberapay is a libre alternative to the likes of Patreon or Ko.fi.
Project management
- Collabora Office (CODE): document creation on the cloud.
Business management/ERP/CRM
Databases
- SQLite: simple, minimal and basic SQL database. Not recommended when having multiple writters or reader-writter. However, one could use rqlite for database replication and management.
- PostgreSQL: advance RDBMS SQL database.
- MariaDB: an alternative to MySQL comparable to PostgreSQL.
Metrics
- Prometheus: metrics monitoring platform and time series DB.
- Graphana: monitoring and observability platform, uses InfluxDB.
Footnotes:
Though Windows and OSX/Mac OS were not considered. Yes, call this hypocrisy.