Add admin:MediaMoveStorageLocalToCloud and admin:MediaMoveStorageCloudToLocal: - Copy media (+thumbnail) between local and cloud disks, verify by size (and sha256 against original_sha256 when present) before deleting the source. - Integrated GC: delete the verified source copy (local on upload, cloud on download), set version=4 / reset to 3, and bust MediaService/StatusService caches. --keep-local / --keep-cloud opt out. - Manage PF_ENABLE_CLOUD in .env AND the live runtime + config cache so new uploads route to the correct backend mid-migration on a hot server. Uses the installer's atomic .env writer (shared ManagesMediaStorageEnv trait). - --limit / --dry-run / --force. Replaces media:migrate2cloud (CloudMediaMigrate) and media:s3gc (MediaS3GarbageCollector); scheduler now runs MediaMoveStorageLocalToCloud hourly for straggler upload + GC. Keeps media:fix-nonlocal-driver. Adds feature tests (download+GC, --keep-cloud, dry-run, env-flag flip both directions, unknown-disk guard). |
4 weeks ago | |
|---|---|---|
| .ddev | 1 year ago | |
| .github | 4 weeks ago | |
| .vscode | 3 years ago | |
| app | 4 weeks ago | |
| bootstrap | 4 weeks ago | |
| config | 4 weeks ago | |
| database | 4 weeks ago | |
| notes | 4 weeks ago | |
| public | 4 weeks ago | |
| resources | 4 weeks ago | |
| routes | 4 weeks ago | |
| storage | 3 years ago | |
| tests | 4 weeks ago | |
| .dockerignore | 10 months ago | |
| .editorconfig | 3 years ago | |
| .env.docker.example | 4 weeks ago | |
| .env.example | 4 weeks ago | |
| .env.testing | 4 weeks ago | |
| .gitattributes | 3 years ago | |
| .gitignore | 2 years ago | |
| .markdownlint.json | 3 years ago | |
| .node-version | 4 years ago | |
| .shellcheckrc | 3 years ago | |
| CHANGELOG.md | 4 weeks ago | |
| CODEOWNERS | 3 years ago | |
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | 2 years ago | |
| DOCKER_COMPOSE_SETUP.md | 4 weeks ago | |
| Dockerfile | 1 month ago | |
| LICENSE | ||
| README.md | 1 year ago | |
| SECURITY.md | 5 years ago | |
| artisan | ||
| composer.json | 4 weeks ago | |
| composer.lock | 4 weeks ago | |
| crowdin.yml | 5 years ago | |
| docker-compose.test.yml | 4 weeks ago | |
| docker-compose.yml | 4 weeks ago | |
| funding.json | 2 years ago | |
| larastan | 4 weeks ago | |
| package-lock.json | 5 months ago | |
| package.json | 5 months ago | |
| phpstan.neon | 4 weeks ago | |
| phpunit.xml | 4 weeks ago | |
| pint.json | 4 weeks ago | |
| server.php | ||
| webpack.mix.js | 1 year ago | |
README.md
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.
Official Documentation
Documentation for Pixelfed can be found on the Pixelfed documentation website.
Run on YunoHost
Pixelfed app for YunoHost. See the package source code
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.
- Mastodon: @pixelfed@mastodon.social
- E-mail: hello@pixelfed.org
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
- NLnet Foundation and NGI0 Discovery, part of the Next Generation Internet initiative.
This project is supported by:
