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
- [Solved] systemd services to replace /etc/rc.local{,.shutdown}
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.