Samba

Samba via crazy-max/docker-samba image. Users and shares are configured in config/config.yml (mounted at /data/config.yml). ${ADMIN_USER} and ${ADMIN_PASSWORD} are passed as container env vars so that config.yml can reference them via envsubst at container startup.

Links:

name: samba
services:
  samba:
    image: crazymax/samba:4.23.8
    container_name: samba
    network_mode: host

    environment:
      TZ: ${TIMEZONE}
      SAMBA_LOG_LEVEL: 3

      # Pass through for envsubst interpolation in config.yml
      ADMIN_USER: ${ADMIN_USER}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}

    volumes:
      - ./config/config.yml:/data/config.yml

      - /mnt:/samba/mnt
      - ${STORAGE_MEDIA}:/samba/media
      - ${STORAGE_FAMILYMEDIA}:/samba/family-media
      - ${STORAGE_BACKUP}:/samba/backup
      - ${STORAGE_DOWNLOADS}:/samba/downloads

    restart: unless-stopped