I have a bunch of plain text recipe files on a NAS. If a family member wants to cook something, they ask me to print them a copy.

I’m looking for a simple as possible way to put them on a local web server via a Docker image or similar.

Basically all I need is to have http://recipes.local/ show the list of files, then you can click one to view and or print it.

Don’t want logins. Don’t need ability to edit files. Want something read-only I can set and forget while I continue to manage the content directly on the NAS.

What would you suggest?

top 16 comments

sorted by: hot top controversial new old
[–] 20 points 1 year ago* (last edited 1 year ago) (2 children)

Install Nginx, add autoindex on; to the default site config, throw the files into /var/www/html or whatever default folder it uses, and delete the default index.html file. If you need to do it via Docker then use the official Nginx image https://hub.docker.com/_/nginx

You could also just share the files via SMB. Easy to use on a PC - you could configure their computers to mount the share as a network drive on boot (e.g. R:, for recipes). Not sure about other phones but the built-in files app on my Galaxy S25 Ultra supports SMB too.

  • source
  • hideshow 2 child comments
  • [–] [S] 3 points 1 year ago* (last edited 1 year ago)

    I already have SMB but want something easier for non tech family members.

    Nginx sounds like the way to go and just symlink www -> recipes

    Thanks.

    edit to add final update:

    • Installed nginx docker image on NAS
    • Mapped html and config paths to host
    • Enabled directory listing support
    • Added recipes.local to NAS reverse proxy
    • Added recipes.local to RPi CNAMEs
    • Bookmarked the site on kids’ computer
  • source
  • parent
  • [–] 13 points 1 year ago

    A web server with directory listing enabled would work fine for that.

  • source
  • [–] 10 points 1 year ago

    Caddy has this feature built-in. It looks nice too.

    recipes.local {
    	root * /srv
    	file_server
    }
    

    https://caddyserver.com/docs/caddyfile/directives/file_server

    There's also File Browser.

  • source
  • [–] 3 points 1 year ago*

    Copy files and do a

    python3 -m http.server

    Very simple and does the job.

  • source
  • [–] 2 points 1 year ago

    Just use the directory listing of your favourite web server. You have a HTTP read only view of a directory and all of its content. If you self host likely you have already a reverse proxy, so it is just matter of updating its configuration. I'm sure it is supported by Apache, Nginx, LightHttpd, and Caddy. But I would expect every webserver supports it. Caddy is the easiest to use if you need to start from scratch.

  • source
  • [–] 3 points 1 year ago (4 children)

    Not quite what you want, but I am a huge fan of mealie.

  • source
  • hideshow 4 child comments
  • I use dufs. Copyparty seems good too.

  • source
  • [–] 1 point 1 year ago* (last edited 1 year ago)

    Directory Lister is a perfect fit for this. Docker instructions here.

    Disclaimer: I am the author of Directory Lister. Feel free to reach out with questions.

  • source
  • [–] 0 points 1 year ago
    [–] 0 points 1 year ago*

    sandstorm is dead simple to host and crazy secure.

    it handles user accounts for you and there are lots of apps to serve files or track text files.

    it rocks.

  • source