lanakod/samba-panel

By lanakod

•Updated about 1 year ago

Samba Panel is an interface for managing shares and users

Image
Networking
0

1.5K

lanakod/samba-panel repository overview

⁠Samba Panel 🧰

Samba Panel Banner

Docker Image ⁠ Build Status ⁠ License ⁠ Downloads ⁠ Docker Pulls Last Commit Top Language Contributors Platforms

Samba Panel is a web-based interface for managing Samba users and file shares via Docker.

šŸ‘‰ Check out the example/⁠ folder for a working Docker Compose setup including config files.


ā šŸš€ Quick Start (Docker Run)

You can run the panel directly without Docker Compose:

docker run -d \
  --name samba-panel \
  -p 80:3000 \
  -v "$PWD/smb.conf:/etc/samba/smb.conf" \
  -v "$PWD/smbpasswd:/etc/samba/smbpasswd" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e SMB_CONF_PATH=/etc/samba/smb.conf \
  -e SMBPASSWD_PATH=/etc/samba/smbpasswd \
  -e NEXT_PUBLIC_PANEL_URL=http://localhost \
  -e CONTAINER_NAME=samba \
  lanakod/samba-panel:latest
name: samba-server
services:
  samba:
    container_name: samba
    image: dperson/samba
    ports:
      - "137:137/udp"
      - "138:138/udp"
      - "139:139/tcp"
      - "445:445/tcp"
    tmpfs:
      - /run
      - /tmp
    restart: unless-stopped
    stdin_open: true
    tty: true
    volumes:
      - ./smb.conf:/etc/samba/smb.conf
      - ./smbpasswd:/etc/samba/smbpasswd
    command: '-p -i /etc/samba/smbpasswd'

  panel:
    container_name: panel
    image: lanakod/samba-panel:latest
    env_file: panel.env
    ports:
      - "80:3000"
    restart: unless-stopped
    volumes:
      - ./smb.conf:/etc/samba/smb.conf
      - ./smbpasswd:/etc/samba/smbpasswd
      - /var/run/docker.sock:/var/run/docker.sock
⁠panel.env
SMB_CONF_PATH=/etc/samba/smb.conf
SMBPASSWD_PATH=/etc/samba/smbpasswd
NEXT_PUBLIC_PANEL_URL=http://localhost
CONTAINER_NAME=samba

ā šŸ“„ smb.conf

Start with this minimal global configuration:

[global]
   workgroup = WORKGROUP
   server string = Samba Server %v
   security = user
   map to guest = bad user
   passdb backend = smbpasswd
   smb passwd file = /etc/samba/smbpasswd
   obey pam restrictions = no
   unix password sync = no
   restrict anonymous = 2
   invalid users = root

šŸ›  Samba shares will be managed through the panel interface.

ā āœ… smbpasswd

Ensure the smbpasswd file is empty and present:

touch smbpasswd
chmod 600 smbpasswd

ā šŸ›  Features

  • šŸ§‘ā€šŸ’» Create, update, delete Samba users
  • šŸ“‚ Create, update, delete Samba shares
  • šŸ”„ Automatically updates smb.conf and smbpasswd
  • šŸ” Live container status and logs
  • 🄧 Multi-architecture Docker image (amd64 + arm64)

ā šŸŽÆ Requirements

  • Docker & Docker Compose or Docker CLI
  • Access to /var/run/docker.sock for container control

ā šŸ“ License

Licensed under the MIT License⁠ — free to use and modify!

ā šŸ›  Maintainer

Developed and maintained by @lanakod⁠

Enjoy hassle-free Samba management!

Tag summary

Content type

Image

Digest

sha256:577abe25d…

Size

77.7 MB

Last updated

about 1 year ago

docker pull lanakod/samba-panel