An open API service indexing awesome lists of open source software.

https://github.com/daemonless/syncthing

Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized.
https://github.com/daemonless/syncthing

container file-sync freebsd podman syncthing

Last synced: 9 days ago
JSON representation

Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized.

Awesome Lists containing this project

README

          

# Syncthing

[![Build Status](https://img.shields.io/github/actions/workflow/status/daemonless/syncthing/build.yaml?style=flat-square&label=Build&color=green)](https://github.com/daemonless/syncthing/actions)
[![Last Commit](https://img.shields.io/github/last-commit/daemonless/syncthing?style=flat-square&label=Last+Commit&color=blue)](https://github.com/daemonless/syncthing/commits)

Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.

| | |
|---|---|
| **Port** | 8384 |
| **Registry** | `ghcr.io/daemonless/syncthing` |
| **Source** | [https://github.com/syncthing/syncthing](https://github.com/syncthing/syncthing) |
| **Website** | [https://syncthing.net/](https://syncthing.net/) |

## Version Tags

| Tag | Description | Best For |
| :--- | :--- | :--- |
| `latest` | **Upstream Binary**. Built from official release. | Alternative build. |
| `pkg` | **FreeBSD Quarterly**. Uses stable, tested packages. | Production stability. |
| `pkg-latest` | **FreeBSD Latest**. Rolling package updates. | Newest FreeBSD packages. |

## Prerequisites

Before deploying, ensure your host environment is ready. See the [Quick Start Guide](https://daemonless.io/guides/quick-start) for host setup instructions.

## Deployment

### Podman Compose

```yaml
services:
syncthing:
image: ghcr.io/daemonless/syncthing:latest
container_name: syncthing
volumes:
- "/path/to/containers/syncthing:/config"
ports:
- 8384:8384
- 22000:22000
- 22000:22000
- 21027:21027
restart: unless-stopped
```

### AppJail Director

**.env**:

```
DIRECTOR_PROJECT=syncthing
```

**appjail-director.yml**:

```yaml
options:
- virtualnet: ': default'
- nat:
services:
syncthing:
name: syncthing
options:
- container: 'boot args:--pull'
volumes:
- syncthing: /config
volumes:
syncthing:
device: '/path/to/containers/syncthing'
```

**Makejail**:

```
ARG tag=latest

OPTION overwrite=force
OPTION from=ghcr.io/daemonless/syncthing:${tag}
```

### Podman CLI

```bash
podman run -d --name syncthing \
-p 8384:8384 \
-p 22000:22000 \
-p 22000:22000 \
-p 21027:21027 \
-v /path/to/containers/syncthing:/config \
ghcr.io/daemonless/syncthing:latest
```

### Ansible

```yaml
- name: Deploy syncthing
containers.podman.podman_container:
name: syncthing
image: ghcr.io/daemonless/syncthing:latest
state: started
restart_policy: always
ports:
- "8384:8384"
- "22000:22000"
- "22000:22000"
- "21027:21027"
volumes:
- "/path/to/containers/syncthing:/config"
```

## Parameters

### Volumes

| Path | Description |
|------|-------------|
| `/config` | Configuration and data directory |

### Ports

| Port | Protocol | Description |
|------|----------|-------------|
| `8384` | TCP | Web UI |
| `22000` | TCP | Sync protocol (TCP/UDP) |
| `22000` | UDP | Sync protocol (TCP/UDP) |
| `21027` | UDP | |

**Architectures:** amd64
**User:** `bsd` (UID/GID via PUID/PGID, defaults to 1000:1000)
**Base:** FreeBSD 15.0

---

Need help? Join our [Discord](https://discord.gg/Kb9tkhecZT) community.