neytor/samba
Server samba en docker. Comparte archivos entre Windows, Linux, Mac, todo con Samba
162
Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado posteriormente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que computadoras con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.
Nuestro servidor samba nos permitirá compartir directorio entre sistemas tales como WIndows, Linux, MacOS.
Puede hacer uso de docker cli o docker compose
Para acceder a su recurso compartido siga la sintaxis descrita en la tabla:
URL acceso | Usuario por defecto | Contraseña por defecto |
---|---|---|
smb://miDireccionIP | neytor | neytor |
---
version: '3'
services:
samba_server:
image: neytor/samba
container_name: samba_server
restart: always
environment:
- user=neytor #OPCIONAL
- password=neytor #OPCIONAL
- mygroup=sambita #OPCIONAL
- mydir=/download #OPCIONAL DIRECTORIO POR DEFECTO COMPARTIDO
- additional_dirs=/dir1,/dir2 #OPCIONAL DIRECTORIOS COMPARTIDO, añade todos los directorios que deseas aquí
ports:
- 445:445
- 137:137/udp
- 138:138/udp
- 139:139/tcp
volumes:
- samba:/download
volumes:
samba:
...
Nota: Puedes reemplazar environment por env_file y pasarle un archivo .env como valor, recuerde que el archivo .env debe tener las variables deseadas.
docker container run \
--name samba_server -v samba:/download \
-p 445:445 -p 137:137/udp -p 138:138/udp -p 139:139/tcp \
-d neytor/samba
La arquitectura soportada es la siguiente:
Arquitectura | Disponible | Tag descarga |
---|---|---|
x86-64 | ✅ | docker pull neytor/samba |
arm64 | ✅ | docker pull neytor/samba:arm |
Puedes pasar las siguientes variables al crear el contenedor
Variable | Función |
---|---|
-e user | Define el usuario para login - por defecto es neytor |
-e password | Define la contraseña para el usuario - por defecto es neytor |
-e mygroup | Define el nombre del grupo - por defecto un PGID de 8888 y grupo sambita |
-e mydir | Define el directorio que desea compartir - por defecto es /download |
-e additional_dirs | Opcional: Define todos los directorios que deseas compartir,ejemplo additional_dirs=/dir1,/dir2,/dir3 respetando la estructura definida. |
IMPORTANTE: Puede crear mas carpetas compartidas únicamente debe respetar el nombre 'mydir' luego cualquier cosa, por ejemlo; Pasando la opción '-e mydiruno', '-e additional_dirs', todos los que necesites,
Ejemplo completo
docker container run \
--name samba_server -v samba:/download \
-e user=neytor \
-e mydir=/download \
-e additional_dirs=/work,/dir1/dir2,/dir3 \ #RECUERDA OPCIONAL DIRECTORIO COMPARTIDO
-e mygroup=sambita \
-p 445:445 -p 137:137/udp -p 138:138/udp -p 139:139/tcp \
-d neytor/samba
Se recomienda pasar la variable password
a través de un archivo.
Si desea una mejor velocidad se recomienda utilizar la red host
Puedes utilizarla para cualquier raspberry pi
docker container run \
--name samba_server -v samba:/download \
-e user=neytor \
-e mydir=/download \
-e additional_dirs=/work,/dir1/dir2,/dir3 \ #RECUERDA OPCIONAL DIRECTORIO COMPARTIDO
-e mygroup=sambita \
-p 445:445 -p 137:137/udp -p 138:138/udp -p 139:139/tcp \
-d neytor/samba:arm
Puedes ver nuevos eventos en https://www.yonier.com/
docker pull neytor/samba