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?
22 Comments
dan@upvote.au · 22 pts · 1y
Install Nginx, add
autoindex on;to the default site config, throw the files into/var/www/htmlor whatever default folder it uses, and delete the defaultindex.htmlfile. If you need to do it via Docker then use the official Nginx image https://hub.docker.com/_/nginxYou 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 pts · 1y
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:
Luckyfriend222@lemmy.world · 3 pts · 1y
Based on OPs requirements, this is the answer
cmnybo@discuss.tchncs.de · 13 pts · 1y
A web server with directory listing enabled would work fine for that.
k4j8@lemmy.world · 12 pts · 1y
Caddy has this feature built-in. It looks nice too.
https://caddyserver.com/docs/caddyfile/directives/file_server
There's also File Browser.
Tolookah@discuss.tchncs.de · 3 pts · 1y
Not quite what you want, but I am a huge fan of mealie.
undefined@lemmy.hogru.ch · 5 pts · 1y
Are you referring to mealie-recipes/mealie?
Tolookah@discuss.tchncs.de · 3 pts · 1y
Yes, that. It's a bit much, but it's really easy to use.
AbidanYre@lemmy.world · 4 pts · 1y
Came here to say the same thing. More than OP is asking for, but it's fantastic.
curbstickle@lemmy.dbzer0.com · 3 pts · 1y
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@feddit.dk · 3 pts · 1y
Copy files and do a
python3 -m http.serverVery simple and does the job.
abimelechbeutelbilch@fulda.social · 0 pts · 1y
@cute_noker @deegeese
Better use #copyparty - it's very powerfull and secure:
https://fulda.social/@abimelechbeutelbilch/115044659580192358
cute_noker@feddit.dk · 1 pts · 1y
Looks interesting, but also more complicated.
abimelechbeutelbilch@fulda.social · 0 pts · 1y
@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@feddit.dk · 1 pts · 1y
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 · 0 pts · 1y
@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@feddit.dk · 1 pts · 1y
Totally agree.
_cryptagion@anarchist.nexus · 2 pts · 1y
tatterdemalion@programming.dev · 2 pts · 1y
I use dufs. Copyparty seems good too.
lorentz@feddit.it · 2 pts · 1y
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.
PHLAK@lemmy.world · 1 pts · 1y
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.
HelloRoot@lemy.lol · 0 pts · 1y
sftpgo
Tramort@programming.dev · 0 pts · 1y
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.