I’m currently researching the best method for running a static website from Docker.

The site consists of one single HTML file, a bunch of CSS files, and a few JS files. On server-side nothing needs to be preprocessed. The website uses JS to request some JSON files, though. Handling of the files is doing via client-side JS, the server only need to - serve the files.

The website is intended to be used as selfhosted web application and is quite niche so there won’t be much load and not many concurrent users.

I boiled it down to the following options:

  1. BusyBox in a selfmade Docker container, manually running httpd or The smallest Docker image …
  2. php:latest (ignoring the fact, that the built-in webserver is meant for development and not for production)
  3. Nginx serving the files (but this)

For all of the variants I found information online. From the options I found I actually prefer the BusyBox route because it seems the cleanest with the least amount of overhead (I just need to serve the files, the rest is done on the client).

Do you have any other ideas? How do you host static content?

  • rglullis@communick.news
    link
    fedilink
    English
    arrow-up
    10
    ·
    9 months ago

    caddy can serve the files and deal with SSL certificates in case you put this in a public domain.

    • 𝘋𝘪𝘳𝘬OP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      My setup already has Nginx Proxy Manager to handle SSL. This is specifically about serving files from within a docker container with as little overhead as possible.

      • smileyhead@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        Caddy and Nginx can host those files directly, no need to do a proxy to a container would be running another Nginx anyway.

        • 𝘋𝘪𝘳𝘬OP
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          I do more than that with my setup. This static site would be one of various different things.