xbgmsharp / ipxe-buildweb

iPXE Prebuilt binary web interface
GNU General Public License v3.0
157 stars 63 forks source link
alpine cgi-fcgi docker docker-image ipxe ipxe-buildweb javascript perl php ubuntu

iPXE Prebuilt binary web interface

Why

A Prebuilt binary web interface. Many users would prefer to be able to download prebuilt binary versions of iPXE, rather than building it from source.

What

A web-based user interface that provide a way for the user to select any relevant iPXE build options, specify any embedded script, etc, and then construct and download the appropriate file.

How

The user interface, is using HTML, CSS as well as Javascript (jQuery) and a suitable server-side language (such as Perl and PHP). All GUI options (git version/nics list/compile options) are generated dynamicaly using PHP. The build.fcgi script is written in Perl and was wrote by Michael Brown.

Using Official DockerHub image

dockeri.co

latest - Latest (Dockerfile)

After a successful Docker installation you just need to execute the following command in the shell:

docker pull xbgmsharp/ipxe-buildweb
docker run  -d \
    --publish 8080:80 \
    --publish 22:22 \
    --name ipxe-buildweb \
    xbgmsharp/ipxe-buildweb

Test using Docker

$ wget http://get.docker.io/ -O - | sh

The following command build the build directly from the github repository.

The build process might take some time a while as it download the origin Ubuntu LTS docker image.

$ docker build --rm=true --no-cache=true -t xbgmsharp/ipxe-buildweb github.com/xbgmsharp/ipxe-buildweb.git

Alternatively, you can build the image localy after cloning the repository.

$ docker build --rm=true --no-cache=true -t xbgmsharp/ipxe-buildweb .

Run as a detach container

$ docker run -d -p 22:22 -p 8080:80 -t xbgmsharp/ipxe-buildweb

Or run the container with an attach shell

$ docker run -i --rm -p 22:22 -p 8080:80 -t xbgmsharp/ipxe-buildweb /bin/bash
$ docker ps -a
$ docker inspect CONTAINER_ID | grep IPA

Or both command in one

$ docker ps -a | grep ipxe-buildweb | awk '{print $1}' | xargs docker inspect | grep IPAddress

Or all in one with the ssh connection

$ ssh $(docker ps -a | grep ipxe-buildweb | awk '{print $1}' | xargs docker inspect | grep IPAddress | awk '{print $2}' | tr -d '"' | tr -d ',' )

User is root and password is admin.

$ ssh root@172.17.0.x
$ docker logs CONTAINER_ID

Support

To get support, please create new issue

Contribution

I'm happy to accept Pull Requests!

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.