prosody / prosody-docker

Docker image building system for the Prosody XMPP server
https://hub.docker.com/r/prosody/prosody/
147 stars 49 forks source link

Restore automated Docker image publishing #72

Open sepek opened 3 years ago

sepek commented 3 years ago

Most recent version of Prosody is 0.11.10 released on 2021-08-03 not available at https://hub.docker.com/r/prosody/prosody/ https://blog.prosody.im/prosody-0.11.10-released/
Please provide an image for it.

Zash commented 3 years ago

We switched build / CI system and have yet to rig it up with Docker image creation. Sorry for the delay. Hopefully we will get to it before the next release.

LeSpocky commented 2 years ago

Meanwhile 0.11.12 is available with an important security fix. @Zash, @mwild1 could you please look into this? 😇

mwild1 commented 2 years ago

Yes, I'll try to look at it later this week. Unfortunately I have an important deadline that I'm working towards in the next couple of days.

A reminder that you should be able to easily use the Dockerfile here to build your own images. That's part of the goal of Docker :)

I'll post back to this issue with news soon, hopefully!

LeSpocky commented 2 years ago

A reminder that you should be able to easily use the Dockerfile here to build your own images. That's part of the goal of Docker :)

Unfortunately, this is not so easy. README.md says:

Note: Using this Dockerfile outside of our build server is not a supported use-case.

The reason is you use a file prosody.deb which is not part of this repo. I guess it is generated by your build server?

mwild1 commented 2 years ago

The reason is you use a file prosody.deb which is not part of this repo. I guess it is generated by your build server?

Yes, the .deb file is the same one that's available in our package repository. Here's a direct link to the relevant .deb file for amd64 systems: https://packages.prosody.im/debian/pool/main/p/prosody/prosody_0.11.12-1~buster1_amd64.deb (more here)

zombiehoffa commented 2 years ago

so this has been broken for a year and a whole major release cycle at this point? Is there any plan to get the docker images in docker hub updating again? Or are the updated ones being hosted elsewhere or something?

mwild1 commented 2 years ago

Yes, it has, and yes, there is a desire to get them working again.

It's probably half a day of work, but I'm not finding much time for non-urgent infrastructure tasks right now. I've been working on authentication and account security improvements in Prosody thanks to a grant. If I don't meet milestones for that, I don't get paid, and if I don't get paid I can't pay my bills.

I understand it can be frustrating - it can be frustrating to me! But this is the reality of open-source. We don't have regular steady income to sustain the development of the project. The vast majority of the project activities happen on volunteered time, which is highly variable. Despite the drawbacks, we consider this better than many of the alternatives (Prosody Enterprise Edition, anyone?)

So, expect me to randomly find half a day free to work on this and be pleasantly surprised by a "fixed" notification at some point. But despite a desire to see this done, I can't provide any fixed date for when that might be able to happen.

Meanwhile, instructions for building images yourself are earlier in this thread.

Hope this helps explain the situation, and how such an issue can linger unresolved for so long.

zombiehoffa commented 2 years ago

How much money do you need to get this fixed more quickly?

mwild1 commented 2 years ago

Funding for singular small tasks doesn't really work out for various reasons, primarily because it would be necessary to amass a lot of such tasks to allow a single developer to work and get paid for a month. Long-term funding opportunities such as grants and consulting contracts offer more stability.

In other words, if an open-source developer can choose between a grant or contract that would allow them to work on a range of issues for e.g. 6 months, or an offer of a half-day payment for a single task with no how to earn money through the rest of the month, it's obvious that the former is the only reasonable choice.

If you're really interested in supporting the project in some way, feel free to email developers@prosody.im and we can see what can be worked out. The project itself doesn't have any organization/company behind it, but individual developers may be up for paid work, if they are available.

sepek commented 2 years ago

So to give you a proper number: about 80.000€. That should suffice for paying a developer half a year. Anyways, thanks for all your efforts. I really appreciate it. Maybe take the images offline as long as you can't provide new ones. It's fine to cut down features. And as long as this repository still exists. People can take care of it themselves.

