Pixelfed, Federated Image Sharing
-
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.
-
I solved issue number one today using those config parameters for AP:
## Activity Pub ACTIVITY_PUB=true AP_REMOTE_FOLLOW=true AP_INBOX=true AP_SHAREDINBOX=true AP_OUTBOX=true ATOM_FEEDS=true NODEINFO=true WEBFINGER=true
Furthermore I got the information that in ordner to make federation work you need to follow a person from another instance and a person of this instance need to follow you so the other instance knows about yours.
-
@stantropics +1, will you be submitted a PR to @doodlemania2 's repo?
I am just finishing up metabase, I can look into getting pixelfed published after that.
-
@stantropics said in Pixelfed, Federated Image Sharing:
Unfortunately, something like
COPY .env /app/data/storage/config/.env
RUN ln -fs /app/data/storage/config/.env /app/code/pkg/.envin the Dockerfile does not work. Pixelfed can't load the config correctly as it throws errors during startup.
That is normal. As
/app/data
is a volume, it does not exist yet during build time, it is only there at runtime. So you cannot put stuff there in the dockerfile and expect it to be there. You can, however, do just theln
part, and do the copy as acp
instart.sh
. -
@girish said in Pixelfed, Federated Image Sharing:
@stantropics +1, will you be submitted a PR to @doodlemania2 's repo?
This is now done.
@mehdi said in Pixelfed, Federated Image Sharing:
That is normal. As
/app/data
is a volume, it does not exist yet during build time, it is only there at runtime. So you cannot put stuff there in the dockerfile and expect it to be there. You can, however, do just theln
part, and do the copy as acp
instart.sh
.Makes sense! However, the code does work. When I do a
cat /app/code/pkg/.env
inside the apps terminal (in recovery mode as it won't start up) it prints the entire and correct config.
I have created this issue to work on it:
https://git.cloudron.io/doodlemania2/pixelfed/-/issues/1If someone can help to move the config I would appreaciate it.
-
@stantropics said in Pixelfed, Federated Image Sharing:
However, the code does work
Yes, that's because docker has a "feature" that if it copies files from the docker image into a volume on first run. So, if you put files in /app/data in Dockerfile, it gets copied over on first run into the /app/data volume. For cloudron packages, we don't use this feature (by convention) since this feature is kind of arcane.
-
The genius @mehdi helped to finally get the config-problems solved. I have put everything in a MR under https://git.cloudron.io/doodlemania2/pixelfed/-/merge_requests/4
- Config rework
- Activity Pub activation
- Move config to /app/data
Now let's get this official
-
@doodlemania2 Just did it, worked well, thanks. But it seems to start out with 256MB of ram, and crashes right away. Anyway to have it start with more ram?
-
@scooke Latest MR is not merged yet. I am increasing RAM in this one:
https://git.cloudron.io/doodlemania2/pixelfed/-/merge_requests/4/diffs?commit_id=bba93ea1da4da8c83388014361ea85db120b1bb3However, my first test shows that it is still not enought. For me, this only happens after setup. After this it runs smooth, even with 256MB of RAM.
-
@stantropics Interesting, yes, I noticed the same thing. But I increased the ram anyway to 2048.
-
@stantropics true
-
I've merged that in @stantropics ... @girish may not accept it for production given it uses /app/data, but maybe!
-
@mattp Honestly I'd wait. If you need ActivityPub right now, Nextcloud has an addon you can install to enable it. Which would allow you to speak to friendica, Matodon, pleroma, etc etc.
Then once this is in the appstore, you can move your data.
-
@doodlemania2 I have started the work here https://git.cloudron.io/cloudron/pixelfed-app