/ruqqus

An open-source platform for online communities

Primary LanguagePythonMozilla Public License 2.0MPL-2.0


Ruqqus

Ruqqus is an open-source platform for online communities, free of censorship and moderator abuse by design.

Build status Snyk Vulnerabilities for GitHub Repo Website GitHub language count GitHub code size in bytes Discord

Features

  • Moderator power limited by design
  • No ads
  • US-based servers
  • Mobile friendly
  • Dark mode

Why Ruqqus?

A moderator has the power to "kick" a user-submitted post from their community (guild) but never delete it off the platform entirely. Kicked posts end up in a catch-all guild called +general. Content that violates the site-wide policy is removed by the core team.

Moderators, called guild masters, can only moderate a maximum of 10 guilds.

We do not serve ads. Put simply, advertisements lead to censorship. Ruqqus is funded out-of-pocket by the core team and through donations from users.

Ruqqus is responsive and mobile browser-friendly.

Getting started

An account is not required to browse Ruqqus but we recommend creating one.

1. Create an account

Sign up in seconds, no email required. With a Ruqqus account, you can vote and comment on posts as well as join guilds.

2. Join some guilds

After signing up, we recommend you join some guilds. Your home feed will be populated by content from guilds you've joined.

3. Create a post

On Ruqqus, you can share links or text posts.

Contributing

Pull requests are welcome! For major changes, please open an issue to discuss what you would like to change.

Sponsors

As an open-source project, we are supported by the community. If you would like to support the development of Ruqqus, please consider making a donation :)

BTC - 16JFRF4sXQ9BvY3w73MD64yPUKehhUtste

LTC - LNDKsNhHjiNBJ6YBWtE8io8H1W3Fv5mtEd

ETH/ERC20 - 0x4301c31B81C2C66f5aaDFC1ec75861ad3d3cE0cC

XMR - 8BkNezPQex6eTanNQHswMmhCAqWkXzVNEDnvnBN1YSxmic87E2VZncNVDiS1TCjuUs4K34FiGVBK82AfkT2NYsxFN6cYTpy

ZEC - t1VqHznyeQnS9hNaU32ksijfT9s9DTXgUSv

BCH - qpcg2czl2fa8x43z807ta5kpuzd3g4suecuu9lmqug

XRP - rBWWxvREbRPSqMGNqwpBVbSJMPkmLum5xR

XLM - GBB4FE2UYMUPHCYYLZFT3WSAOSEKI7YIBSOLNEPU6GPWAU64OXOQOA3Q

DASH - Xj5dmVJXVjCxuyKRhTmSJ6p1i3ehWLV9gT

DOGE - DT9j54NhxcH3VTU1QeuWcifyaLayTPuv1U

VTC - 3Lq9vNtphMM3rtuzLhtNUjn5WhSk7ZMQYK

PIVX - DSgD6hxu1EgRiULn6RNbnv5tRvij5BGtUa

Stay in touch

Local development

Docker Deployment

In order to build your docs, you need to add the following to your hosts file:

127.0.0.1    ruqqus.localhost

To deploy the stack with docker, simply use:

docker-compose up

The database will automatically be seeded with an administrator account; user ruqqie and password password.

Mac

Install dependencies

$ pip3 install -r requirements.txt

$ brew install redis

$ brew install postgres

Stay in touch

Local development

Upon installation, trying to submit a post will cause a 404 error. You have to create a guild first (to achieve this perhaps temporarily remove the 250 rep restriction on making guilds). You also need to make sure the badwords table is populated.

Note: When trying to run Ruqqus locally, make sure to use a tagged release version. The reason this is necessary is that the file schema.txt is not always updated, which will cause Ruqqus to crash. If after first setting up Ruqqus you are getting a 500/Internal Server Error on pages because of database errors, this is most likely why.

API

Community-made docs for the Ruqqus API can be found here: https://ruqqus-api.stoplight.io

License

MPL-2.0