How can I serve a static website?

This seems like it should be a common use case and a trivial thing to do, but I cannot see any way to do it. I have a personal website that consists of a static collection of html pages that I would like to serve from the Umbrel home. How can I do it? I don’t see a web server like Apache2 or Nginx in the apps store. Could NextCloud or some other app do it?

1 Like

Use Portainer app, install any webserver you want - easy and most flexible way.

Check out Automad. v2 isn’t quite ready for production release yet, but v1 is. You can download either as a docker container from dockerhub using portainer but be sure to follow the guides on their website regarding volumes and ports (it’s just an /app volume and it runs on port 80 internally though you could remap that to a different port so you don’t bork your umbrel web interface). Nice piece of software. automad.org

why not use https://pages.cloudflare.com/ ?

Thanks. I installed portainer, then created a new stack with the following config for apache:

version: '3.9'

services:
  apache:
    image: httpd:latest
    container_name: apache_server
    ports:
      - "8088:80"
    volumes:
      - /home/umbrel/umbrel/data/bb4-website:/usr/local/apache2/htdocs/

I put an index.html file in /home/umbrel/umbrel/data/bb4-website, but it did not show at http://:8088/. Instead I see " Index of /", and when I exec into the apache container, I can see that /usr/local/apache2/htdocs/ is in fact empty. I was expecting to see my index.html file there. Did I miss something?

If the volume was added after the stack was created, try removing and redeploying the stack.