A lightweight, easy-to-configure Samba server using Docker.
QuickSambaServer makes setting up a file server easy, with simple configuration for both resources and users. It's perfect for domestic environments or private settings with trusted individuals. This tool is ideal for sharing files or disk drives among family members or within small businesses, allowing everyone to access and store data centrally.
You can either build the QuickSambaServer image from the source code or pull the pre-built image from Docker Hub.
To build the image from the source code, follow these steps:
- Clone the repository:
git clone https://github.com/martin-rizzo/QuickSambaServer.git
cd QuickSambaServer
- Build the image:
./docker-cmd.sh build-last-release
To pull the pre-built image from Docker Hub:
docker pull martinrizzo/quick-samba-server
To run the container using your current user:
docker run -d \
-e USER_ID=$(id -u) -e GROUP_ID=$(id -g) \
-p 139:139 \
-p 445:445 \
--name quick-samba-server \
-v /path/to/your/data:/appdata \
martinrizzo/quick-samba-server
To run the container using the 'samba' user and group:
docker run -d \
-e USER_ID=$(id -u samba) -e GROUP_ID=$(id -g samba) \
-p 139:139 \
-p 445:445 \
--name quick-samba-server \
-v /path/to/your/data:/appdata \
martinrizzo/quick-samba-server
- Open Docker Desktop.
- Navigate to the "Images" tab.
- Search for
martinrizzo/quick-samba-server
and pull the image. - Go to the "Containers/Apps" tab, locate the pulled image, and click "Run".
- Configure the settings, such as volume mappings and port forwarding, then start the container.
- Open Cockpit in your web browser.
- Navigate to the "Podman Containers" section.
- Click on "Download new image" and search for
martinrizzo/quick-samba-server
. - Pull the image by clicking the corresponding button.
- After the image is pulled, click on "Create Container".
- Configure the container settings, such as volume mappings and port forwarding.
- Click "Create and Run" to start the container.
To install and test any of the examples included in this project, follow these steps:
- Clone the repository:
git clone https://github.com/martin-rizzo/QuickSambaServer.git
cd QuickSambaServer
- Run the desired example using the provided script
docker-cmd.sh
:
./docker-cmd.sh run 1
(other examples can be executed by changing '1' to the respective example number)
- README
- Configuration of available resources.
- Configuration of access levels for each resource (write, read-only).
- Virtual users with customizable usernames, passwords, and resources.
- User-specific resource access level customization.
- Support for Base64 encoded passwords.
- Detailed documentation for each example.
- Anonymous user (guest) with configurable resource access.
- Logging of messages generated by SAMBA.
Copyright (c) 2024 Martin Rizzo
This project is licensed under the MIT license.
See the "LICENSE" file for details.