Skip to content

pbzweihander/chamsae

Repository files navigation

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.

About

A lightweight ActivityPub microblogging service for only a single user

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages