chamsae
chamsae copied to clipboard
A lightweight ActivityPub microblogging service for only a single user
chamsae
chamsae is a lightweight ActivityPub server for a single user. chamsae is for a single user who wants to join the fediverse, but not want to run a massive software. chamsae means an Eurasian tree sparrow.
Features
- ~~Mastodon or Misskey like microblogging service~~ TODO
- ~~Misskey like emoji reactions~~ TODO
Usage
NOTE You have to serve chamsae with HTTPS. This is not optional. For development, Caddy is helpful.
Requirements
- PostgreSQL
Backend
You can also use .env
file.
Example: Using local filesystem as object store
DEBUG=true \
DOMAIN=localhost \
DATABASE_URL=postgresql://postgres:postgres@localhost:5432 \
OBJECT_STORE_TYPE=local_filesystem \
OBJECT_STORE_LOCAL_FILE_BASE_PATH=./files/ \
cargo run --bin chamsae
Example: Using CloudFlare R2 as object store
DEBUG=true \
DOMAIN=localhost \
DATABASE_URL=postgresql://postgres:postgres@localhost:5432 \
OBJECT_STORE_TYPE=s3 \
OBJECT_STORE_BUCKET=bucket \
OBJECT_STORE_PUBLIC_URL_BASE=https://example.com/bucket \
AWS_DEFAULT_REGION=auto \
AWS_ENDPOINT=https://{account_id}.r2.cloudflarestorage.com \
AWS_ACCESS_KEY_ID={access_key} \
AWS_SECRET_ACCESS_KEY={secret_key} \
cargo run --bin chamsae
Serve HTTPS with caddy
To serve HTTPS with caddy:
caddy reverse-proxy --to :3000
You may need to run sudo setcap cap_net_bind_service=+ep $(which caddy)
first.
Frontend
cd frontend
yarn dev
Initialize instance
Open localhost:8000
with your browser.
You can now initialize instance.
License
chamsae is licensed under the terms of AGPL v3.0. See LICENSE file for details.