this post was submitted on 20 Aug 2025
28 points (88.9% liked)

Selfhosted

52596 readers
391 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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 24 comments
sorted by: hot top controversial new old
[–] dan@upvote.au 22 points 2 months ago* (last edited 2 months 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.

[–] deegeese@sopuli.xyz 3 points 2 months ago* (last edited 2 months 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
[–] Luckyfriend222@lemmy.world 3 points 2 months ago

Based on OPs requirements, this is the answer

[–] cmnybo@discuss.tchncs.de 13 points 2 months ago

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

[–] k4j8@lemmy.world 12 points 2 months 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.

[–] Tolookah@discuss.tchncs.de 3 points 2 months ago (2 children)

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

[–] undefined@lemmy.hogru.ch 5 points 2 months ago (1 children)
[–] Tolookah@discuss.tchncs.de 3 points 2 months ago

Yes, that. It's a bit much, but it's really easy to use.

[–] AbidanYre@lemmy.world 4 points 2 months ago (1 children)

Came here to say the same thing. More than OP is asking for, but it's fantastic.

[–] curbstickle@lemmy.dbzer0.com 3 points 2 months ago

Just used it to import a recipe, tweak it, and then I made it. Big fan of mealie.

I bet it would do a decent job of parsing those text files.

[–] cute_noker 3 points 2 months ago* (last edited 2 months ago) (1 children)

Copy files and do a

python3 -m http.server

Very simple and does the job.

[–] abimelechbeutelbilch@fulda.social 1 points 2 months ago (1 children)
[–] cute_noker 1 points 2 months ago (2 children)

Looks interesting, but also more complicated.

@cute_noker Maybe "oversized"; but https and password secured (for named users) 🔒

[–] abimelechbeutelbilch@fulda.social 1 points 2 months ago* (last edited 2 months ago) (1 children)

@cute_noker If you are familiar with #docker you can use #copyparty as simple as this:

docker pull copyparty/im && docker stop copyparty_photos && docker rm copyparty_photos

docker run -d -p 12345:12345 --name copyparty_photos \
--restart unless-stopped \
-v /path/to/photos/:/w \
-v /root/.config/copyparty:/cfg \
copyparty/im \
--https-only -nih -p 12345 \
--localtime \
--nos-hdd \
--grid \
--theme=6 \
-v /w::r,guest:rd,admin \
-a guest:pw1234 \
-a admin:anotherpw5678 \
--ipu=1.2.3.4/32=admin

TL;DR:
Path/to/photos = where your files are stored
-p 12345:12345 = Port to expose
Use https only!
User guest with PW can read
User admin with PW can read and delete
Autologin as admin if coming from IP 1.2.3.4

All parameters: https://ocv.me/copyparty/helptext.html

[–] cute_noker 1 points 2 months ago (1 children)

Looks very cool, seems like a good way to get started.

But it is hard to beat the simplicity of python.

The Dockerfile should work with this:

FROM python:3.13-slim WORKDIR /app COPY . /app EXPOSE 8000 CMD ["python", "-m", "http.server"]

[–] abimelechbeutelbilch@fulda.social 1 points 2 months ago (1 children)

@cute_noker #python wins by simplicity and a very small footprint. But it loses by security (if this is a matter for the data made available for the whole internet).

[–] cute_noker 2 points 2 months ago

Totally agree.

[–] lorentz@feddit.it 2 points 2 months 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.

[–] _cryptagion@anarchist.nexus 2 points 2 months ago* (last edited 2 months ago)

why not copyparty?

[–] tatterdemalion@programming.dev 2 points 2 months ago

I use dufs. Copyparty seems good too.

[–] PHLAK@lemmy.world 1 points 2 months ago* (last edited 2 months 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.

[–] Tramort@programming.dev 0 points 2 months ago* (last edited 2 months 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.

[–] HelloRoot@lemy.lol 0 points 2 months ago