Generador de Docker Compose para Syncthing
Crea un compose.yaml para Syncthing. Elige la red del host o bridge, la dirección de la interfaz gráfica, el usuario y el grupo, el almacenamiento y las carpetas adicionales, y obtén un archivo con una comprobación de estado compatible.
Entrada
Salida
- La carpeta de datos y las carpetas que añadas deben tener permisos de escritura para el usuario y el grupo indicados arriba.
Leerme
¿Qué es Syncthing?
Syncthing es un programa de código abierto que mantiene sincronizadas las carpetas entre tus dispositivos, directamente y sin un servidor central. El proyecto proporciona una imagen oficial, syncthing/syncthing, cuya GUI web escucha en el puerto 8384 y cuyo protocolo de sincronización usa el puerto 22000 para TCP y QUIC. Los dispositivos de la misma red se encuentran mediante broadcasts en el puerto 21027.
Descripción de la herramienta
Esta herramienta crea un archivo compose.yaml para Syncthing que sigue el Docker README del proyecto. De forma predeterminada, utiliza la red del host, tal como recomienda el README, porque así Syncthing puede ver los dispositivos de tu red local. En este modo, la herramienta elimina STGUIADDRESS, por lo que la GUI escucha en la dirección configurada en los ajustes de Syncthing, que de forma predeterminada es 127.0.0.1:8384. También puedes elegir el modo bridge. En ese caso, la herramienta publica el puerto de la GUI, el puerto de sincronización para TCP y UDP y el puerto de descubrimiento, y muestra una advertencia sobre las limitaciones del modo bridge. Puedes establecer el hostname, el usuario y el grupo mediante PUID y PGID, un UMASK y un PCAP opcionales, la carpeta de datos y más carpetas del host. Se añade una comprobación de estado que sigue la dirección de la GUI. Todo se crea en tu navegador.
Características
- Red del host, como se recomienda, o modo bridge con los puertos 8384, 22000/tcp, 22000/udp y 21027/udp publicados
- Dirección de escucha de la GUI en el modo host, con una advertencia cuando se puede acceder a ella desde otros equipos
- Una dirección de enlace para el puerto de la GUI en modo bridge, como
127.0.0.1 PUID,PGID,UMASKyPCAP, además de un hostname para el nombre del dispositivo- Una carpeta de datos en el host o un volumen de Docker con nombre, que se declara automáticamente
- Más carpetas para sincronizar, cada una opcionalmente en modo de solo lectura
- La comprobación de estado del README, ajustada al puerto y la dirección de la GUI
- Cualquier otra variable de entorno, comentarios que explican el archivo y una descarga como
compose.yaml
Ejemplos
La configuración predeterminada proporciona el ejemplo del Docker README de Syncthing:
services:
syncthing:
image: syncthing/syncthing
container_name: syncthing
hostname: syncthing
network_mode: host
environment:
PUID: "1000"
PGID: "1000"
STGUIADDRESS: ""
volumes:
- ./st-sync:/var/syncthing
healthcheck:
test: curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -o --color=never OK || exit 1
interval: 1m
timeout: 10s
retries: 3
restart: unless-stoppedConsejos
- Guarda el resultado como
compose.yamle inícialo condocker compose up -d. Después, abrehttp://127.0.0.1:8384 - El modo bridge predeterminado de Docker oculta las direcciones locales de tus dispositivos, por lo que se conectan lentamente o mediante relays. Usa el modo host cuando sea posible
- La imagen escucha en
0.0.0.0:8384de forma predeterminada. Por eso el modo host eliminaSTGUIADDRESSy el modo bridge debería enlazar el puerto publicado de la GUI con127.0.0.1, a menos que quieras acceder a ella desde otros equipos - Cuando se pueda acceder a la GUI desde otros equipos, establece una contraseña para la GUI y activa TLS en los ajustes de Syncthing
- La carpeta de datos y las carpetas que añadas deben tener permisos de escritura para
PUIDyPGID - Las carpetas que añadas aquí aparecen en Syncthing con la ruta del contenedor, así que elige esa ruta al añadir la carpeta en la GUI
- El puerto de sincronización sigue siendo 22000, porque Syncthing indica a los demás dispositivos que se conecten a ese puerto