Natty 16e0a1ae22 | ||
---|---|---|
.config | ||
.woodpecker | ||
dev | ||
packages | ||
scripts | ||
.dockerignore | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.node-version | ||
.npmrc | ||
.vsls.json | ||
CODE_OF_CONDUCT.md | ||
COPYING | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
docker-compose.yml | ||
package.json | ||
patrons.json | ||
pnpm-lock.yaml | ||
pnpm-workspace.yaml | ||
rome.json | ||
title_float.svg |
README.md
✨ About Calckey
Please see the upstream version 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:
docker build -t calckey .
Continue reading if you want to build it natively.
🧑💻 Dependencies
- 🐢 At least NodeJS v18.16.0 (v20 recommended)
- Install with nvm
- 🐘 At least PostgreSQL v12 (v14 recommended)
- 🍱 At least Redis v6 (v7 recommended)
- Web Proxy (one of the following)
- 🍀 Nginx (recommended)
- 🦦 Caddy
- 🪶 Apache
- ⚡ libvips
😗 Optional dependencies
- FFmpeg for video transcoding
- Full text search (one of the following)
🏗️ Build dependencies
- 🦀 At least Rust v1.68.0
- 🦬 C/C++ compiler & build tools
build-essential
on Debian/Ubuntu Linuxbase-devel
on Arch Linux
- 🐍 Python 3
👀 Get folder ready
git clone https://git.astolfo.cool/natty/calckey.git
cd calckey/
Note By default, you're on the develop branch. Run
git checkout main
orgit checkout beta
to switch to the Main/Beta branches.
📩 Install dependencies
# nvm install 19 && nvm use 19
corepack enable
corepack prepare pnpm@latest --activate
pnpm i
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
pnpm run start
Web proxy
Caddy
- Add the following block to your
Caddyfile
, replacingexample.tld
with your own domain:
example.tld {
reverse_proxy http://127.0.0.1:3000
}
- Reload your caddy configuration