Deploy static web content with Caddy
This example uses Caddy
, one of the most popular web servers.
Caddy can be used with Unikraft / Unikraft Cloud to serve static web content.
To run this example, follow these steps:
-
Install the
kraft
CLI tool and a container runtime engine, e.g. Docker. -
Clone the
examples
repository andcd
into theexamples/caddy/
directory:
Make sure to log into Unikraft Cloud by setting your token and a metro close to you.
We use fra0
(Frankfurt, 🇩🇪) in this guide:
When done, invoke the following command to deploy this application on Unikraft Cloud:
The output shows the instance URL and other details:
In this case, the instance name is caddy-vhf4m
and the URL is https://frosty-sky-vz8kwsmb.fra0.kraft.host
.
They are different for each run.
Use curl
to query the Unikraft Cloud instance of Caddy.
At any point in time, you can list information about the instance:
When done, you can remove the instance:
Customize your Application
To customize the application, update the files in the repository, listed below:
Kraftfile
: the Unikraft Cloud specificationrootfs/var/www/index.html
: the index page of the content servedrootfs/etc/caddy/Caddyfile
: the Caddy configuration file
Update the contents of the rootfs/var/www
directory to serve different static web content.
For example, you could change the contents of rootfs/var/www/index.html
to:
After re-deploying the Caddy image on Unikraft Cloud, using curl
or a browser to query it will present the new page contents.
The static web content located in the rootfs/var/www/
can of course be generated offline by tools like Jekyll
or Hugo
.
If required, you can also customize the configuration of Caddy in rootfs/etc/caddy/Caddyfile
.
You can set a new webroot (different than rootfs
), or a different internal port, or a different index page, etc.
Learn More
Use the --help
option for detailed information on using Unikraft Cloud:
Or visit the CLI Reference.