calckey/README.md

109 lines
2.8 KiB
Markdown

<div align="center">
<a href="https://calckey.org/">
<img src="./title_float.svg" alt="Calckey logo" style="border-radius:50%" width="400"/>
</a>
<b>This is a horribly broken fork of Calckey not intended to be run on its own.</b>
[![no github badge](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page/)
[![status badge](https://ci.astolfo.cool/api/badges/natty/calckey/status.svg)](https://ci.astolfo.cool/natty/calckey)
</div>
<div>
<img src="https://pool.jortage.com/voringme/misskey/e7cd2a17-8b23-4e1e-b5cf-709480c623e2.png" align="right" height="320px" alt="Calc (the Calckey mascot) smoking a fat dart"/>
# ✨ About Calckey
Please see the [upstream version](https://codeberg.org/calckey/calckey) if you seriously intend to run this project.
# 🌠 I wanna build this mess anyway
My primary way to build this project is using Podman and deploy as a container:
```sh
docker build -t calckey .
```
Continue reading if you want to build it natively.
## 🧑‍💻 Dependencies
- 🐢 At least [NodeJS](https://nodejs.org/en/) v18.16.0 (v20 recommended)
- Install with [nvm](https://github.com/nvm-sh/nvm)
- 🐘 At least [PostgreSQL](https://www.postgresql.org/) v12 (v14 recommended)
- 🍱 At least [Redis](https://redis.io/) v6 (v7 recommended)
- Web Proxy (one of the following)
- 🍀 Nginx (recommended)
- 🦦 Caddy
- 🪶 Apache
- ⚡ [libvips](https://www.libvips.org/)
### 😗 Optional dependencies
- [FFmpeg](https://ffmpeg.org/) for video transcoding
- Full text search (one of the following)
- 🦔 [Sonic](https://crates.io/crates/sonic-server)
- [MeiliSearch](https://www.meilisearch.com/)
- [ElasticSearch](https://www.elastic.co/elasticsearch/)
### 🏗️ Build dependencies
- 🦀 At least [Rust](https://www.rust-lang.org/) v1.68.0
- 🦬 C/C++ compiler & build tools
- `build-essential` on Debian/Ubuntu Linux
- `base-devel` on Arch Linux
- 🐍 [Python 3](https://www.python.org/)
## 👀 Get folder ready
```sh
git clone https://git.astolfo.cool/natty/calckey.git
cd calckey/
```
## 📩 Install dependencies
```sh
# nvm install 19 && nvm use 19
corepack enable
corepack prepare pnpm@latest --activate
pnpm i
```
## Build
```sh
pnpm run build
```
## Database
This setup assumes you already have a valid PostgreSQL database with
a model corresponding to the Calckey version 14.0.0-RC3.
## Configuring a new server
- Run `cp .config/example.yml .config/default.yml`
- Edit `.config/default.yml`, making sure to fill out required fields.
- Also copy and edit `.config/docker_example.env` to `.config/docker.env` if you're using Docker.
## Running the server
```sh
pnpm run start
```
## Web proxy
### Caddy
- Add the following block to your `Caddyfile`, replacing `example.tld` with your own domain:
```caddy
example.tld {
reverse_proxy http://127.0.0.1:3000
}
```
- Reload your caddy configuration