Display hostname in static HTML page on uhttpd

Why not just have a command that runs as part of the container's startup that generates the static HTML page with the hostname within it.

$ cat <<EOF > /path/to/var/www/hostname.html
<html>
<body>
<p>hostname is: $(hostname)</p>
</body>
</html>
EOF

This command can be placed in /etc/rc.d/rc.local assuming you're using a SysV style of startup scripts. If you're using systemd you can also do the same, but you'll need to enable the service:

$ sudo service rc-local start

This will mark it to run, to make it run per startup:

$ sudo systemctl enable rc-local

If you're using something else, such as Upstart, there are equivalent methods for doing the same things above.

References


If you are using PHP, you can use the following code:

echo system('hostname')

This will echo the output of the command hostname. Please note that the command system is disabled on many shared hosts for security reasons.

Alternatively, you can use:

echo gethostname();

-or-

echo php_uname('n')

For a static page, the easiest way would be to generate the served page from a template replacing a placeholder with whatever the hostname command gives you. Execute that code in the entrypoint of your image.