Sign inSign up

mbartsch/samba

By mbartsch

•Updated over 2 years ago

Samba Container based on alpine linux, original samba.sh from dperson/samba

Image
1

3.0K

mbartsch/samba repository overview

logo

⁠Samba

Samba docker container based on Alpine Linux v3.7

⁠What is Samba?

Since 1992, Samba has provided secure, stable and fast file and print services for all clients using the SMB/CIFS protocol, such as all versions of DOS and Windows, OS/2, Linux and many others.

⁠How to use this image

By default there are no shares configured, additional ones can be added.

⁠Hosting a Samba instance

sudo docker run -p 139:139 -p 445:445 -d mbartsch/samba

OR set local storage:

sudo docker run --name samba -p 139:139 -p 445:445 \
            -v /path/to/directory:/mount \
            -d mbartsch/samba

⁠Configuration

sudo docker run -it --rm mbartsch/samba -h
Usage: samba.sh [-opt] [command]
Options (fields in '[]' are optional, '<>' are required):
    -h          This help
    -i "<path>" Import smbpassword
                required arg: "<path>" - full file path in container to import
    -s <name#/path>[#browse#readonly#guest#users] Configure a share
                required arg: "<name>#<comment>#</path>"
                <name> is how it's called for clients
                <path> path to share
                NOTE: for the default values, just leave blank
                [browseable] default:'yes' or 'no'
                [readonly] default:'yes' or 'no'
                [guest] allowed default:'yes' or 'no'
                [users] allowed default:'all' or list of allowed users
    -t ""       Configure timezone
                possible arg: "[timezone]" - zoneinfo timezone for container
    -u <username#password>       Add a user
                required arg: "<username>#<passwd>"
                <username> for user
                <password> for user
    -z          enable AVAHI

The 'command' (if provided and valid) will be run instead of samba

ENVIROMENT VARIABLES (only available with docker run)

  • TZ - As above, set a zoneinfo timezone, IE EST5EDT

⁠Examples

Any of the commands can be run at creation with docker run or later with docker exec samba.sh (as of version 1.3 of docker).

⁠Setting the Timezone
sudo docker run -p 139:139 -p 445:445 -d mbartsch/samba -t EST5EDT

OR using environment variables

sudo docker run -e TZ=EST5EDT -p 139:139 -p 445:445 -d mbartsch/samba

Will get you the same settings as

sudo docker run --name samba -p 139:139 -p 445:445 -d mbartsch/samba
sudo docker exec samba samba.sh -t EST5EDT ls -AlF /etc/localtime
sudo docker restart samba
⁠Start an instance creating users and shares:
sudo docker run -p 139:139 -p 445:445 -d mbartsch/samba \
            -u "example1;badpass" \
            -u "example2;badpass" \
            -s "public;/share" \
            -s "users;/srv;no;no;no;example1,example2" \
            -s "example1 private;/example1;no;no;no;example1" \
            -s "example2 private;/example2;no;no;no;example2"

⁠User Feedback

⁠Issues

If you have any problems with or questions about this image, please contact me through a GitHub issue⁠.

Older samba version (previous to 4.4.x) had an issue with mac clients

Tag summary

Content type

Image

Digest

sha256:8b56ed773…

Size

20 MB

Last updated

over 2 years ago

docker pull mbartsch/samba