Homelab - Herramienta de sincronización multiplataforma Syncthing
Syncthing es una aplicación de sincronización de archivos de código abierto y gratuita que permite sincronizar archivos y carpetas entre múltiples dispositivos con soporte para sincronización incremental. Lo utilizo para respaldar los datos de mi servidor en un NAS y gestionarlos de manera centralizada.
Implementación (Docker Compose)
En primer lugar, crea un archivo compose.yaml
y pega el siguiente contenido:
version: "3"
services:
syncthing:
container_name: ${STACK_NAME}_app
image: syncthing/syncthing:${APP_VERSION}
hostname: my-syncthing
environment: # Debe ejecutarse con permisos de root para acceder a otros directorios de Docker o al directorio raíz del host
- PUID=0
- PGID=0
volumes:
- ${APP_SYNC_DIR}:/DATA
- ${STACK_DIR}/config:/var/syncthing/config/
ports:
- ${APP_PORT}:8384 # Interfaz web
- 22000:22000/tcp # Transferencia de archivos TCP
- 22000:22000/udp # Transferencia de archivos QUIC
- 21027:21027/udp # Recepción de transmisiones de descubrimiento local
restart: unless-stopped
(Opcional) Se recomienda crear un archivo .env
en el mismo directorio que compose.yaml
y personalizar tus variables de entorno. Si no deseas utilizar variables de entorno, también puedes personalizar tus parámetros directamente en compose.yaml
(por ejemplo, reemplazar ${STACK_NAME}
con syncthing
).
STACK_NAME=syncthing
STACK_DIR=xxx # Ruta personalizada para almacenar el proyecto, por ejemplo, ./syncthing
# Syncthing
APP_VERSION=latest
APP_PORT=xxxx # Puerto personalizado para acceder, elige uno que no esté en uso
APP_SYNC_DIR=xxxx # Ruta personalizada que deseas sincronizar, por ejemplo, /DATA
Finalmente, ejecuta el comando docker compose up -d
en el directorio que contiene compose.yaml
para iniciar los contenedores definidos.
Instrucciones de configuración
Si experimentas problemas de permisos, intenta cambiar los valores de PUID
y PGID
a 0
para ejecutarlo con permisos de root.
Referencias y Agradecimientos
Dirección original del artículo: https://wiki-power.com/
Este artículo está protegido por la licencia CC BY-NC-SA 4.0. Si desea reproducirlo, por favor indique la fuente.Este post está traducido usando ChatGPT, por favor feedback si hay alguna omisión.