View Issue Details

IDProjectCategoryView StatusLast Update
0005655unrealircdpublic2022-02-04 00:22
Reportersyzop Assigned To 
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status newResolutionopen 
Summary0005655: unrealircd docker
Descriptionwould it be useful to make an official supported version of this?
and if we do, how will we organize things and what settings to use, how to deal with 3rd party modules, etc...
TagsNo tags attached.
3rd party modules

Activities

BlackBishop

2021-01-08 13:10

reporter   ~0021871

I think yes. I run many of the services in docker containers.
Easier to upgrade, more security, higher availability.
Right now I'm creating a simple Dockerfile. I'll use volumes for the config, database, logs.
I imagine 3rd party modules should have their own volumes, I don't use any right now.
There should be some user provided variables that would preconfigure the database type and info for example.
A simple initial file would suffice and see how it goes from there depending on the incoming requests.
I'd be glad to help develop and/or test if needed.

Lord255

2021-01-08 13:26

reporter   ~0021872

docker containers eating more memory than they should. many vps has low memory, cuz of budget.
things to consider:
- using of docker-compose (easier to give out updates; only change image version inside; handle volumes, restarts, etc.. - image; volumes)
- limiting container memory (mem_limit)
- volumes which we need to bring out, to not loose configs, data, logs with restarts
- ports to expose
- how the logging will work? normally containers write stdout. (fluentd? run within same compose?)
- main image (os? alpine? - check out how TZ available)
- connection between os user and the user which is running the ircd inside the container (uid, gid should be the same for linking out the confs/etc..; user unrealircd? )

although i rly don't understand why this needs to be run in container, besides ppl could skip the compilation. if that's the main reason, i would just make a script which would do everything at once and ask for details if needed.
(check how eggdrop devs handled this: www.geteggdrop.com/foo.sh - the script check dependencies, install missing, do the whole process and asks a few questions and then it's done. same could be dont for unreal and so "new users" could install without hassle)

rbertoche

2022-02-03 22:50

reporter   ~0022396

Gonna leave here the link to a unrealircd branch which includes a container built with alpine, 2 commits away from upstream
https://github.com/rbertoche/pissircd/tree/unreal60_dev

rbertoche

2022-02-04 00:22

reporter   ~0022397

It could also be done in another repository, this is just the simpler way to do it cause it avoids the need to fetch unrealircd sources separately. The only requirement is either podman or docker installed, if you don't want to have git you can you can simply download and extract a zipfile, it would be easy to add a script to do that as well. Let me know especially if it fails to run or build!

Issue History

Date Modified Username Field Change
2020-04-28 10:03 syzop New Issue
2020-12-09 09:22 syzop View Status private => public
2021-01-08 13:10 BlackBishop Note Added: 0021871
2021-01-08 13:26 Lord255 Note Added: 0021872
2022-02-03 22:50 rbertoche Note Added: 0022396
2022-02-04 00:22 rbertoche Note Added: 0022397