Repository navigation
Conversation
The image moves the Selkies frontend to 8080/8181 via CUSTOM_PORT but only inherits EXPOSE 3000 3001 from baseimage-selkies, so ExposedPorts metadata points tools at ports nothing listens on. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description:
Adds
EXPOSE 8080 8181 8081toDockerfileandDockerfile.aarch64(there is no armhf Dockerfile), using the same# ports and volumesconvention asdocker-calibre-web.Benefits of this PR and context:
docker image inspect lscr.io/linuxserver/calibre --format '{{json .Config.ExposedPorts}}'returns{"3000/tcp":{},"3001/tcp":{}}, which are inherited frombaseimage-selkies. This image moves the Selkies nginx frontend to 8080/8181 viaCUSTOM_PORT/CUSTOM_HTTPS_PORT, so nothing listens on 3000/3001 (ss -tlnpin a running container shows nginx on 8080 and 8181).Tools that read
ExposedPortspick the wrong port: Traefik's automatic port detection, Portainer/Unraid templates, compose validators and healthcheck generators. The result is connection refused on 3000 and an unhealthy container. We lost a deploy cycle to this before checking the live sockets.This PR adds
EXPOSE 8080 8181 8081to both Dockerfiles, matching the ports inreadme-vars.yml(8081 = the optional Calibre content server). Docker can't remove an inheritedEXPOSE, so 3000/3001 will still appear, but the real ports will now be listed as well.Dockerfile.aarch64readme-vars.ymlchangelog line if maintainers want one.How Has This Been Tested?
Checked against a running
lscr.io/linuxserver/calibrecontainer:docker image inspect --format '{{json .Config.ExposedPorts}}'shows only3000/tcpand3001/tcp, whiless -tlnpinside the container shows nginx listening on 8080 and 8181. The change is metadata-only (EXPOSEdoes not publish or bind anything), so runtime behaviour is unchanged.Source / References:
docker-baseimage-selkiesDockerfile:EXPOSE 3000 3001CUSTOM_PORT="8080",CUSTOM_HTTPS_PORT="8181"readme-vars.ymldocuments 8080 / 8181 / 8081