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?
Copy files and do a
python3 -m http.server
Very simple and does the job.
@cute_noker @deegeese
Better use #copyparty - it’s very powerfull and secure:
https://fulda.social/@abimelechbeutelbilch/115044659580192358
Looks interesting, but also more complicated.
@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
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”]
@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).
Totally agree.
@cute_noker Maybe “oversized”; but https and password secured (for named users) 🔒