PHPackages                             joinloops/loops-server - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. joinloops/loops-server

ActiveProject[Image &amp; Media](/categories/media)

joinloops/loops-server
======================

The federated short video sharing platform.

v1.0.0-beta.14(2w ago)436054[25 issues](https://github.com/joinloops/loops-server/issues)[4 PRs](https://github.com/joinloops/loops-server/pulls)AGPL-3.0-onlyPHPPHP ^8.3|^8.4|^8.5CI passing

Since Sep 4Pushed 2w ago8 watchersCompare

[ Source](https://github.com/joinloops/loops-server)[ Packagist](https://packagist.org/packages/joinloops/loops-server)[ Docs](https://joinloops.org)[ RSS](/packages/joinloops-loops-server/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (128)Versions (115)Used By (0)

Loops
=====

[](#loops)

 **The short video sharing platform for the social web.**
 Federated, open source, creator-friendly, and powered by [ActivityPub](https://fediverse.info).

 [Website](https://joinloops.org) · [API Documentation](https://joinloops.org/developers) · [Installation](INSTALLATION.md) · [Server List](https://fedidb.com/software/loops)

 [ ![Latest release](https://camo.githubusercontent.com/d69d153e0a134f0b59cc62f32c45a282dfcb00173370e442ec814a3f798b7434/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6a6f696e6c6f6f70732f6c6f6f70732d7365727665722e737667) ](https://github.com/joinloops/loops-server/releases) [ ![Translation progress on Crowdin](https://camo.githubusercontent.com/b34163ae6cab8ae0da94a45fa8d8bd91998713091f0270d49bdcc9af11b71026/68747470733a2f2f6261646765732e63726f7764696e2e6e65742f6c6f6f70732f6c6f63616c697a65642e737667) ](https://crowdin.com/project/loops)

 [ ![JavaScript build status](https://camo.githubusercontent.com/6b1d35cc37a4b6f28be240f0bfb1b676aacd7f42b9336414f258d86c47d87cf3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6a6f696e6c6f6f70732f6c6f6f70732d7365727665722f4a532d4275696c642d707573682e796d6c3f6272616e63683d6d61696e266c6162656c3d4a532532304275696c64) ](https://github.com/joinloops/loops-server/actions/workflows/JS-Build-push.yml) [ ![ESLint status](https://camo.githubusercontent.com/17ab85300e5c94c59d10e41135e1a14e96e1940f9086de0e9f6881d5b5eff12a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6a6f696e6c6f6f70732f6c6f6f70732d7365727665722f4a532d45534c696e742d707573682e796d6c3f6272616e63683d6d61696e266c6162656c3d45534c696e74) ](https://github.com/joinloops/loops-server/actions/workflows/JS-ESLint-push.yml) [ ![Prettier status](https://camo.githubusercontent.com/32ee828dbf6f648a374d297a3210a6b8d0d073e93bbaf97e17b24224cda748a5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6a6f696e6c6f6f70732f6c6f6f70732d7365727665722f4a532d50726574746965722d707573682e796d6c3f6272616e63683d6d61696e266c6162656c3d5072657474696572) ](https://github.com/joinloops/loops-server/actions/workflows/JS-Prettier-push.yml) [ ![TypeScript type-check status](https://camo.githubusercontent.com/c78b579a2a4ed526116e00bf52396cf95c52652ffd61a544b0a85c24f5fe8576/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6a6f696e6c6f6f70732f6c6f6f70732d7365727665722f4a532d54797065436865636b2d707573682e796d6c3f6272616e63683d6d61696e266c6162656c3d54797065436865636b) ](https://github.com/joinloops/loops-server/actions/workflows/JS-TypeCheck-push.yml) [ ![Larastan status](https://camo.githubusercontent.com/3fabf7131c88f9388c6b3adf4f6373e6184104f6c026c5a1bbab9ccf02c55c65/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6a6f696e6c6f6f70732f6c6f6f70732d7365727665722f7068702d6c6172617374616e2d707573682e796d6c3f6272616e63683d6d61696e266c6162656c3d4c6172617374616e) ](https://github.com/joinloops/loops-server/actions/workflows/php-larastan-push.yml) [ ![Laravel Pint status](https://camo.githubusercontent.com/07167f6bc17645c7c5911e06bb9bfcfdaa0243da5305c22a7c226843987b8ceb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6a6f696e6c6f6f70732f6c6f6f70732d7365727665722f7068702d70696e742e796d6c3f6272616e63683d6d61696e266c6162656c3d50696e74) ](https://github.com/joinloops/loops-server/actions/workflows/php-pint.yml)

 [![The Loops short-video platform](./screenshot.png)](./screenshot.png)

About Loops
-----------

[](#about-loops)

Loops is a federated, open-source platform for sharing short videos. It gives creators and communities a modern short-video experience without locking them into a centralized platform.

This repository contains the Loops server and web application. Communities can operate their own Loops instance while connecting with people across Loops, Pixelfed, Mastodon, and other compatible ActivityPub platforms.

Highlights
----------

[](#highlights)

- **Federated by design** — connect and interact across the open social web using ActivityPub.
- **Self-hostable** — run an independent Loops server for your community.
- **Creator-friendly** — share short videos without advertising-driven platform incentives.
- **Community-controlled** — each server can establish its own rules, policies, and moderation practices.
- **Modern discovery** — explore Following and For You feeds, hashtags, profiles, and videos.
- **Social interactions** — support for comments, replies, mentions, likes, shares, and boosts.
- **Open API** — build applications and integrations using the JSON REST API and OAuth 2.0.
- **Open source** — inspect, modify, contribute to, and redistribute the software under the AGPLv3.

Getting Started
---------------

[](#getting-started)

### Install Loops

[](#install-loops)

To deploy your own Loops server, see the [installation guide](INSTALLATION.md).

A Docker-based setup is also available in the [Docker Compose setup guide](DOCKER_COMPOSE_SETUP.md).

### Federation

[](#federation)

See the [federation documentation](FEDERATION.md) for information about Loops and ActivityPub interoperability.

### API

[](#api)

The Loops API is an open, publicly documented JSON REST API secured with OAuth 2.0. No partnership, application, or prior approval is required to build clients, integrations, and new experiences for the Loops ecosystem.

- [Developer documentation](https://joinloops.org/developers)
- [Complete API reference](https://docs.joinloops.org)

Contributing
------------

[](#contributing)

Bug reports, feature requests, documentation improvements, translations, and pull requests are welcome.

Before participating, please read the [Code of Conduct](CODE_OF_CONDUCT.md).

- [Open an issue](https://github.com/joinloops/loops-server/issues)
- [View pull requests](https://github.com/joinloops/loops-server/pulls)
- [Join GitHub Discussions](https://github.com/joinloops/loops-server/discussions)

Translations
------------

[](#translations)

Help make Loops available to more communities and languages through [Crowdin](https://crowdin.com/project/loops).

See the [translation guide](TRANSLATING.md) for contribution instructions.

Community
---------

[](#community)

Connect with the Loops community:

- **Website:** [joinloops.org](https://joinloops.org)
- **Blog:** [blog.joinloops.org](https://blog.joinloops.org)
- **Pixelfed:** [@loops@pixelfed.social](https://pixelfed.social/loops)
- **Discord:** [Join the Loops community](https://discord.gg/wvud8BgFv8)
- **Matrix:** [Join the Loops community](https://matrix.to/#/#loops:matrix.org)
- **Codeberg mirror:** [codeberg.org/loops](https://codeberg.org/loops)

Funding
-------

[](#funding)

Loops is funded in part through [NGI Zero Core](https://nlnet.nl/core), a fund established by [NLnet](https://nlnet.nl) with support from the European Commission's [Next Generation Internet](https://ngi.eu) program.

Learn more on the [NLnet Loops project page](https://nlnet.nl/project/Loops).

 [ ![NLnet Foundation](https://camo.githubusercontent.com/b2f4296f9a60d61a382b0bbaa9e688d8f75dd688d9769b10ca67b4889481d636/68747470733a2f2f6e6c6e65742e6e6c2f6c6f676f2f62616e6e65722e706e67) ](https://nlnet.nl) [ ![NGI Zero Core](https://camo.githubusercontent.com/693286a1b5fb078e60796e9d40ac5808288c8dec1ed576367d6a49640954aacf/68747470733a2f2f6e6c6e65742e6e6c2f696d6167652f6c6f676f732f4e4749305f7461672e737667) ](https://nlnet.nl/core)

Supporters
----------

[](#supporters)

Thanks to the [Fastly Fast Forward](https://www.fastly.com/fast-forward) program, Loops uses Fastly CDN and Object Storage to serve videos globally.

 [ ![Fastly Fast Forward](https://private-user-images.githubusercontent.com/17537000/420160199-f1499b1f-c05f-480a-a5d5-dbebcb0e20fd.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODU3NzM3OTMsIm5iZiI6MTc4NTc3MzQ5MywicGF0aCI6Ii8xNzUzNzAwMC80MjAxNjAxOTktZjE0OTliMWYtYzA1Zi00ODBhLWE1ZDUtZGJlYmNiMGUyMGZkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA4MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwODAzVDE2MTEzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg4Njg0MTg2MDYwODgxNmZhNjcxNmY0NWFiZTNhNWM2Yjg0YmE4YWQ5YmM4NTQ5OWJlODBkNmVkMDM0NTA4MGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9._VlSZWfKlyK2Cv4HSsuq2EIXEEOpfOua-R3SYejX4Lw) ](https://www.fastly.com/fast-forward)

License
-------

[](#license)

Loops Server is open-source software licensed under the [GNU Affero General Public License v3.0](LICENSE).

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance96

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community27

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 64.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~22 days

Recently: every ~39 days

Total

16

Last Release

17d ago

PHP version history (3 changes)v1.0.0-alpha.1PHP ^8.3

v1.0.0-beta.2PHP ^8.3|^8.4

v1.0.0-beta.9PHP ^8.3|^8.4|^8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/b6f279a69b741c13c678663a9780d178bd9432c63b53b155e8e751dc560ddcca?d=identicon)[dansup](/maintainers/dansup)

---

Top Contributors

[![dansup](https://avatars.githubusercontent.com/u/877217?v=4)](https://github.com/dansup "dansup (1567 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (716 commits)")[![shleeable](https://avatars.githubusercontent.com/u/17537000?v=4)](https://github.com/shleeable "shleeable (138 commits)")[![grossermensch](https://avatars.githubusercontent.com/u/12442484?v=4)](https://github.com/grossermensch "grossermensch (4 commits)")[![netherwraith](https://avatars.githubusercontent.com/u/216410845?v=4)](https://github.com/netherwraith "netherwraith (3 commits)")[![Krafting](https://avatars.githubusercontent.com/u/36538123?v=4)](https://github.com/Krafting "Krafting (2 commits)")[![DanieruOtakuBoy](https://avatars.githubusercontent.com/u/130202303?v=4)](https://github.com/DanieruOtakuBoy "DanieruOtakuBoy (2 commits)")[![rabble](https://avatars.githubusercontent.com/u/76?v=4)](https://github.com/rabble "rabble (1 commits)")[![Ramoonus](https://avatars.githubusercontent.com/u/77956?v=4)](https://github.com/Ramoonus "Ramoonus (1 commits)")[![t3rr0rz0n3](https://avatars.githubusercontent.com/u/7691406?v=4)](https://github.com/t3rr0rz0n3 "t3rr0rz0n3 (1 commits)")[![trankten](https://avatars.githubusercontent.com/u/86560527?v=4)](https://github.com/trankten "trankten (1 commits)")[![braintrue](https://avatars.githubusercontent.com/u/89627517?v=4)](https://github.com/braintrue "braintrue (1 commits)")[![Zagur](https://avatars.githubusercontent.com/u/7691406?v=4)](https://github.com/Zagur "Zagur (1 commits)")[![Buage](https://avatars.githubusercontent.com/u/103582788?v=4)](https://github.com/Buage "Buage (1 commits)")[![cdn0x12](https://avatars.githubusercontent.com/u/46210502?v=4)](https://github.com/cdn0x12 "cdn0x12 (1 commits)")[![joergi](https://avatars.githubusercontent.com/u/1439809?v=4)](https://github.com/joergi "joergi (1 commits)")[![k5123](https://avatars.githubusercontent.com/u/9386722?v=4)](https://github.com/k5123 "k5123 (1 commits)")[![mkljczk](https://avatars.githubusercontent.com/u/21127288?v=4)](https://github.com/mkljczk "mkljczk (1 commits)")[![pimvanpelt](https://avatars.githubusercontent.com/u/8853821?v=4)](https://github.com/pimvanpelt "pimvanpelt (1 commits)")

---

Tags

activitypubloopsreelsshort-videossocial-mediasocial-networktiktokvideoTikTok activitypubfediverseloopsreelsjoinLoopsloopsVideo

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/joinloops-loops-server/health.svg)

```
[![Health](https://phpackages.com/badges/joinloops-loops-server/health.svg)](https://phpackages.com/packages/joinloops-loops-server)
```

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.8k2.5k](/packages/unopim-unopim)[bagisto/bagisto

Bagisto Laravel E-Commerce

28.0k175.2k9](/packages/bagisto-bagisto)[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

24.3k69.5k](/packages/grumpydictator-firefly-iii)[leantime/leantime

Open source project management system for non-project managers. Simple like Trello, powerful like Jira. Built with neurodiversity in mind.

11.3k4.0k](/packages/leantime-leantime)[typicms/base

A modular multilingual CMS built with Laravel, enabling developers to manage structured content like pages, news, events, and more.

1.6k20.4k](/packages/typicms-base)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.8M676](/packages/shopware-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
