Lively federated movies reviews platform.
Built on ActivityPub protocol, self-hosted, lightweight. Part of the Fediverse.
Features:
- Micro-blogging service (includes support for quote posts, custom emojis and more).
- Mastodon API.
- Account migrations (from one server to another). Identity can be detached from the server.
- Federation over Tor.
Demo instance: https://nullpointer.social/ (invite-only)
Server: https://code.caric.io/reef/reef (this repo)
Web client:
- Rust 1.57+ (when building from source)
- PostgreSQL 12+
Optional:
- IPFS node (see guide)
Run:
cargo build --release --features production
This command will produce two binaries in target/release
directory, fedimovies
and fedimoviesctl
.
Install PostgreSQL and create the database:
CREATE USER fedimovies WITH PASSWORD 'fedimovies';
CREATE DATABASE fedimovies OWNER fedimovies;
Create configuration file by copying contrib/fedimovies_config.yaml
and configure the instance. Default config file path is /etc/fedimovies/config.yaml
, but it can be changed using CONFIG_PATH
environment variable.
Put any static files into the directory specified in configuration file. Building instructions for fedimovies-web
frontend can be found at https://code.caric.io/FediMovies/fedimovies#project-setup.
Start Fedimovies:
./fedimovies
An HTTP server will be needed to handle HTTPS requests. See the example of nginx configuration file.
To run Fedimovies as a systemd service, check out the systemd unit file example.
Download and install Fedimovies package:
dpkg -i fedimovies.deb
Install PostgreSQL and create the database:
CREATE USER fedimovies WITH PASSWORD 'fedimovies';
CREATE DATABASE fedimovies OWNER fedimovies;
Open configuration file /etc/fedimovies/config.yaml
and configure the instance.
Start Fedimovies:
systemctl start fedimovies
An HTTP server will be needed to handle HTTPS requests. See the example of nginx configuration file.
See guide.
See CONTRIBUTING.md
docker-compose up -d
Test connection:
psql -h localhost -p 55432 -U fedimovies fedimovies
Create config file, adjust settings if needed:
cp config.yaml.example config.yaml
Compile and run service:
cargo run
cargo run --bin fedimoviesctl
cargo clippy
cargo test
See FEDERATION.md
Most methods are similar to Mastodon API, but Fedimovies is not fully compatible.
fedimoviesctl
is a command-line tool for performing instance maintenance.