dockur / samba

Samba SMB server in a Docker container.
MIT License
146 stars 19 forks source link
cifs docker docker-container samba samba-docker samba-server smb smbd
[![Build]][build_url] [![Version]][tag_url] [![Size]][tag_url] [![Package]][pkg_url] [![Pulls]][hub_url]
Docker container of [Samba](https://www.samba.org/), an implementation of the Windows SMB networking protocol. ## Usage šŸ³ Via Docker Compose: ```yaml services: samba: image: dockurr/samba container_name: samba environment: NAME: "Data" USER: "samba" PASS: "secret" ports: - 445:445 volumes: - /home/example:/storage ``` Via Docker CLI: ```bash docker run -it --rm -p 445:445 -e "USER=samba" -e "PASS=secret" -v "/home/example:/storage" dockurr/samba ``` ## Configuration āš™ļø ### How do I choose the location of the shared folder? To change the location of the shared folder, include the following bind mount in your compose file: ```yaml volumes: - /home/example:/storage ``` Replace the example path `/home/example` with the desired folder. ### How do I modify the display name of the shared folder? You can change the display name of the shared folder by adding the following environment variable: ```yaml environment: NAME: "Data" ``` ### How do I connect to the shared folder? To connect to the shared folder enter: `\\192.168.0.2\Data` in Windows Explorer. > [!NOTE] > Replace the example IP address above with that of your host. ### How do I modify the default credentials? You can set the `USER` and `PASS` environment variables to modify the credentials from their default values: user `samba` with password `secret`. ```yaml environment: USER: "samba" PASS: "secret" ``` ### How do I modify the permissions? You can set `UID` and `GID` environment variables to change the user and group ID. ```yaml environment: UID: "1002" GID: "1005" ``` To mark the share as read-only, add the variable `RW: "false"`. ### How do I modify other settings? If you need more advanced features, you can completely override the default configuration by modifying the [smb.conf](https://github.com/dockur/samba/blob/master/smb.conf) file in this repo, and binding your custom config to the container like this: ```yaml volumes: - /example/smb.conf:/etc/samba/smb.conf ``` ### How do I configure multiple users? If you want to configure multiple users, you can bind the [users.conf](https://github.com/dockur/samba/blob/master/users.conf) file to the container as follows: ```yaml volumes: - /example/users.conf:/etc/samba/users.conf ``` ## Stars šŸŒŸ [![Stars](https://starchart.cc/dockur/samba.svg?variant=adaptive)](https://starchart.cc/dockur/samba) [build_url]: https://github.com/dockur/samba/ [hub_url]: https://hub.docker.com/r/dockurr/samba [tag_url]: https://hub.docker.com/r/dockurr/samba/tags [pkg_url]: https://github.com/dockur/samba/pkgs/container/samba [Build]: https://github.com/dockur/samba/actions/workflows/build.yml/badge.svg [Size]: https://img.shields.io/docker/image-size/dockurr/samba/latest?color=066da5&label=size [Pulls]: https://img.shields.io/docker/pulls/dockurr/samba.svg?style=flat&label=pulls&logo=docker [Version]: https://img.shields.io/docker/v/dockurr/samba/latest?arch=amd64&sort=semver&color=066da5 [Package]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fipitio.github.io%2Fbackage%2Fdockur%2Fsamba%2Fsamba.json&query=%24.downloads&logo=github&style=flat&color=066da5&label=pulls