Docker container of Samba, an implementation of the Windows SMB networking protocol.
Via Docker Compose:
services:
samba:
image: dockurr/samba
container_name: samba
environment:
USER: "samba"
PASS: "secret"
ports:
- 445:445
volumes:
- /home/example:/storage
Via Docker CLI:
docker run -it --rm -p 445:445 -e "USER=samba" -e "PASS=secret" -v "/home/example:/storage" dockurr/samba
To change the location of the shared folder, include the following bind mount in your compose file:
volumes:
- /home/example:/storage
Replace the example path /home/example
with the desired folder.
You can set the USER
and PASS
environment variables to modify the credentials from their default values: user samba
with password secret
.
environment:
USER: "samba"
PASS: "secret"
You can set UID
and GID
environment variables to change the user and group ID.
environment:
UID: "1002"
GID: "1005"
To mark the share as read-only, add the variable RW: "false"
.
If you need more advanced features, you can completely override the default configuration by modifying the smb.conf file in this repo, and binding your custom config to the container like this:
volumes:
- /example/smb.conf:/etc/samba/smb.conf
If you want to configure multiple users, you can bind the users.conf file to the container as follows:
volumes:
- /example/users.conf:/etc/samba/users.conf