View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005655||unreal||ircd||public||2020-04-28 10:03||2021-01-08 13:26|
|Priority||normal||Severity||feature||Reproducibility||have not tried|
|Summary||0005655: unrealircd docker|
|Description||would 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...
|Tags||No tags attached.|
|3rd party modules|
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.
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)