Photo Sharing. For Everyone.

Last update: May 16, 2022

Build Status Latest Stable Version License

Introduction

A free and ethical photo sharing platform, powered by ActivityPub federation.

Official Documentation

Documentation for Pixelfed can be found on the Pixelfed documentation 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

GitHub

https://github.com/pixelfed/pixelfed
Comments
  • 1. PixelFed Logo Contest

    The logo contest is now closed. Thank you to all that participated.

    1st place logo: https://github.com/dansup/pixelfed/issues/182#issuecomment-396067684 (congrats @rnarrkus!) 2nd place logo: https://github.com/dansup/pixelfed/issues/182#issuecomment-394402432 3rd place logo: https://github.com/dansup/pixelfed/issues/182#issuecomment-394215601 4th place logo: https://github.com/dansup/pixelfed/issues/182#issuecomment-395436435 5th place logo: https://github.com/dansup/pixelfed/issues/182#issuecomment-394203797

    Winning mascot: https://github.com/dansup/pixelfed/issues/182#issuecomment-395280862

    I will reach out to each winner to handle the prize money transfer!


    Some very generous donors have offered $450 USD to the winning PixelFed logo, and $250 for other prizes!


    A call for PixelFed logos, y'all! Jump in! I will *donate $200USD to the winning #MastoArt'ist that may get picked (this or any other server). You will need to create the logo as well as a hero/header. 2 creative commons released assets. @dansup has full option to pick.

    $200 pledge: https://mastodon.art/@Curator/100142757740094921 for 1st place logo $50 pledge: https://djs.social/@damien/100142799177194385 for 1st place logo $200 pledge: https://mastodon.social/@moritzheiber/100143287247845055 for 1st place logo $200 pledge by https://mastodon.art/@Curator to split between 2nd, 3rd, 4th and 5th place logos ($50 ea)! $50 pledge by @dansup for the winning mascot.


    Rules:

    • This contest is open to anyone, all entries must be posted as a comment to this issue.
    • The contest will be open for ~1 week~ 2 Weeks.
    • I will pick the winning logos and mascot after the contest has closed.
    • Licensed under Creative Commons (CC-BY-SA-4.0).
    • Provide assets in .png & .svg formats
    • Do not downvote or thumbs down an entry, any thumbs down will be considered thumbs up!
    • Please thumbs up the entries you like the most, it will help me decide which one to pick!

    Prizes:

    Place | Contest | Prize --- | --- | --- 1st | Logo | $450 2nd | Logo | $50 3rd | Logo | $50 4th | Logo | $50 5th | Logo | $50 1st | Mascot | $50


    Good luck!

    Reviewed by dansup at 2018-06-03 20:59
  • 2. Relicence Pixelfed as AGPLv3

    I would like Pixelfed to follow in the steps of Mastodon, Pleroma, GNUSocial, Peertube and Friendica in licencing Pixelfed as APGL.

    Why?

    There are numerous reasons why I believe AGPL is a better licence than the MIT licence for such a project, and let me go over my thoughts on the subject.

    Honesty

    The AGPL licence would make instances of Pixelfed legally liable to publish their source code if they create any sort of modification, this promotes a culture of honesty present in the majority of the fediverse.

    Why is Honesty Important?

    One of the major reasons people originally moved to the fediverse from places like twitter is because we can't trust the twitter corporate to have our best interests in mind. One of the reasons we can do this is because the majority of the code is open source, and not only that, individual instances also must publish their source code so we can all benefit mutually from each others work and see that nothing that would breach that trust.

    Consistency

    Because people are forced to share implimentations, we can achieve a consistent user experience. GPL code discourages proprietary implimentations because they must be shared amongst every other developer, who can then see and impliment either a consistent protocol that works in the same way or to even directly lift code from that developer and impliment it in their own project.

    Code will head upstream

    This is more a directly practical example, but you have access to other implimentations that you could merge upstream. This is more the linus argument on the utility of the GPL.

    here is a quote from an article on CIO last year by Linus on the GPL and linux.

    Hohndel, who has been involved with the kernel for a very long time, said that during the past 25 years there have been many challenges, and one of the biggest challenges was the possibility of fragmentation. "How do we keep one single kernel?" he asked.
    
    "I used to be worried about fragmentation, and I used to think that it was inevitable at some point," said Torvalds. β€œEveryone was looking at the history of Linux and comparing it with UNIX. People would say that it’s going to fail because it's going to fragment. That's what happened before, so why even bother?"
    
    What made the difference was the license. "FSF [Free Software Foundation] and I don't have a loving relationship, but I love GPL v2," said Torvalds. "I really think the license has been one of the defining factors in the success of Linux because it enforced that you have to give back, which meant that the fragmentation has never been something that has been viable from a technical standpoint."
    

    Open isn't Free

    I left the 'moral' argument for last because I'm not certain where you stand on Free vs Open Source Software. If you do not swap you would be the only permissively licenced relevant implimentation of Activitypub. This would allow easy corporate entry into our ecosphere which is largely dominated by freedom respecting implimentations. Provided they become popular, they could impliment proprietary extensions to the protocol and cause people to race to keep up if they become a major player in the ecosphere. Your implimentation could in essence, be a trojan horse for a much worse player in the ecosphere.


    Please consider my thoughts and change the licence to AGPLv3.

    Reviewed by oct2pus at 2018-06-02 17:19
  • 3. Image orientation not detected in compose UI

    Trying to upload portrait photos, the orientation doesn't get correctly detected and they're displayed as landscape both in the "Create Post" dialog as well as on the feed once uploaded.

    Reviewed by muesli at 2019-03-23 02:44
  • 4. Can't change profile picture on pixelfed.social

    Steps to reproduce:

    1. Go to Account Settings
    2. Click "Change Profile Photo"
    3. Choose file, "Upload" button remains dimmed but clickable
    4. Click "Upload," nothing happens.
    Reviewed by v7rzlhb3xg at 2018-12-18 02:49
  • 5. Similarity between multi-colour Pixelfed and Apple Photos logo

    I don't know whether this is a big problem, but at least the multi-colour version of the new Pixelfed logo looks very much like the logo of Apple's Photos app

    It's probably important to think about whether this can be problematic

    ohne titel apple-photos-app-logo

    Reviewed by jumoru at 2018-06-18 14:13
  • 6. Support PostgreSQL or MariaDB

    It seems you support only MySQL server which is packaged by none of the majors Linux distributions today.

    Is it possible to support either PostgreSQL or MariaDB just to allow administrator to easily deploy PixelFed ?

    Reviewed by AMDG2 at 2019-01-11 14:26
  • 7. Usernames with symbols are not searchable

    For some reason, my account @[email protected] can not be found with the search on pixelfed.social. It can be found on other federated servers like mastodon.social. It doesn't matter if I search for the full name with instance, just the name or with/without the '@' in front. This is both true for me searching for myself as well as friends searching for me.

    I tried to search for other accounts and found that some are also not discover-able. Common issue seems to be a special character like '_' or '-' in the name.

    Reviewed by Chaos99 at 2019-01-13 19:19
  • 8. Allow login using username as well

    Expected behavior

    I can log in with my email address or my username.

    Actual behavior

    I can only use my email address to log in.

    Rationale

    Usernames are unique as well as email addresses, which makes them a valid identifier to log in. And they usually are shorter, which makes them more convenient.

    Reviewed by MrPetovan at 2018-10-05 14:05
  • 9. Basic features don’t work (Direct messages and filters no longer work)

    When trying to send a direct message it appears the admin of the instance is unable to send the message nor does a user is able to send a direct message to another user but a user can only send a direct message to the first admin that too lands in filtered messages and cannot be opened else the link breaks as the following image.

    when attempted to open the filtered message or when a user is trying to send to direct message another user the following errors shows up page is broken

    (simply a user cannot send a direct message to another user)

    C759ACFA-B25E-4AFE-ADDF-A1AE5579679E

    0C3A1D26-A8C4-4833-836E-BA8A965A4A19

    Filters don’t apply either see the following image attached

    6D6A809C-7905-4A5B-BD6B-E8C5F9F0560D 7DC7BC65-B4E1-4115-8DAE-28BC8EAB07A8 E5171BC6-F61A-45F3-9D47-86183D1F372D 113B12EE-8613-4909-A885-D3A788CAE57E

    Post editing link is broken as well see the following attached

    0A6614C2-2933-46B8-83E3-D33B6912E101 D9C16F26-5163-44C3-A11F-4A661DC409D7

    Reviewed by deez17 at 2021-04-14 23:45
  • 10. "Duplicate uri key" while performing migrations

    I'm following the instructions to update on: https://docs.pixelfed.org/running-pixelfed/administration.html

    when I do php artisan migrate --force it's giving me the following problem:

    Migrating: 2019_08_12_074612_add_unique_to_statuses_table

    Illuminate\Database\QueryException : SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'https://libertalia.world/@capmisson/102606330120238894' for key 'uri' (SQL: ALTER TABLE statuses CHANGE uri uri VARCHAR(191) DEFAULT NULL UNIQUE COLLATE utf8mb4_unicode_ci)

    at /var/www/vhosts/pixelfed/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664 660| // If an exception occurs when attempting to run a query, we'll format the error 661| // message to include the bindings with SQL, which will make this exception a 662| // lot more helpful to the developer instead of just the database's errors. 663| catch (Exception $e) { 664| throw new QueryException( 665| $query, $this->prepareBindings($bindings), $e 666| ); 667| } 668|

    Exception trace:

    1 Doctrine\DBAL\Driver\PDOException::("SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'https://libertalia.world/@capmisson/102606330120238894' for key 'uri'") /var/www/vhosts/pixelfed/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:119

    2 PDOException::("SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'https://libertalia.world/@capmisson/102606330120238894' for key 'uri'") /var/www/vhosts/pixelfed/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117

    Please use the argument -v to see more details.

    My system is Debian Stretch with php from sury.org

    The error occurs php7.2 and php7.3.

    Is there any way to purge the database for duplicated entries?

    Reviewed by capmisson at 2019-09-11 11:42
  • 11. [Masterpost] Missing functionality and related issues from the beta launch

    Figured it'd be good to maintain a list of things that are currently missing and would be expected to be implemented.

    Timeline/posts

    Posts

    • [x] ~Posting UI should be separated from timeline (#89, #86 #168, fixed #349 )~
    • [x] ~Post without a caption (#110)~
    • [x] ~Show caption limit before posting (#121, fixed by #127)~
    • [x] ~Show size/format limit before posting~
    • [ ] Preserve caption for editing if too long (#236)
    • [x] ~Show live character count for JS users (#346)~
    • [x] ~Preview image before posting (#171)~
    • [x] ~Preview multiple images before posting (https://github.com/dansup/pixelfed/issues/171#issuecomment-397224719, fixed by #524 )~
    • [x] ~Delete images (#98)~
    • [x] ~Show own posts in personal timeline (#85) (fixed by #190)~
    • [x] ~Filters~
    • [x] ~Separate filters for each image in album (#266, fixed in #524)~
    • [x] ~Edit filters after upload (#798)~
    • [ ] Edit album order (#798)
    • [ ] Embed code (currently #) (#776)

    Likes

    • [x] ~Indicate liked posts with filled heart rather than underline (#70) (fixed #186 #187 #188)~
    • [x] ~Indicate liked posts on post page, not just on timeline (#207)~
    • [ ] Animation for liking a post (potentially fixed by #222)
    • [x] ~Storing liked/unliked state without having to refresh the page (#87) (fixed by #186)~
    • [x] ~Listing who liked a post (#213)~

    Comments

    • [x] ~Comment button should link to all comments (#161)~
    • [x] ~Load more comments~
    • [x] ~Parse mentions (#231)~
    • [x] ~Parse hashtags~
    • [x] ~Parse links~
    • [x] ~Like comments~
    • [x] ~Reply to comments~
    • [x] ~Delete comments (#97)~
    • [x] ~Show comment in context on permalink (#234)~
    • [ ] Show live character count for JS users
    • [ ] Preserve comment for editing if too long (WIP #236)

    Save

    • [x] ~Saving posts not implemented fully -- can't unsave posts (#64)~

    Search/tags:

    • [x] ~Hashtag suggestion breaks with 3+ characters or # sign (#76, fixed by #488)~
    • [ ] Sort tag suggestions by how many posts they have
    • [x] ~Irregular suggestions (#88)~
    • [x] ~Hashtag page avatars (#69)~

    Discover:

    • [x] ~Scroll through profile suggestions, show more than just 3 at a time (deprecated)~
    • [x] ~Allow for temporarily / permanently clearing a suggestion (deprecated)~
    • [x] ~Do not clear suggestion immediately after following (only clear on page refresh, to allow undo) (deprecated)~
    • [x] ~Do not suggest your own account (#74) (fixed by #108) (deprecated)~
    • [x] ~Uniform square thumbnails (potentially fixed by #168)~

    Activity:

    • [x] ~"Follow" button should change after following someone (#63) (fixed by #95)~
    • [x] ~Notifications of liked posts should link to those posts (#58)~
    • [ ] New notification indicator

    Profile:

    • [x] ~Count only images as "posts" (#84) (fixed by https://github.com/dansup/pixelfed/commit/ae6a59e782713bfd73924dbf271e646fe00bc656)~
    • [x] ~Follower/following lists should allow un/following accounts (#65) (fixed by #105)~
    • [x] ~Detect and regenerate failed thumbnails (#67)~
    • [x] ~Unsave posts from "Saved" tab~
    • [ ] Parse mentions in bio
    • [ ] Parse hashtags in bio
    • [ ] Parse links in bio
    • [ ] Allow editing bio directly from My Profile
    • [x] ~Show bio on follower/following pages~

    Settings:

    • [x] ~Character count while setting bio (#59)~
    • [x] ~Reduced motion (#226)~
    • [ ] Finish user settings (#3)
    • [x] ~Change avatar/email~
    • [x] ~Email/notification/~privacy~/security settings~
    • [ ] Import/export data (#814)
    • [x] Applications/Developers OAuth

    Documentation:

    • [x] ~"About" is sparse~
    • [x] ~"Features" (removed)~
    • [x] ~"Help" (some empty pages)~
    • [ ] "Fediverse" is sparse
    • [ ] "Open source" is sparse
    • [x] ~"Terms"~
    • [x] ~"Privacy" policy~
    • [ ] "Platform"/API terms is orphaned https://pixelfed.social/site/platform
    • [x] ~"Libraries" (removed)~

    Footer links:

    • [x] ~"API" links to /timeline instead of api docs~
    • [x] ~"Directory" (removed)~
    • [x] ~"Profiles" (removed)~
    • [x] ~"Hashtags" (removed)~
    • [x] ~"Language" links nowhere~
    • [x] ~"C 2018 PIXELFED.ORG" links nowhere (should link to pixelfed.org?)~
    • [x] ~is copyright even the right symbol here? Shouldn't it instead reflect the license of the project somehow?~

    Registration (#373):

    • [ ] Terms
    • [ ] Data policy
    • [ ] Cookie policy

    Other things on the roadmap:

    • "Major features" (#6)

      • [x] ~Image albums/video upload~
      • [ ] ~Mentions~/DMs
    • [x] ~View public timeline while logged out (#214, replaced with Discover page)~

    Reviewed by trwnh at 2018-06-01 06:58
  • 12. Video does not show, only audio plays

    I uploaded videos directly from my phone, and the visuals do not show. When the video plays, there's a black box and only audio. I have tried Firefox and Chrome on both Windows 10 and MacOS, as well as opening pixelfed in Ecosia and Chrome on my phone.

    https://pixelfed.social/i/web/post/419851738638626864

    Sample video that does not show visuals.

    Reviewed by Magess at 2022-05-21 15:09
  • 13. Add option for automatic show hidden content

    Some content on Pixelfed is hidden (for example mature content). If you want to see that content, you always have to click "Show it", for every single post. I think it would be useful to have an option that, when enabled, automatically unlocks all hidden content. The option will be disabled by default, and the user has to go in the settings in order to enable it.

    Reviewed by FinixFighter at 2022-05-21 15:04
  • 14. No link to /discover/places in Metro UI 2

    It seems there is no link to /discover/places in Metro UI 2, at least for the life of mine I can't find it in the UI, or by searching the page sources. The "discover" page does not conatin one, either.

    This is particularly annoying since I need to check it whenever I want to add a location to a post, place search does not come up with anything and I want to at least pick a nearby town.

    Reviewed by rfkat at 2022-05-21 07:54
PHP Database Migrations for Everyone
PHP Database Migrations for Everyone

Phinx: Simple PHP Database Migrations Intro Phinx makes it ridiculously easy to manage the database migrations for your PHP app. In less than 5 minute

May 22, 2022
πŸ“› An open source status page system for everyone.

Cachet is a beautiful and powerful open source status page system. Overview List your service components Report incidents Customise the look of your s

May 23, 2022
PHP Database Migrations for Everyone
PHP Database Migrations for Everyone

Phinx: Simple PHP Database Migrations Intro Phinx makes it ridiculously easy to manage the database migrations for your PHP app. In less than 5 minute

May 22, 2022
Laravel API starter Kit will provide you with the tools for making API's that everyone will love
Laravel API starter Kit will provide you with the tools for making API's that everyone will love

Laravel API Starter Kit Laravel API starter Kit will provide you with the tools for making API's that everyone will love, API Authentication is alread

May 11, 2022
πŸ“› An open source status page system for everyone.

Cachet is a beautiful and powerful open source status page system. Overview List your service components Report incidents Customise the look of your s

May 13, 2022
a framework for WebDevelop based on the mvc structure. The name of this project for Fun because everyone can use it. Completely simple and powerful structure for all your projects

A_A (-.-) β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ |-| β–ˆβ–„β”€β–„β–„β”€β–ˆβ–„β”€β–ˆβ–ˆβ”€β–„β–ˆβ”€β–„β–„β–„β–„β–ˆβ”€β–„β–„β–„β–„β–ˆβ–„β”€β–ˆβ”€β–„β–ˆβ”€β–„β–„β–„β”€β–ˆβ–ˆβ–€β–„β”€β–ˆβ–ˆβ”€β–„

Mar 27, 2022
Just a simple Framework for Furries (or everyone)

FurrWork A simple framework for Furries (Or Everyone). This is a little framework of FurrApp Project Estructure app folder config The config files (De

Nov 11, 2021
Hi everyone! This is our repository for our final project in college. We're sorry if so many bug or error. Thank You

About The Project Hi everyone! This is our repository for our final project in college. We're sorry if so many bug or error. Thank You About Laravel L

Dec 9, 2021
πŸ“› An open source status page system for everyone.

Cachet is a beautiful and powerful open source status page system. Overview List your service components Report incidents Customise the look of your s

May 25, 2022
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee A great looking and easy-to-use photo-management-system. Since the 1st of April 2018 this project has moved to it's own Organisation (https://g

May 14, 2022
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee A great looking and easy-to-use photo-management-system. Since the 1st of April 2018 this project has moved to it's own Organisation (https://g

May 22, 2022
Another web based photo gallery
Another web based photo gallery

Phyxo Simply share your images. Requirements This project use severals librairies that need at least PHP 7.3.0 This project uses a database and suppor

Feb 24, 2022
Manage your photos with Piwigo, a full featured open source photo gallery application for the web. Star us on Github! More than 200 plugins and themes available. Join us and contribute!
Manage your photos with Piwigo, a full featured open source photo gallery application for the web. Star us on Github! More than 200 plugins and themes available. Join us and contribute!

Manage your photo library. Piwigo is open source photo gallery software for the web. Designed for organisations, teams and individuals. The piwigo.org

May 19, 2022
Game Boy Camera Wifi Photo Extractor
Game Boy Camera Wifi Photo Extractor

Game Boy Camera Fast Wifi Adapter Plug in your Game Boy Camera, turn it on, and you can have the photos on your phone in under 2 minutes! Why I Made I

Apr 20, 2022
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
 A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

May 24, 2022
The project provides a docker image for Files App(files.photo.gallery).
The project provides a docker image for Files App(files.photo.gallery).

For the purpose of learning,I replace the files.js with cracked version which just remove authorization code.

Apr 13, 2022
Laravel Framework 5 Bootstrap 3 Starter Site is a basic application with news, photo and video galeries.
Laravel Framework 5 Bootstrap 3 Starter Site is a basic application with news, photo and video galeries.

Laravel Framework 5.1 Bootstrap 3 Starter Site Starter Site based on on Laravel 5.1 and Boostrap 3 Features Requirements How to install Application St

May 7, 2022
Dynamic photo package for blog posts and other features, integrating CKEditor Smart WYSIWYG
Dynamic photo package for blog posts and other features, integrating CKEditor Smart WYSIWYG

Dynamic Photo Dynamic Photo is a package to assist in integration with CKEditor, a powerful WYSIWYG. With the package it is possible to send photos dy

Jul 4, 2021
A Laravel 5.5 Photo Tagging Web Application
A Laravel 5.5 Photo Tagging Web Application

_ ____ __ ________ ______ | | / / /_ ____ _/ //_ __/ /_ ___/_ __/___ _____ _ | | /| / / __ \/ __ `/ __// / / _

Mar 26, 2022