Movie reviews bot playground.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
Rafael Caricio d2075dcbd2
ci/woodpecker/push/woodpecker Pipeline failed Details
Apply clippy suggestions
5 months ago
.cargo Revert "Use "git" protocol to access crates.io" 6 months ago
build Support database connection via SSL 5 months ago
contrib Simplify deployment workflow 5 months ago
docs Add support for content warnings 5 months ago
fedimovies-cli Apply clippy suggestions 5 months ago
fedimovies-config Support database connection via SSL 5 months ago
fedimovies-models Apply clippy suggestions 5 months ago
fedimovies-utils Apply clippy suggestions 5 months ago
files Add files directory, update readme 2 years ago
scripts Add contracts to debian package 1 year ago
src Apply clippy suggestions 5 months ago
.dockerignore Simplify deployment workflow 5 months ago
.editorconfig Create workspace and move mitractl to a separate crate 8 months ago
.env Add cargo feature for making production build 1 year ago
.gitignore Support database connection via SSL 5 months ago
.woodpecker.yml Fix fmt 5 months ago
CHANGELOG.md Bump version 5 months ago
CONTRIBUTING.md Fix changelog 9 months ago
Cargo.lock Make generic errors carry more details 5 months ago
Cargo.toml Rename to Fedimovies 5 months ago
FEDERATION.md Add custom emojis section to FEDERATION.md 7 months ago
LICENSE Initial commit 2 years ago
README.md Update readme 5 months ago
config.yaml.example No blockchain support 5 months ago
docker-compose.yaml Update monero containers 10 months ago
justfile Simplify deployment workflow 5 months ago

README.md

FediMovies

status-badge

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.

Instances

Demo instance: https://nullpointer.social/ (invite-only)

Code

Server: https://code.caric.io/reef/reef (this repo)

Web client:

Requirements

  • Rust 1.57+ (when building from source)
  • PostgreSQL 12+

Optional:

Installation

Building from source

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.

Debian package

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.

Tor federation

See guide.

Development

See CONTRIBUTING.md

Start database server

docker-compose up -d

Test connection:

psql -h localhost -p 55432 -U fedimovies fedimovies

Run web service

Create config file, adjust settings if needed:

cp config.yaml.example config.yaml

Compile and run service:

cargo run

Run CLI

cargo run --bin fedimoviesctl

Run linter

cargo clippy

Run tests

cargo test

Federation

See FEDERATION.md

Client API

Most methods are similar to Mastodon API, but Fedimovies is not fully compatible.

OpenAPI spec

CLI

fedimoviesctl is a command-line tool for performing instance maintenance.

Documentation

License

AGPL-3.0