{"id":18306009,"url":"https://github.com/rafaelcaricio/fedimovies","last_synced_at":"2025-04-05T16:32:56.414Z","repository":{"id":156697757,"uuid":"632899393","full_name":"rafaelcaricio/fedimovies","owner":"rafaelcaricio","description":"Federated Movies Reviews with ActivityPub.","archived":true,"fork":false,"pushed_at":"2023-04-27T22:15:49.000Z","size":2168,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T20:55:02.962Z","etag":null,"topics":["activitypub","activitypub-server","fediverse","fediverse-server","rust-lang"],"latest_commit_sha":null,"homepage":"https://code.caric.io/FediMovies","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rafaelcaricio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-26T11:05:50.000Z","updated_at":"2024-04-17T07:22:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"8a7d7ae2-058b-4c86-84a1-7c15ee0f0122","html_url":"https://github.com/rafaelcaricio/fedimovies","commit_stats":null,"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelcaricio%2Ffedimovies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelcaricio%2Ffedimovies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelcaricio%2Ffedimovies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rafaelcaricio%2Ffedimovies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rafaelcaricio","download_url":"https://codeload.github.com/rafaelcaricio/fedimovies/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247366999,"owners_count":20927645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["activitypub","activitypub-server","fediverse","fediverse-server","rust-lang"],"created_at":"2024-11-05T15:36:22.543Z","updated_at":"2025-04-05T16:32:56.403Z","avatar_url":"https://github.com/rafaelcaricio.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FediMovies\n[![status-badge](https://ci.caric.io/api/badges/FediMovies/fedimovies/status.svg)](https://ci.caric.io/FediMovies/fedimovies)\n\nLively federated movies reviews platform.\n\nBuilt on [ActivityPub](https://www.w3.org/TR/activitypub/) protocol, self-hosted, lightweight. Part of the [Fediverse](https://en.wikipedia.org/wiki/Fediverse).\n\nFeatures:\n\n- Micro-blogging service (includes support for quote posts, custom emojis and more).\n- Mastodon API.\n- Account migrations (from one server to another). Identity can be detached from the server.\n- Federation over Tor.\n\n## Instances\n\n- [FediList](http://demo.fedilist.com/instance?software=fedimovies)\n- [Fediverse Observer](https://fedimovies.fediverse.observer/list)\n\nDemo instance: https://nullpointer.social/ ([invite-only](https://nullpointer.social/about))\n\n## Code\n\nServer: https://code.caric.io/reef/reef (this repo)\n\nWeb client: \n\n\n## Requirements\n\n- Rust 1.57+ (when building from source)\n- PostgreSQL 12+\n\nOptional:\n\n- IPFS node (see [guide](./docs/ipfs.md))\n\n## Installation\n\n### Building from source\n\nRun:\n\n```shell\ncargo build --release --features production\n```\n\nThis command will produce two binaries in `target/release` directory, `fedimovies` and `fedimoviesctl`.\n\nInstall PostgreSQL and create the database:\n\n```sql\nCREATE USER fedimovies WITH PASSWORD 'fedimovies';\nCREATE DATABASE fedimovies OWNER fedimovies;\n```\n\nCreate 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.\n\nPut 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.\n\nStart Fedimovies:\n\n```shell\n./fedimovies\n```\n\nAn HTTP server will be needed to handle HTTPS requests. See the example of [nginx configuration file](./contrib/fedimovies.nginx).\n\nTo run Fedimovies as a systemd service, check out the [systemd unit file example](./contrib/fedimovies.service).\n\n### Debian package\n\nDownload and install Fedimovies package:\n\n```shell\ndpkg -i fedimovies.deb\n```\n\nInstall PostgreSQL and create the database:\n\n```sql\nCREATE USER fedimovies WITH PASSWORD 'fedimovies';\nCREATE DATABASE fedimovies OWNER fedimovies;\n```\n\nOpen configuration file `/etc/fedimovies/config.yaml` and configure the instance.\n\nStart Fedimovies:\n\n```shell\nsystemctl start fedimovies\n```\n\nAn HTTP server will be needed to handle HTTPS requests. See the example of [nginx configuration file](./contrib/fedimovies.nginx).\n\n### Tor federation\n\nSee [guide](./docs/onion.md).\n\n## Development\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md)\n\n### Start database server\n\n```shell\ndocker-compose up -d\n```\n\nTest connection:\n\n```shell\npsql -h localhost -p 55432 -U fedimovies fedimovies\n```\n\n### Run web service\n\nCreate config file, adjust settings if needed:\n\n```shell\ncp config.yaml.example config.yaml\n```\n\nCompile and run service:\n\n```shell\ncargo run\n```\n\n### Run CLI\n\n```shell\ncargo run --bin fedimoviesctl\n```\n\n### Run linter\n\n```shell\ncargo clippy\n```\n\n### Run tests\n\n```shell\ncargo test\n```\n\n## Federation\n\nSee [FEDERATION.md](./FEDERATION.md)\n\n## Client API\n\nMost methods are similar to Mastodon API, but Fedimovies is not fully compatible.\n\n[OpenAPI spec](./docs/openapi.yaml)\n\n## CLI\n\n`fedimoviesctl` is a command-line tool for performing instance maintenance.\n\n[Documentation](./docs/fedimoviesctl.md)\n\n## License\n\n[AGPL-3.0](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelcaricio%2Ffedimovies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafaelcaricio%2Ffedimovies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafaelcaricio%2Ffedimovies/lists"}