New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor Docker/Compose #4844
Refactor Docker/Compose #4844
Conversation
I just want to say thank you for spending time on Pixelfed docker. Your ultimate goal, a turn key docker-compose is very exciting and very much needed for Pixelfed. Thank you! |
Thank you for the PR. I am still a bit disappointed of the response, as this PR is building on top of a lot of work done before and yet doesn't mention any. I worry that favoring the voice of one person over the contributions of many might deter some people of contributing, and bring a mentality of overengineering and difficult to read PRs instead of favoring fixes and small iterations. (ofc it comes with the "burden" of answering early and accepting those when they are relevant). |
Saw this too and I think it isn't even jippi's fault. Dan just went through and rather silently closed the other Tickets without writing anything here (yet). We will see if he has anything to say. As feedback to the Pull Request. I don't have too indepth knowledge of docker. I use it mainly as hobby, but run a pixelfed server. I appreciate that jippi made it configurable as I'm not running a default build. I will see how it integrates, but I'm confident it works. |
Hey! I certainly apologize if it looks like I've hijacked/copied/stepped on anything other PRs were doing without attribution! This PR is however just my local fork build over new years that I thought I would love to share back to the community, I honestly hadn't even checked GitHub to see if anyone else had done similar (ADHD + liking this kind of stuff made me dive head first into it on my own). I mentioned this PR in the (now closed PRs) in hope to get some passionate Docker folks to help review this, as it ended up being pretty sizeable and I'm not (yet) super familiar with Pixelfed and Laravel - and as I wrote in the PR comments, I hope to either bring on these changes in this PR, or have them as improvements rebased on top of this one. Re the future on Docker with Pixelfed, I chatted with @dansup on Mastodon about this, and offered to help steward and review future improvements to Pixelfed+Docker (https://mastodon.social/@dansup/111686447576547998) - especially since the open + aged PRs in this repo was predominately Docker related, and @dansup didn't seem very keen on reviewing and merging them (https://expressional.social/@jippi/111685968685079968) |
I understand where you come from and the situation with docker on Pixelfed has been bad for a long while, as I can also be a witness of it. |
i have shutdown my instance. my docker setup does not work anymore and i have no time to fix this |
@Strubbl okay, not sure what to do with that information other than I'm sorry you had a bad experience, and I hope you can provide me (and the community) some feedback on how to do better in the future ❤️ |
I added some helper scripts for Docker users.
|
Is there any idea of when this will be merged? Would love to see some public docker images, this seems like a really great project. |
Just a friendly reminder that this is available on jippi's fork, as well as pixelfed-glitch/pixelfed 😊 |
@Smartich0ke I tail Pixelfed on my "fork" (https://github.com/jippi/pixelfed/tree/jippi-fork) + https://jippi.github.io/pixelfed-docs-next/pr-preview/pr-1/ until its merged - the fork is pure, so no other changes than the Docker related work, so should be a smooth transition to the final merge (eventually) |
Ok thanks! I'll build my own images from the fork for now and switch to official image if it comes available. |
alright, they are also pre-build on my fork https://github.com/jippi/pixelfed/pkgs/container/pixelfed (which the docs also point to) |
Hi jippi, I was wondering if you can help me troubleshoot your container? If you're not interested in that, that's okay, i can go without PixelFed, but I'm having trouble getting the container to connect to my reverse proxy, Traefik. I disabled the built in containers in the env, and commented them out of the docker-compose.yml. The pixelfed worker container seems to go unhealthy and then back to healthy, as well as traefik giving me either a "Bad Gateway" or "Internal Server Error" message depending on which way I want to forward the router. Any help is appreciated but no help is also okay, i know everything here is provided for free without warranty. |
@Wave6677 happy to help - are you in the Discord community so we can do it real time? :) |
Could you send the invite link? I'd love to join it too but I couldn't find it on the website or in the readme. I'm surprised there wouldn't be something like a Martix room since this project is all about decentralization? |
I just joined I think, if it's the one in your copy of the Next documentation :) (I have the absurd username that is very hard to miss) |
I've been playing with the GHCR image and it's really cool! but I've hit a couple of snags. First up, having to load an .env file by mounting it isn't ideal, especially in Kubernetes where you usually set env vars directly when the container runs. Normally, if we need a file, we'd stick it in a ConfigMap or Secret and mount that, but then the file has to be read-only, so no So, what about this: why not just bake the default Sorry if I'm jumping the gun a bit here with the kubernetes stuff. The current system does work fine for standalone docker which is probably what matters most at this point in time. The second thing is after the entrypoint script completes, everything seems well but it appears to hang on this before crashlooping or exiting:
Not sure if this is an issue with my setup or I just have to let the container wait a bit longer? |
Thanks for the work. I usually do this to build the new image $ git pull And that's it. I'll read the new docs to understand the proper way to do it now. Cheers, |
I'm trying to follow the Path A migration but I can't get it working:
I'm guessing I've missed something.... |
please file new tickets for any bugs / issues so they are captured correctly and can be actioned separately ❤️ |
I'm not sure if this is an issue or if I've missed something obvious 😆 I've created a discussion topic instead - #4977 |
Hello friends!
Intro
This is a Request for Feedback (RFC) for improving the Docker experience with Pixelfed!
It's a rather large amount of changes, but I've done my best to document inline why/what things are there for - both to aid in review and for future maintainers/consumers of it.
As an active OSS maintainer myself, I know first hand that big "fly-by" improvements like this can be met with 🙄🙄🙄 and deep sighs for a lot of valid reasons (such as lack of testing, documentation, explanations, etc.) so I've tried my best to make everything relatively accessible and documented from the get-go.
You can read the explanation for a lot of the changes (and the documentation/usage) on my fork branch
Motivation
The motivation for this PR was to improve my own day-to-day experience managing my pixelfed server at https://pixelfed.dk - which is back by Docker and Docker Compose.
I work with big scale platforms and infrastructure in my day job, so when I see an opportunity to improve the Docker experience for myself and others in OSS, I usually jump on it.
Outcomes of the changes
arm64
)amd64
andarm64
) specific caches - they no longer overwrite each otherapt
/pecl
archives and binaries between runsdocker pull
thanks to smaller, more efficient, layers (especially true when pulling updates!)build arguments
for PHP, Composer, and Nginx versionsfpm
andapache
Dockerfiles for easier maintenancenginx
(Nginx + FPM in one container) runtime build target18%
smaller FPM image vs murazaki/pixelfed (from541.56 MB
to443.18 MB
)18%
smaller Apache image vs murazaki/pixelfed (from545.02 MB
to446.41 MB
)71%
smaller FPM image vscontrib/docker/Dockerfile.apache
in tagv0.11.9
(from1480 MB
to443.18 MB
)70%
smaller Apache image vscontrib/docker/Dockerfile.fpm
in tagv0.11.9
(from1490 MB
to446.41 MB
)entrypoint
system for project-specfific configuration (can be added via--volume
indocker run
, for example)DOCKER_HUB_TOKEN
secret set first.Progress updates
Feedback wanted
No
, what concerns/risks/constraints/changes made it undesirable? Can those issues be addressed?X
should be made/improved/created for y'all to be confident in merging it?testing
documentation
automation
training
Note
v0.11.9
tag and notdevelop
- if the changes are interesting to the project, I will rebase and update it to targetdevelop
Prior contributions
This Pull Request incorporates/adopts/tweaks unmerged changes, ideas, and concepts from many other folks
And these closed tickets
Fixed (open) tickets
If this PR doesn't fix the issues, they should be reopened with fresh data and context