Spyke
selfhosted·Selfhostedbydeegeese

Dead simple document host?

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?

View original on sopuli.xyz
dan
upvote.au

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.

22

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
3
AbidanYrereply
lemmy.world

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

4

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.

3
feddit.dk

Copy files and do a

python3 -m http.server

Very simple and does the job.

3

@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

0
cute_nokerreply
feddit.dk

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"]

1

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.

2

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.

0

You reached the end

Dead simple document host? | Spyke