Hmm, well it doesn’t seem to be any problem with the docker compose then as best as I can tell. I picked a random ext4 flash drive and replicated your setup with the UID and GID set and it seems to work fine:
# /etc/fstab
/dev/sda1 /home/<me>/mount/ext_hdd_01 ext4 defaults 0 2
~/mount % ls -an
total 12
drwxr-xr-x 3 1000 1000 4096 Mar 27 16:22 .
drwx------ 86 1000 1000 4096 Mar 27 16:31 ..
drwxrwxrwx 3 0 0 4096 Mar 27 16:26 ext_hdd_01
~/mount/ext_hdd_01 % ls -an
total 6521728
drwxrwxrwx 3 0 0 4096 Mar 27 16:26 .
drwxr-xr-x 3 1000 1000 4096 Mar 27 16:22 ..
-rw-r--r-- 1 1000 1000 6678214224 May 5 2024 PXL_20240504_233345242.mp4
drwxrwxrwx 2 0 0 16384 May 5 2024 lost+found
-rwxr--r-- 1 1000 1000 5 Mar 27 16:27 test.txt
# ~/samba/docker-compose.yml
services:
samba:
image: dockurr/samba
container_name: samba
environment:
NAME: "Data"
USER: "user"
PASS: "pass"
UID: "1000"
GID: "1000"
ports:
- 445:445
volumes:
- /home/<me>/mount:/storage
restart: always
I was able to play the PXL.mp4 video from my desktop and write back the test.txt file
Have you checked the logs with docker logs -f samba
to see if there’s anything there?
Also you could try to access the HD from within the container, using docker exec -it samba bash
and then cd into /storage and see what happens.
In case you haven’t realized, the user and pass in the docker compose are for setting the user/pass that you will enter on windows to access the share. It doesn’t have to be the same as the Linux server user account - though mine is the same because it’s easier to remember.