/QuickSambaServer

A lightweight, easy-to-configure Samba server using Docker.

Primary LanguageShellMIT LicenseMIT

QuickSambaServer

A lightweight, easy-to-configure Samba server using Docker.

Platform Language License Last Version

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.

Getting Started

You can either build the QuickSambaServer image from the source code or pull the pre-built image from Docker Hub.

Building the Image from Source

To build the image from the source code, follow these steps:

  1. Clone the repository:
git clone https://github.com/martin-rizzo/QuickSambaServer.git
cd QuickSambaServer
  1. Build the image:
./docker-cmd.sh build-last-release

Pulling the Image from Docker Hub

To pull the pre-built image from Docker Hub:

docker pull martinrizzo/quick-samba-server

Running the Container

Using the Command Line

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

Using Graphical Interfaces (Docker Desktop)

  1. Open Docker Desktop.
  2. Navigate to the "Images" tab.
  3. Search for martinrizzo/quick-samba-server and pull the image.
  4. Go to the "Containers/Apps" tab, locate the pulled image, and click "Run".
  5. Configure the settings, such as volume mappings and port forwarding, then start the container.

Using Graphical Interfaces (Cockpit + Podman)

  1. Open Cockpit in your web browser.
  2. Navigate to the "Podman Containers" section.
  3. Click on "Download new image" and search for martinrizzo/quick-samba-server.
  4. Pull the image by clicking the corresponding button.
  5. After the image is pulled, click on "Create Container".
  6. Configure the container settings, such as volume mappings and port forwarding.
  7. Click "Create and Run" to start the container.

Testing the Included Examples

To install and test any of the examples included in this project, follow these steps:

  1. Clone the repository:
git clone https://github.com/martin-rizzo/QuickSambaServer.git
cd QuickSambaServer
  1. 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)

Project Checklist

  • 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.

License

Copyright (c) 2024 Martin Rizzo
This project is licensed under the MIT license.
See the "LICENSE" file for details.