Nextcloud Social is an ActivityPub-enabled app that integrates your Nextcloud account with the Fediverse. It lets your Nextcloud instance act as a lightweight federated social server: create, edit and distribute posts; follow remote accounts; and interact with likes, boosts and replies.
Short summary: This app implements ActivityPub and enables Fediverse functionality inside Nextcloud.
- π§ Timelines β browse public, local and home timelines
- βοΈ Composer β create posts, replies and mentions
- βοΈ Edit posts β edit local posts
- π / π / π¬ Post actions β like, boost (announce), reply
- π§Ύ Profiles β avatar, header/banner and metadata support
- π Federation β send and receive ActivityPub activities (Create, Like, Announce)
- π Discovery β webfinger and remote user discovery
- βοΈ Backend β persistence, queues and signature support for reliable delivery
- Clone this repository into your Nextcloud
apps/directory. - Follow the setup and dependency steps in DEPLOYMENT.md.
- Rebuild frontend assets after UI changes:
cd /var/www/nextcloud/apps/social
./build-package.sh # produces build/artifacts/social.tar.gz- Enable the app in Nextcloud and test using a local account.
Banner/header uploads are supported and stored on the server, and should be referenced from the local actor/account cache.
If an uploaded banner does not appear immediately:
- Reload the profile page (clear browser cache if necessary).
- Verify the uploaded file exists in Nextcloud's file storage.
- Check server logs for upload or permission errors.
- Re-fetch the account data or sign out/sign in to refresh the local cache.
If you'd like, I can implement an immediate client-side cache refresh after a successful upload so the new banner appears right away.
- Added PUT endpoint for status updates (API:
/api/v1/statuses/{nid}) - Backend edit flow: posts can be edited and federated as
Updateactivities - Stream/Note persistence now stores additional fields (content, summary, source, published timestamps)
- Boost and Like federation attempt to resolve target inboxes and log fallbacks on failures
- UI: inline post editing with save/cancel flow
- Generated JS assets were rebuilt during the release process
- Contributions welcome β open a pull request and run the build/tests locally before merging.
- Reset local Social data for development with:
occ social:resetSee the repository's license files in the LICENSES/ directory.
