The LND UI container was unreachable on .228 after the v1.7.43-alpha
deploy because three sources of truth disagreed on which port nginx
listens on inside the container:
- docker/lnd-ui/nginx.conf listen 8081
- docker/lnd-ui/Dockerfile EXPOSE 8080
- apps/lnd-ui/manifest.yml host networking, ports: []
- scripts/first-boot-containers.sh -p 8081:8080
- scripts/deploy-to-target.sh -p 8081:80 (de-facto)
- scripts/deploy-tailscale.sh -p 8081:80
- scripts/container-specs.sh SPEC_PORTS=8081:80
Result: podman published host 8081 to container port 80, but no one was
listening on 80 inside, so connections were reset. Canonicalize on
container:80 with host:8081 publish, matching the three deploy paths
already in agreement.
Changes:
- docker/lnd-ui/nginx.conf: listen 8081 -> listen 80
- docker/lnd-ui/Dockerfile: EXPOSE 8080 -> EXPOSE 80
- apps/lnd-ui/manifest.yml: replace host-network (never true) with
bridge networking and explicit 8081:80 port mapping, correcting a
documentation-vs-reality mismatch
- scripts/first-boot-containers.sh: -p 8081:8080 -> -p 8081:80, and
fix the internal-port comment
Verified on .228 after rebuild: curl http://127.0.0.1:8081/ returns HTTP
200 and the /app/lnd/ host-nginx proxy resolves cleanly.
28 lines
964 B
Docker
28 lines
964 B
Docker
FROM git.tx1138.com/lfg2025/nginx:1.27.4-alpine
|
|
|
|
# Copy the HTML file
|
|
COPY index.html /usr/share/nginx/html/
|
|
COPY tailwind.css /usr/share/nginx/html/
|
|
COPY qrcode.js /usr/share/nginx/html/
|
|
|
|
# Create directories for assets
|
|
RUN mkdir -p /usr/share/nginx/html/assets/img/app-icons && \
|
|
mkdir -p /usr/share/nginx/html/assets/img
|
|
|
|
# Copy assets
|
|
COPY lnd.svg /usr/share/nginx/html/assets/img/app-icons/
|
|
COPY bg-web5.jpg /usr/share/nginx/html/assets/img/
|
|
COPY bg-intro.jpg /usr/share/nginx/html/assets/img/
|
|
|
|
# Copy nginx config
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
|
|
# Run nginx as root to avoid chown failures in rootless Podman user namespaces
|
|
RUN sed -i 's/^user nginx;/user root;/' /etc/nginx/nginx.conf && \
|
|
mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/proxy_temp \
|
|
/var/cache/nginx/fastcgi_temp /var/cache/nginx/uwsgi_temp \
|
|
/var/cache/nginx/scgi_temp
|
|
EXPOSE 80
|
|
ENTRYPOINT []
|
|
CMD ["nginx", "-g", "daemon off;"]
|