6b1b29419d
* Update schema.rs * rename * stuff * finish new implementation of schema_setup::run (not including revert, test, etc.) * fmt * refactor * fix sql * migriation run command * use trigger on migrations table * add Options with disable_migrations field for test * rename to enable_forbid_diesel_cli_trigger * fix * fix merge * diff_checker (partial) * Revert "diff_checker (partial)" This reverts commit 6709882e148ceff48d6f097895af18d13fbdf4bf. * Revert "Revert "diff_checker (partial)"" This reverts commit d4bdda5d11216f4acd13b9585d2392ca8c252a73. * diff check * improve schema diff * timestamp replacement * ignore column order * remove fedi_name default * stuff * improve diff * stuff * attempt parallel pg_dump * attempt 2 * Revert "attempt 2" This reverts commit a909d2d6438d0b53382f762cf916ee92286a9965. * Revert "attempt parallel pg_dump" This reverts commit 592a12795428000ab15b572f89cbd9c6e25fb76c. * improve diff check * finish fixing migrations * stuff * use advisory lock * stuff * Update lib.rs * fmt * fmt * clippy * Update diff_check.rs * Update .woodpecker.yml * Update lib.rs * Update lib.rs * Update lib.rs * Update .woodpecker.yml * Update .woodpecker.yml * Update lib.rs * re-run ci * fmt * fmt * Update .woodpecker.yml * Update .woodpecker.yml * create separate database in ci * Update .woodpecker.yml * Update .woodpecker.yml * Update .woodpecker.yml * Update .woodpecker.yml * try to fix env var * Update diff_check.rs * Remove condition that's not needed anymore * clippy * exclude views and fast tables * revert some migration changes * fix * fmt * re-attempt checking character after skipped trigger name, and make code less confusing * fmt * fix * rerun ci * rerun ci * fix strip_prefix order * fix weird big Cargo.lock change by running `git checkout upstream/main Cargo.lock` then letting it auto update again * fix * remove installation commands that were removed in main branch * Revert "remove installation commands that were removed in main branch" This reverts commit fd65234a760b8b1bb42bc5b59b0ec972b08ded13. * move create_database_user woodpecker step to make diff less weird * fix clippy * Make diff check work just like before * Move new migrations to the end * Revert changes to old migrations * don't assume that migrations are already sorted * retry CI * fix merge * find migrations dir in debug mode using CARGO_MANIFEST_DIR variable instead of current working directory * always use embedded migrations * improve doc comments for migration subcommand * clippy fix * move cfg(test) attribute to diff_check.rs * copy `o` variable instead of calling `o` function * use chrono::TimeDelta Display implementation to show migration duration |
||
---|---|---|
.github | ||
api_tests | ||
config | ||
crates | ||
docker | ||
migrations | ||
readmes | ||
scripts | ||
src | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.rustfmt.toml | ||
.woodpecker.yml | ||
Cargo.lock | ||
Cargo.toml | ||
cliff.toml | ||
diesel.toml | ||
LICENSE | ||
README.md | ||
RELEASES.md | ||
renovate.json | ||
SECURITY.md |
English | Español | Русский | 汉语 | 漢語 | 日本語
Lemmy
A link aggregator and forum for the fediverse.
Join Lemmy
·
Documentation
·
Matrix Chat
·
Report Bug
·
Request Feature
·
Releases
·
Code of Conduct
About The Project
Desktop | Mobile |
---|---|
Lemmy is similar to sites like Reddit, Lobste.rs, or Hacker News: you subscribe to forums you're interested in, post links and discussions, then vote, and comment on them. Behind the scenes, it is very different; anyone can easily run a server, and all these servers are federated (think email), and connected to the same universe, called the Fediverse.
For a link aggregator, this means a user registered on one server can subscribe to forums on any other server, and can have discussions with users registered elsewhere.
It is an easily self-hostable, decentralized alternative to Reddit and other link aggregators, outside of their corporate control and meddling.
Each Lemmy server can set its own moderation policy; appointing site-wide admins, and community moderators to keep out the trolls, and foster a healthy, non-toxic environment where all can feel comfortable contributing.
Why's it called Lemmy?
- Lead singer from Motörhead.
- The old school video game.
- The Koopa from Super Mario.
- The furry rodents.
Built With
Features
- Open source, AGPL License.
- Self hostable, easy to deploy.
- Clean, mobile-friendly interface.
- Only a minimum of a username and password is required to sign up!
- User avatar support.
- Live-updating Comment threads.
- Full vote scores
(+/-)
like old Reddit. - Themes, including light, dark, and solarized.
- Emojis with autocomplete support. Start typing
:
- User tagging using
@
, Community tagging using!
. - Integrated image uploading in both posts and comments.
- A post can consist of a title and any combination of self text, a URL, or nothing else.
- Notifications, on comment replies and when you're tagged.
- Notifications can be sent via email.
- Private messaging support.
- i18n / internationalization support.
- RSS / Atom feeds for
All
,Subscribed
,Inbox
,User
, andCommunity
.
- Cross-posting support.
- A similar post search when creating new posts. Great for question / answer communities.
- Moderation abilities.
- Public Moderation Logs.
- Can sticky posts to the top of communities.
- Both site admins, and community moderators, who can appoint other moderators.
- Can lock, remove, and restore posts and comments.
- Can ban and unban users from communities and the site.
- Can transfer site and communities to others.
- Can fully erase your data, replacing all posts and comments.
- NSFW post / community support.
- High performance.
- Server is written in rust.
- Supports arm64 / Raspberry Pi.
Installation
Lemmy Projects
Support / Donate
Lemmy is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.
Lemmy is made possible by a generous grant from the NLnet foundation.
Crypto
- bitcoin:
1Hefs7miXS5ff5Ck5xvmjKjXf5242KzRtK
- ethereum:
0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01
- monero:
41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV
Contributing
Read the following documentation to setup the development environment and start coding:
When working on an issue or pull request, you can comment with any questions you may have so that maintainers can answer them. You can also join the Matrix Development Chat for general assistance.
Translations
- If you want to help with translating, take a look at Weblate. You can also help by translating the documentation.
Community
Code Mirrors
Credits
Logo made by Andy Cuccaro (@andycuccaro) under the CC-BY-SA 4.0 license.