Commit Graph

168 Commits

Author SHA1 Message Date
Antony Messerli
4c5e9d6676
Fix nginx permission error for log directory access (#88)
The nginx service was failing to start due to permission denied errors
when trying to access /var/lib/nginx/logs/error.log. This directory is
a symlink to /var/log/nginx which was owned by the nginx user instead
of the nbxyz user that runs the service.

Added proper ownership setup for /var/log/nginx directory to ensure
nginx can write logs when running as the nbxyz user.
2025-06-12 00:42:02 -05:00
Antony Messerli
ca7a3390c2
Implement rootless Docker container with enhanced security and preserved TFTP logging (#87)
* Implement rootless Docker container with preserved TFTP logging

- Convert all processes to run as non-root user (nbxyz) for enhanced security
- Add customizable PUID/PGID environment variables for volume permission management
- Implement privilege dropping using gosu for secure initialization
- Optimize Dockerfile with multi-stage build and better caching
- Create dnsmasq wrapper script to ensure TFTP logs appear in docker logs
- Configure supervisord to properly forward dnsmasq output to container stdout
- Maintain full TFTP/PXE boot debugging functionality for users

Security improvements:
- All application processes (nginx, webapp, dnsmasq) run as nbxyz user
- Only supervisord initialization runs as root, then drops privileges
- Proper permission management for all service directories
- Configurable user/group IDs via PUID/PGID environment variables

Performance optimizations:
- Multi-stage Docker build reduces final image size
- Better layer caching for faster rebuilds
- Optimized package installation and cleanup

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update Dockerfile

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update root/init.sh

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-12 00:19:27 -05:00
Antony Messerli
994dc608a9
Merge pull request #86 from netbootxyz/healthchecks
Add container healthchecks
2025-06-07 09:11:24 -05:00
Antony Messerli
5cb5107718 Add container healthchecks 2025-06-07 08:36:05 -05:00
Antony Messerli
406fc31090
Merge pull request #85 from netbootxyz/renovate/aquasecurity-trivy-action-0.x
Update aquasecurity/trivy-action action to v0.31.0
2025-06-07 07:52:10 -05:00
renovate[bot]
c6a7fe04dd
Update aquasecurity/trivy-action action to v0.31.0 2025-06-03 11:05:14 +00:00
Antony Messerli
944a169044
Merge pull request #84 from netbootxyz/renovate/alpine-3.x
Update alpine Docker tag to v3.22.0
2025-06-01 22:35:02 -05:00
renovate[bot]
cf63959dee
Update alpine Docker tag to v3.22.0 2025-05-30 22:09:50 +00:00
Antony Messerli
aaf63e8438
Merge pull request #72 from netbootxyz/renovate/anothrnick-github-tag-action-1.x
Update anothrNick/github-tag-action action to v1.73.0
2025-05-08 01:10:23 -05:00
renovate[bot]
6a1ebe2cf2
Update anothrNick/github-tag-action action to v1.73.0 2025-05-07 19:54:39 +00:00
Antony Messerli
3aca05e27d
Merge pull request #83 from netbootxyz/renovate/aquasecurity-trivy-action-0.x
Update aquasecurity/trivy-action action to v0.30.0
2025-04-12 14:56:15 -05:00
renovate[bot]
f4a3ad92e7
Update aquasecurity/trivy-action action to v0.30.0 2025-03-14 06:51:34 +00:00
Antony Messerli
7398f3120c
Merge pull request #63 from netbootxyz/renovate/actions-checkout-digest
Update actions/checkout digest to 11bd719
2025-02-15 18:17:57 -06:00
Antony Messerli
678ee7c2dc
Merge pull request #82 from netbootxyz/optimize_size
Optimize size with multi stage build
2025-02-15 12:37:43 -06:00
Antony Messerli
426084cd61 Optimize size with multi stage build 2025-02-15 12:30:47 -06:00
Antony Messerli
507deff530
Merge pull request #81 from netbootxyz/renovate/alpine-3.x
Update alpine Docker tag to v3.21.3
2025-02-15 11:11:46 -06:00
renovate[bot]
3aae417a80
Update alpine Docker tag to v3.21.3 2025-02-14 22:49:57 +00:00
Antony Messerli
1e511d23e2 Update README for dnsmasq example
Removes deprecated isc-dhcp-server example
2025-02-08 21:22:03 -06:00
Antony Messerli
d785a122d5
Update README.md 2025-02-08 21:17:22 -06:00
Antony Messerli
5f1d307cb8
Remove version, bump menu version 2025-02-08 21:16:34 -06:00
Antony Messerli
c7407c50a7
Merge pull request #80 from netbootxyz/add_donate_links
Add donate links to logs
2025-02-03 21:08:17 -06:00
Antony Messerli
1d5de02310 Add donate links to logs 2025-02-03 21:06:37 -06:00
Antony Messerli
beb1ba450c
Merge pull request #79 from netbootxyz/trivy
Test trivy for PRs
2025-02-01 18:20:38 -06:00
Antony Messerli
176a4fd879 Test trivy for PRs 2025-02-01 18:19:28 -06:00
Antony Messerli
7963d1d72b Add link to readme 2025-02-01 14:53:27 -06:00
Antony Messerli
61e63e7b10 Bump version, add docker pulls to readme 2025-02-01 13:43:16 -06:00
Antony Messerli
9f6022b3a0
Merge pull request #78 from netbootxyz/limit_envsub
Limit envsub to only variable being changed
2024-12-30 14:07:34 -06:00
Antony Messerli
683adc2626 Limit envsub to only variable being changed 2024-12-30 12:49:45 -06:00
Antony Messerli
9d31824572 Revert arm change due to potential QEMU issue
https://github.com/netbootxyz/docker-netbootxyz/issues/74
2024-10-24 09:24:07 -05:00
Antony Messerli
188ae4dab4
Merge pull request #75 from netbootxyz/test-arm7
Bump alpine version, test arm7
2024-10-23 18:11:09 -05:00
Antony Messerli
6e228de407
Bump alpine version, test arm7 2024-10-23 18:09:53 -05:00
renovate[bot]
ed75100926
Update actions/checkout digest to 11bd719 2024-10-23 16:37:51 +00:00
Antony Messerli
040c56f51f
Merge pull request #55 from dezeroku/to-upstream
Replace in.tftp server with dnsmasq, to add support for single-port TFTP
2024-08-03 20:50:15 -05:00
Antony Messerli
6389ad5d01
Merge pull request #62 from netbootxyz/renovate/anothrnick-github-tag-action-1.x
Update anothrNick/github-tag-action action to v1.70.0
2024-08-03 20:46:14 -05:00
dezeroku
fe00be36f4
Replace in.tftp with dnsmasq, to add support for single-port TFTP 2024-07-13 00:20:28 +02:00
renovate[bot]
6f825dd6fd
Update anothrNick/github-tag-action action to v1.70.0 2024-07-08 16:19:46 +00:00
Antony Messerli
2696aa1024
Merge pull request #65 from netbootxyz/renovate/docker-build-push-action-6.x
Update docker/build-push-action action to v6
2024-06-27 01:07:32 -05:00
Antony Messerli
ed311c1a4e
Merge pull request #66 from m-assaleh/master
Update docker-compose command to docker compose
2024-06-27 01:07:13 -05:00
Mohamed Assaleh
728b8e82f4
Update docker-compose command to docker compose 2024-06-17 17:08:21 +02:00
renovate[bot]
607b722ea2
Update docker/build-push-action action to v6 2024-06-17 13:03:54 +00:00
Antony Messerli
1762356ae8
Merge pull request #64 from netbootxyz/renovate/alpine-3.x
Update alpine Docker tag to v3.20
2024-05-30 19:05:09 -05:00
renovate[bot]
91195b0308
Update alpine Docker tag to v3.20 2024-05-22 19:55:29 +00:00
Antony Messerli
de524f8acc
Merge pull request #57 from CompPhy/master
Make web app port configurable.
2024-02-05 00:18:22 -06:00
Antony Messerli
8cb28abb2e
Merge pull request #56 from dezeroku/to-upstream-two
Separate init script from the start script
2024-02-04 12:05:52 -06:00
Antony Messerli
5444fefb7b Add EXPOSE for 80 and 69/udp
This should document the default ports that are opened
by the container for cases like QNAP devices that rely on
that to populate the default ports.

Closes: https://github.com/netbootxyz/netboot.xyz/issues/1409
2024-02-04 11:59:10 -06:00
Kelly Shutt
c4014a0a6e Make web app port configurable. 2024-02-02 08:10:30 -05:00
dezeroku
cdae9b6897
Separate init script from the start script 2024-01-31 02:15:07 +01:00
Antony Messerli
2a36c1a8e0 Bump menu version in readme, nginx port 2024-01-19 01:31:33 -06:00
Antony Messerli
9403f991e2
Merge pull request #54 from CompPhy/master
Make nginx port configurable through ENV variable.
2024-01-19 01:08:43 -06:00
Kelly Shutt
959f24bc59 Make nginx port configurable through ENV variable. 2024-01-11 20:38:42 -05:00