Pixelfed, Federated Image Sharing
-
@murgero the app lives in data, not code, so it should be okay, but I'm open to putting it in the Dockerfile anyways to make initial startup faster. One of the challenges is that upstream doesn't do releases, we're just pulling from a branch. Will ponder some more on it though.
-
@doodlemania2 EDIT: Nevermind - I see now how you have to set it up. The only change I would make is instead of copying from /app/code/pkg, I would just put the source in /app/data/ so the user can dynamically update their instance.
-
So, /app/data isn't available to work with during docker build, so it has to be in startup.sh, but once the app gets published, it will stay current via CR's processes and of course, end customers are able to modify /app/data as they see fit via terminal.
One thing I'm struggling with (almost fixed), is how to copy everything from pkg over to the /app/data inclusive of dot files and folders, otherwise, artisan gets fussy. More soon!
-
@doodlemania2 Yes it is, just put this at the top of Dockerfile:
RUN mkdir -p /app/data
-
Just a quick update to those watching this space. I've got the app loading the DB and getting up and running now. Last things to deal with are:
- An apache error that throws out a 403, probably my .htaccess
- Moving the logs to /run
- Try one more time to leverage /app/code but at least this way works!
-
The app is finished packaging and works pretty well! Final Cloudron specific tweaks like tests, medialinks, etc and then I guess it can publish. If you want it now, you can grab it from my repo: https://git.cloudron.io/doodlemania2/pixelfed and do cloudron install
-
@doodlemania2 How does it handle cloudron server reboots? Has this been tested? It wont try to reinstall pixelfed will it
Do you have documentation on how to update the code on new releases of pixelfed?
-
It's destined to be a standard app for Cloudron so will support server reboots, etc. Some tweaks will need to be made by the CR teams for it to move into the app store but will work with them on those over the coming days.
-
@doodlemania2 Awesome, thank you so much! I would love to test it, but do you know if there is any way to "migrate" once its release officially in the appstore?
-
@stantropics You would need to backup and restore the database and public files (like user uploads since PixelFed is an image hosting service like IG)
-
Correct, also make sure to do a backup of the database. The app as it is now supports the in built cloudron backup, so it SHOULD work for you, but no promises
-
Pixelfed can be accessed on Android from Fedilab --- a multifunctional client to access the distributed Fediverse
https://f-droid.org/en/packages/fr.gouv.etalab.mastodon/ -
-
@Hillside502 @jdaviescoates is correct - AP is short for ActivityPub (the backend for communication in Mastodon, and a supported protocol in Pixelfed )
-
Hi, I am not a expert but I understand many things and I am learning everyday, can you guide me how to use your package on Cloudron? or point me where to look?
Thanks in advice, and thanks to @murgero that point me out about your package.
-
You can clone the repo locally and deploy it with the Cloudron CLI: https://cloudron.io/documentation/custom-apps/cli/#installing
-
@doodlemania2 thanks
-
Thanks to @doodlemania2, @mehdi, @girish and everybody who has worked on this so far - it looks pretty good and I cannot wait to have it as an official app.
Just wanted to share my current experience and my thoughts with the community.
While testing it I found there are two aspects that can be improved:- Federation does not work and even configuring it in .env to
ACTIVITY_PUB=true REMOTE_FOLLOW=true ACTIVITYPUB_INBOX=true ACTIVITYPUB_SHAREDINBOX=true
doesn't seem to make it work. I'm tinkering with it but haven't found a solution so far.
- .env should be placed somewhere under /app/data so it can be edited by the user (e.g. for changing the instance name, activating/deactivating ActivityPub, setting max filesize etc.).
Unfortunately, something like
COPY .env /app/data/storage/config/.env RUN ln -fs /app/data/storage/config/.env /app/code/pkg/.env
in the Dockerfile does not work. Pixelfed can't load the config correctly as it throws errors during startup.