jump
jump copied to clipboard
disable IPV6 option
Typically on startup of the container the below error is seen unless there is an environment variable for disabling enabling IPV6. Looking at the documentation README and installation I did not see one. Also looked at the previous closed / opened issues as well.
██ ██ ██ ███ ███ ██████
██ ██ ██ ████ ████ ██ ██
██ ██ ██ ██ ████ ██ ██████
██ ██ ██ ██ ██ ██ ██ ██ █████ ██████ ██ ██ ██
https://github.com/daledavies/jump
- Repopulating web root with application files.
- You are using Jump v1.3.0 (1658838937)
-
Checking if backgrounds, favicon, search or sites volumes have been mounted.
- Backgrounds directory is mapped... symlinking.
- Favicon directory is mapped... symlinking.
- Sites directory is mapped... symlinking.
- Search directory is mapped... symlinking.
-
All done! Starting nginx/php services now.
[09-Aug-2022 21:19:10] NOTICE: fpm is running, pid 23 [09-Aug-2022 21:19:10] NOTICE: ready to handle connections 2022/08/09 21:19:10 [emerg] 24#24: socket() [::]:8080 failed (97: Address family not supported by protocol) nginx: [emerg] socket() [::]:8080 failed (97: Address family not supported by protocol)
I'm not entirely sure that nginx even needs to listen on an IPv6 address so may just update the nginx config rather than add an option to jump
There are some who use ipv6. I was looking around at other projects and I believe nginx proxy manager had it too. I'll look more into the code and see what needs done. Looks like an amazing project, just need to get past this hurdle.
It appears as if there is very little difference between the nginx proxy manager conf and jump's....
https://github.com/NginxProxyManager/nginx-proxy-manager/blob/develop/docker/rootfs/etc/nginx/conf.d/dev.conf
Only obvious thing I can see is the order of the listen directives, I wonder if that would make a difference??
Quite possibly. Good thinking. I know to turn it off is an edit in the conf either ipv6listen = false or removing it from being used [::] I believe. Don't quote me lol
Yes I was thinking initially of removing the ipv6 listen directive entirely, I think it would be listening on docker's internal network and I'm not sure if docker allows you to disable ipv4 internally so again I think this would work out OK. Don't quote me on this either though!
Have you got IPv6 disabled on your host?
Hmm maybe nginx proxy manager does have a DISABLE_IPV6 setting that removes the appropriate listen directive form the nginx conf...
https://github.com/NginxProxyManager/nginx-proxy-manager/blob/1f3ac7a9ec80ec49a1c13ebcc46ab3f48ae026f4/docker/rootfs/bin/handle-ipv6-setting
Maybe I could add that option in the entrypoint and essentially do the same thing as nginx proxy manager then.
That was something I did find in my self DevOps investigation. Docker internal reference bugs listed for ipv6 enabled and no way to turn it off. So perhaps just disabling it on the project instead would be the better course.
Well I've added a new DISABLEIPV6 option!
Could you try using the daledavies/jump:disableipv6-dev image, set the following environment variable and let me know how you get on...
DISABLEIPV6: 'true'
Keeping my fingers crossed! :)
If it works I'll bundle the change into the next release
I'll update my pipeline yaml fike on Sunday and post back. Sunday is my day back at work when I when I can work on self hosted stuff.
Gitea >Jenkins> scripts > and up
Awesome, thanks for this :)
Howdy did you ever get a chance to test this out? I've been keeping my fingers crossed!
Below snippet from pipeline yaml that is up and running right now.
jump:
| container_name: jump_page
| image: daledavies/jump:disableipv6-dev
| ports:
| - '8123:8080'
| volumes:
| - $DOCKERDIR/jump/backgrounds:/backgrounds
| - $DOCKERDIR/jump/favicon:/favicon
| - $DOCKERDIR/jump/search:/search
| - $DOCKERDIR/jump/sites:/sites
| environment:
| SITENAME: "BlkClouds Landing"
| OWMAPIKEY: 'redacted'
| LATLONG: 'redacted,redacted'
| CHECKSTATUS: 'true'
| SHOWCLOCK: 'true'
| AMPMCLOCK: 'true'
| SHOWSEARCH: 'true'
| METRICTEMP: 'false'
| NOINDEX: 'true'
| WWWURL: 'http://$SERVER_IP:8123/'
| DISABLEIPV6: 'true'
| labels:
| - flame.type=application # "app" works too
| - flame.name=Jump
| - flame.url=http://$SERVER_IP:8123/
| networks:
| - (redacted)
Healthcheck from pipeline test
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85755bf297bd daledavies/jump:disableipv6-dev "entrypoint.sh" 10 seconds ago Up 9 seconds (health: starting) 0.0.0.0:8123->8080/tcp jump_page
Amazing! I'll integrate the change and close this ticket with the next release.
Apologies for the long wait!
This has been included in the latest v1.3.1 release today, you can pull this from Docker Hub using either the daledavies/jump:latest or daledavies/jump:v1.3.1 tags.
I will now remove the daledavies/jump:disableipv6-dev we used for testing as it is now out of date.
Thanks again for reporting this, I'll close the issue for now but feel free to repoen or open a new one if needed :)