Ibis is a federated encyclopedia which uses the ActivityPub protocol, just like Mastodon or Lemmy. Users can create, browse, edit articles and use many other features. If you want to start a wiki for a TV series, a videogame, or an open source project then Ibis is for you! You can register on an existing instance or install it on your own server. Then you can start editing on the topic of your choice, and connect to other Ibis instances for different topics. Federation ensures that articles get mirrored across many servers, and can be read even if the original instance goes down. Ibis is fully open source to make future enshittification impossible.
Desktop (Light Theme) | Mobile (Dark Theme) |
---|---|
![]() |
![]() |
Contributions are more than welcome, especially for the frontend.
- Fully functional wiki with article creation, reading, editing and edit history
- Conflict handling in case of concurrent edits
- Articles have discussion page with nested comments
- Fully federated, all actions work locally as well as with remote Ibis instances
- Simple installation, only a single binary or Docker image with Postgres database
- Snappy editor with live preview and markdown support
- Various markdown extensions like LaTeX, table of contents, footnotes, spoilers
- Dark mode, so that you can write articles from the beach or from your basement
- Explore page to discover interesting articles
- Fast user interface with server-side rendering based on Webassembly
- Notification system to get notified about new articles, edits and comments
- In the future Ibis will be fully federated with Mastodon, Lemmy and other Fediverse platforms
Discuss with other Ibis users on Matrix or Lemmy:
The Ibis is a bird which is related to the Egyptian god of knowledge and science.
First install PostgreSQL and setup the development database:
psql -c "CREATE USER ibis WITH PASSWORD 'ibis' SUPERUSER;" -U postgres
psql -c "CREATE DATABASE ibis WITH OWNER ibis;" -U postgres
You need to install cargo, pnpm and cargo-leptos. Use pnpm install
to get Javascript dependencies. You need to enable the wasm target for Rust using rustup target add wasm32-unknown-unknown
. Then run cargo leptos watch
which automatically rebuilds the project after changes. Open the site at localhost:3000. You can login with user ibis
and password ibis
.
The IP and port where the server serves the content can be changed with the env var LEPTOS_SITE_ADDR
. Defaults to 127.0.0.1:3000
.
Developing a project like this takes a significant amount of work. You can help funding it with donations:
- Liberapay
- Bitcoin:
bc1q6mqlqc84q2h55jkkjvex4kc6h9h534rj87rv2l
- Monero:
84xnACZv82UNTEGNkttLTH8sCeV9Cdr8dHMJSNP6V2hEJW7C17S9xQTUCghwG8TePrRD9wfiPRWcwYvSTHUNoyJ4AXnQYLD