palw3ey/ye3http

By palw3ey

Updated 5 months ago

Alpine busybox httpd server. Light, below 10 Mb. GNS3 ready

Image
Networking
Developer tools
Web servers
0

312

palw3ey/ye3http repository overview

ye3http

Alpine busybox httpd server. Light, below 10 Mb. GNS3 ready

Simple usage

  • Run
docker run -dt -p 8080:8080 --name myhttp palw3ey/ye3http
  • Logs
docker logs myhttp

The /var/www folder is persistent.

HOWTOs

  • Use Basic access authentication
docker run -dt -p 8080:8080 -e Y_USERNAME=tux -e Y_PASSWORD=1234 --name myhttp palw3ey/ye3http
  • Allow these IP only: 192.0.2.1 and 10.1.193.0/24
docker run -dt -p 8080:8080 -e Y_WHITELIST="192.0.2.1 10.1.193.0/24" --name myhttp palw3ey/ye3http
  • Enable log
docker run -dt -p 8080:8080 -e Y_LOG=yes --name myhttp palw3ey/ye3http

# show log, to exit Press Ctrl C
docker exec -it myhttp tail -f /var/log/httpd.log
  • Enable crond
docker run -dt -p 8080:8080 -e Y_CROND=yes -e Y_CROND_LOG=yes --name myhttp palw3ey/ye3http

# edit, to save and quit Press Escape and type :wq
docker exec -it myhttp crontab -e

# show log, to exit Press Ctrl C
docker exec -it myhttp tail -f /var/log/crond.log
  • Edit a file in the container
# to save and quit Press Escape and type :wq
docker exec -it myhttp vi /var/www/index.html
  • Send a file to the container
docker cp index.html myhttp:/var/www/
  • Send folder contents to the container
docker cp production/. myhttp:/var/www/
  • Send a container file to the host
docker cp myhttp:/var/www/index.html index.html
  • Get the host path for the /var/www volume
docker inspect myhttp --format '{{range .Mounts}}{{.Source}} -> {{.Destination}}{{println}}{{end}}'
  • Stop and delete a container
docker stop myhttp; docker rm myhttp

GNS3

To run through GNS3, download and import the appliance : ye3http.gns3a

How to use in a GNS3 topology
  • Drag and drop the device in the topology
  • Right click on the device and select Edit config
  • For a static IP configuration, uncomment the lines just below # Static config for eth0 or otherwise # DHCP config for eth0 for a dhcp configuration
  • Click Save
  • Add a link to connect the device to another device (Cloud, Hub, Switch, Router...)
  • Finally, right click on the device, select Start
  • To see the output, right click Console
  • To type commands, right click Auxiliary console

Environment variables

variablesdefaultdescription
Y_DEBUGnoyes, to use set -x in the entrypoint.sh
Y_URL_IP_CHECKnoyes, to to enable public IP detection
Y_URL_IPV4_CHECKurlhttp://whatismyip.akamai.com
Y_URL_IPV6_CHECKurlhttp://ipv6.whatismyip.akamai.com
Y_URL_IP_CHECK_TIMEOUT5Timeout for IP checks, in second
Y_SHOW_CREDyesyes, to display credentials in docker logs command
TZEurope/ParisTime zone, IANA format
Y_DATE_FORMAT"%Y-%m-%dT%H:%M:%S%z"Date format (strftime)
---
Y_PORT8080httpd listening port
Y_WWW/var/wwwWeb root directory
Y_UID1000uid for httpd and Y_WWW folder
Y_GID1000gid for httpd and Y_WWW folder
Y_CONF/etc/httpd.confhttpd config file path
Y_LOGnoyes, to log httpd service
Y_LOG_PATH/var/log/httpd.loghttpd log file path
Y_USERNAMEBasic Auth username
Y_PASSWORDBasic Auth password
Y_WHITELISTAllowed IP whitelist, space separated
---
Y_CRONDnoyes, to start crond service
Y_CROND_LOGnoyes, to log crond service
Y_CROND_LOG_PATH/var/log/crond.logcrond log file path

Compatibility

The docker image was compiled to work on these CPU architectures :

  • linux/386
  • linux/amd64
  • linux/arm/v6
  • linux/arm/v7
  • linux/arm64
  • linux/ppc64le
  • linux/s390x

Work on most computers including Raspberry Pi

Build

To customize and create your own images.

git clone https://gitlab.com/palw3ey/ye3http.git
cd ye3http

# Make all your modifications, then :
docker build --no-cache --network=host -t ye3http .
docker run -dt --name my_customized_http ye3http
docker logs my_customized_http

# enter inside the container, to leave type: exit
docker exec -it my_customized_http sh

Registry

RegistryImage name
Dockerdocker.io/palw3ey/ye3http
Githubghcr.io/palw3ey/ye3http
Gitlabregistry.gitlab.com/palw3ey/ye3http
Redhatquay.io/palw3ey/ye3http

Version

nameversion
ye3http1.0.0
httpd1.37.0
alpine3.23.3

Changelog

[1.0.0] - 2026-02-24

Added
  • first release : httpd BusyBox v1.37.0, Alpine Linux 3.23.3

License

MIT
author: palw3ey
maintainer: palw3ey
email: [email protected]
website: https://gitlab.com/palw3ey/ye3http
docker hub: https://hub.docker.com/r/palw3ey/ye3http

Tag summary

Content type

Image

Digest

sha256:f2ef0e5a0

Size

3.8 MB

Last updated

5 months ago

docker pull palw3ey/ye3http:1.0.0