Photo Sharing. For Everyone.
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
Ashley 24e278759a Prune home feed members that no longer render
A member whose status has been deleted, or which cannot be resolved for
any other reason, was dropped from the page and left in the sorted set.
The feed then went on reporting hundreds of members while serving an
empty page, and nothing in the system ever removed them. The hydration
pass now removes such a member as it finds it and logs once per request
when it pruned anything.

Removing the last member makes Redis drop the set, so the feed becomes
genuinely absent and is rebuilt in the same request. That cannot loop:
the key is gone, so the branch is unreachable a second time.

Drops are also counted by reason now, because the reason decides what the
response is allowed to do. A page the viewer explicitly filtered out is
not a defect to recover from, so it still prunes nothing and runs no
query.
7 days ago
.ddev Update redis Docker tag to v8 3 weeks ago
.github Update localization-crowdin.yml 1 week ago
.vscode Clean up slop 4 weeks ago
app Prune home feed members that no longer render 7 days ago
bootstrap Add BlockSyncReconcile scheduled command 4 weeks ago
config Merge pull request #7787 from pixelfed/staging 1 week ago
database Update 2026_10_07_000001_normalize_legacy_user_filter_morph_types.php 1 week ago
lang Localization update 1 week ago
notes
…
public chore: run localization:export 1 week ago
resources chore: run localization:export 1 week ago
routes Add account delete api route 2 weeks ago
storage
…
tests Prune home feed members that no longer render 7 days ago
.dockerignore
…
.editorconfig
…
.env.captcha
…
.env.docker.example
…
.env.example
…
.env.testing
…
.gitattributes
…
.gitignore Update .gitignore 2 weeks ago
.markdownlint.json
…
.node-version
…
.npmrc
…
.shellcheckrc
…
CHANGELOG.md
…
CODEOWNERS
…
CODE_OF_CONDUCT.md
…
CONTRIBUTING.md
…
DOCKER_COMPOSE_SETUP.md
…
Dockerfile Remove empty line in Dockerfile 4 weeks ago
LICENSE
…
README.md Update README.md 2 weeks ago
SECURITY.md
…
artisan
…
composer.json chore: upgrade brick/math to ^1.0 2 weeks ago
composer.lock Update composer.lock 1 week ago
crowdin.yml Update commit message settings in crowdin.yml 1 week ago
docker-compose.test.yml
…
docker-compose.yml Update redis Docker tag to v8 3 weeks ago
funding.json
…
package-lock.json Merge pull request #7616 from pixelfed/dependabot/npm_and_yarn/proxy-addr-2.0.8 3 weeks ago
package.json Bump axios from 1.16.0 to 1.20.0 3 weeks ago
phpstan.neon
…
phpunit.xml Use array limiter store in tests 3 weeks ago
pint.json
…
psalm-baseline.xml
…
psalm.xml
…
rector.php
…
server.php
…
webpack.mix.js
…

README.md

Pixelfed logo

Latest Stable Version License Total Pixelfed users from FediDB

Introduction

Photo sharing the way it should be. Pixelfed lets your casual shots and creative photography find their audience naturally, without algorithmic barriers. Join millions of people sharing across the fediverse.

Pixelfed web user interface in light mode

AI-Generated Contributions

AI-generated contributions are not accepted.

Pull requests, patches, documentation, translations, issues, or other contributions that are substantially generated by generative AI or large language models will not be accepted.

Contributors are expected to understand, author, and take responsibility for the work they submit. Tools such as linters, formatters, autocomplete, spellcheckers, and other non-generative development tools are unaffected by this policy.

PHP Support

Notice: While older unsupported PHP versions might work, we recommend using the recommended version.

  • PHP 8.5 (Recommended) - Our baseline for testing/Docker images.
  • PHP 8.4 (Supported) - Active support ends 31 Dec 2026.

Reference: https://www.php.net/supported-versions.php

Database Support (Please report any regressions)

  • MySQL 8+ is officially supported (Strict mode is not default).
  • MariaDB 11+ is officially supported (Strict mode is default).
  • PostgreSQL 14+ is best effort as of writing (Not recommended).

Notice: We need to improve the ecosystem to test/validate the codebase to be database agnostic, but this will require considerable engineering effort. Thank you for your understanding.

Official Documentation

  • As of September 2026, we recommend using Docker compose to run your instances. Non-docker is obviously supported, but the Dockerfile will be maintained and updated with best practices and latest releases.

Documentation for Pixelfed can be found on the Pixelfed documentation website.

API/Developer Documentation

API and Developer documentation for Pixelfed can be found on the Pixelfed Developers website.

License

Pixelfed is open-sourced software licensed under the AGPL license.

Communication

The ways you can communicate on the project are below. Before interacting, please read through the Code Of Conduct.

Pixelfed Sponsors

We would like to extend our thanks to the following sponsors for funding Pixelfed development. If you are interested in becoming a sponsor, please visit the Pixelfed Patreon Page

This project is supported by:

Host your own instance with these unofficial cloud providers

Install on YunoHost Pixelfed app for YunoHost. See the package source code

Deploy on RepoCloud

Deploy to ZopDay

Deploy on Pethost