luckybooru_info/source/index.md

53 lines
2.0 KiB
Markdown

# luckybooru
luckybooru is a [danbooru](https://danbooru.donmai.us/)-style booru written in Crystal with Lucky.
## Status
luckybooru is in the early design stage.
## Goals and design principles
* Feature parity with danbooru
* Support for various types of media (images, audio, videos, plaintext, Markdown)
* Full support for running in a cluster with live scaling
* All major features should work with no-JS/*noscript* and text browsers
* Fast on the server-side and on the client-side (no Python or Java)
* High configurability (deployment, user roles, analytics, danbooru-like premium account tiers)
* RESTful API with JSON output
## Dependencies
* [Crystal](https://crystal-lang.org/)
* [Lucky](https://luckyframework.org)
* [PostgreSQL](https://www.postgresql.org/)
* [Sentry](https://github.com/getsentry/sentry) (with [raven.cr](https://github.com/Sija/raven.cr))
* [Sonic](https://github.com/valeriansaliou/sonic) (?)
## Deployment options
We aim to support a variety of deployment options, including the following:
* Application: Kubernetes° (hosted, private cluster), manual Docker deployment, traditional server
* Database: PostgreSQL° (hosted or manual), [CockroachDB](https://www.cockroachlabs.com/product/)
* File storage: S3 or S3-compatible object storage (e.g. [MinIO](https://github.com/minio/minio))°, traditional filesystem
*° preferred options*
## Database schema (WIP)
[![(database schema image)](schema.png)](schema.png)
(click for full size)
## Source code and contributing
Contributions in the form of issues (bug reports or feature requests) or pull requests on our repos are very welcome.
We also have an official development IRC channel: [#luckybooru](ircs://irc.fuwafuwa.moe/#luckybooru) on [irc.fuwafuwa.moe](https://irc.fuwafuwa.moe).
* Main repo: [luckybooru](https://git.fuwafuwa.moe/lesderid/luckybooru)
* Design documents (this page, database schema): [luckybooru_info](https://git.fuwafuwa.moe/lesderid/luckybooru_info)
All repos are licensed under the [University of Illinois/NCSA Open Source License](LICENSE.html).