Saltar a contenido

Homelab - Herramienta de sincronización multiplataforma Syncthing

Imagen

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:

compose.yaml
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).

.env
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.