mwild1 commented 1 year ago

Hi folks,

I've been working on (re-)adding Docker outputs to our CI system. I have an image ready for testing :tada:

The image prosodyim/prosody:0.12 is multi-arch and based on debian:bullseye-slim with the prosody-0.12 package installed (this is the latest nightly build from our stable branch).

At this point I'm basically looking for a couple of people to give it a quick spin, and see if there are any obvious issues. If not, I'll add automated builds for 0.11 (since that's technically still a supported branch) and the latest stable release. The final images will be pushed to prosody/prosody. In the future we may also add additional image flavours, such as a tiny version based on alpine, for example.

The new images also support more environment variables for basic configuration than the old images did. I don't have time to document them right now, but I'll aim to do that this week. You can inspect the prosody.cfg.lua in the repo and container to get an idea of what's possible in the meantime.

Let me know how it goes!

mwild1 commented 1 year ago

I just added some new test images, so now we have:

These are only temporary, for testing, and will eventually migrate to the existing prosody/prosody.

I also added documentation of the environment variables: https://prosody.im/doc/docker#environment-variables

Pinkbyte commented 1 year ago

I confirm successful migration from prosody/prosody:0.11 to prosodyim/prosody:0.11 and later - to prosodyim/prosody:0.12 image. Plugins installation(new feature in 0.12 releases) are broken in 0.12 image, so keep that in mind. I failed to migrate to it from manually synced prosody-modules community repo. Some kind of problem with LuaRocks when trying to install plugin, i did not save logs, sorry.

Anyway, just my 2 cents that if something works for you in old 0.11 images it should work with new images too.

mwild1 commented 1 year ago

Thanks for the feedback! (I haven't had any other so far).

I probably won't be able to look at this now until after FOSDEM in a few weeks, but I think at this point it will be a simple switch to push the new images live in place of the old ones.

Zash commented 1 year ago
~$ podman exec prosody prosodyctl install --server=https://modules.prosody.im/rocks/ mod_unified_push
Installing mod_unified_push in /var/lib/prosody/custom_plugins

Error: Failed finding Lua header files. You may need to install them or configure LUA_INCDIR.
Installing https://modules.prosody.im/rocks/mod_unified_push-13-1.src.rock

Looks like https://github.com/luarocks/luarocks/issues/1275

poVoq commented 1 year ago

When trying to run the :0.12 image with Podman (in rootful mode) I get the following error:

usermod: UID '0' already exists

And it fails to start.

Zash commented 1 year ago

@poVoq that looks like you are using the old images, not the new ones.

poVoq commented 1 year ago

no I was using prosodyim/prosody:0.12

Anyways, I switched to a dockerless system for Prosody now.

Zash commented 1 year ago

Huh, I thought the new images did not have this stuff

https://github.com/prosody/prosody-docker/blob/bfa98dcb304298f216d027a2d75137179b99c56c/entrypoint.sh#L5-L7

but apparently

https://github.com/prosody/prosody-docker/blob/bfa98dcb304298f216d027a2d75137179b99c56c/ng/entrypoint.sh#L5-L7

merwan commented 1 year ago

@mwild1 I migrated successfully from prosody/prosody:0.11.5 image to prosodyim/prosody:0.11 without doing any configuration change apart from changing the docker image tag. Running the about command gives me this result:

Prosody 0.11 nightly build 143 (2022-01-24, 458c5f8d5d3e)

Which looks to be the version 0.11.13 of prosody.

I won't upgrade to v0.12 for the time being, but I will let you know when I do. Thanks for providing this new image with the security fix for v0.11

SkyBird233 commented 1 year ago

I have successfully migrated from a custom Docker image of Prosody (utilizing the official Prosody 0.12.0 DEB file) to a locally built version using files directly from the 'ng' folder of this repository. The Prosody version is 0.12 nightly build 209 (2023-08-30, a2ba3f06dcf4), and everything is working properly without any configuration changes.

I'm looking forward to the official image becoming available soon.