Switch from FTP to FTPS (FTP over TLS)
X-H2 supports FTPS natively with root certificate loading. Synology DSM supports FTP SSL/TLS encryption. Updated README and TODO with FTPS configuration steps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
18
README.md
18
README.md
@@ -1,14 +1,14 @@
|
|||||||
# Fuji Photo Processor
|
# Fuji Photo Processor
|
||||||
|
|
||||||
Automatic photo processing pipeline for Fuji X-H2 photos: camera uploads via FTP to Synology NAS, files are automatically resized and organized, then picked up by Immich for library management.
|
Automatic photo processing pipeline for Fuji X-H2 photos: camera uploads via FTPS (FTP over TLS) to Synology NAS, files are automatically resized and organized, then picked up by Immich for library management.
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
```
|
```
|
||||||
┌─────────────┐ FTP ┌──────────────────┐ watchdog ┌─────────────┐
|
┌─────────────┐ FTPS ┌──────────────────┐ watchdog ┌─────────────┐
|
||||||
│ Fuji X-H2 │ ──────────→ │ Synology NAS │ ────────────→ │ Processor │
|
│ Fuji X-H2 │ ──────────→ │ Synology NAS │ ────────────→ │ Processor │
|
||||||
│ (camera) │ port 21 │ /volume2/photos/ │ polling │ container │
|
│ (camera) │ port 21 │ /volume2/photos/ │ polling │ container │
|
||||||
└─────────────┘ │ incoming/ │ └──────┬──────┘
|
└─────────────┘ (TLS) │ incoming/ │ └──────┬──────┘
|
||||||
└──────────────────┘ │
|
└──────────────────┘ │
|
||||||
│ resize + move
|
│ resize + move
|
||||||
┌─────────────┴─────────────┐
|
┌─────────────┴─────────────┐
|
||||||
@@ -28,17 +28,18 @@ Automatic photo processing pipeline for Fuji X-H2 photos: camera uploads via FTP
|
|||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- Synology NAS with Docker (Container Manager) installed
|
- Synology NAS with Docker (Container Manager) installed
|
||||||
- FTP server enabled on DSM
|
- FTPS (FTP over TLS) enabled on DSM
|
||||||
- Immich running (for photo management)
|
- Immich running (for photo management)
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
### 1. FTP Server (DSM)
|
### 1. FTPS Server (DSM)
|
||||||
|
|
||||||
1. Open **Control Panel → File Services → FTP**
|
1. Open **Control Panel → File Services → FTP**
|
||||||
2. Enable FTP service on port **21**
|
2. Enable FTP service on port **21**
|
||||||
3. Set passive port range: **50000-50100**
|
3. Enable **FTP SSL/TLS encryption** (FTPS)
|
||||||
4. Create a dedicated user `fujiftp` with write access to `/volume2/photos/incoming`
|
4. Set passive port range: **50000-50100**
|
||||||
|
5. Create a dedicated user `fujiftp` with write access to `/volume2/photos/incoming`
|
||||||
|
|
||||||
### 2. Camera Configuration (Fuji X-H2)
|
### 2. Camera Configuration (Fuji X-H2)
|
||||||
|
|
||||||
@@ -46,6 +47,7 @@ Configure an FTP profile on the camera:
|
|||||||
|
|
||||||
| Setting | Value |
|
| Setting | Value |
|
||||||
|-----------------|--------------------------|
|
|-----------------|--------------------------|
|
||||||
|
| FTP Server Type | **FTPS** |
|
||||||
| Server IP | `192.168.175.141` |
|
| Server IP | `192.168.175.141` |
|
||||||
| Port | `21` |
|
| Port | `21` |
|
||||||
| Passive Mode | **ON** |
|
| Passive Mode | **ON** |
|
||||||
@@ -54,6 +56,8 @@ Configure an FTP profile on the camera:
|
|||||||
| Upload Dir | `/incoming` |
|
| Upload Dir | `/incoming` |
|
||||||
| Auto Transfer | ON (or manual trigger) |
|
| Auto Transfer | ON (or manual trigger) |
|
||||||
|
|
||||||
|
> **Note**: Bij FTPS kun je via **FTP OPTIONAL SETTING → ROOT CERTIFICATE** een self-signed root certificaat laden als je NAS er een gebruikt.
|
||||||
|
|
||||||
### 3. Deploy
|
### 3. Deploy
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
9
TODO.md
9
TODO.md
@@ -1,9 +1,10 @@
|
|||||||
# Fuji Photo Processor - Handmatige Setup Stappen
|
# Fuji Photo Processor - Handmatige Setup Stappen
|
||||||
|
|
||||||
## 1. Synology FTP Server inschakelen
|
## 1. Synology FTPS Server inschakelen
|
||||||
- [ ] DSM → Control Panel → File Services → FTP tab
|
- [ ] DSM → Control Panel → File Services → FTP tab
|
||||||
- [ ] Enable FTP service aanvinken
|
- [ ] Enable FTP service aanvinken
|
||||||
- [ ] Poort: 21 (standaard)
|
- [ ] Poort: 21 (standaard)
|
||||||
|
- [ ] **Enable FTP SSL/TLS encryption (FTPS)** aanvinken
|
||||||
- [ ] Passive mode port range: 50000-50100
|
- [ ] Passive mode port range: 50000-50100
|
||||||
- [ ] Character encoding: UTF-8
|
- [ ] Character encoding: UTF-8
|
||||||
|
|
||||||
@@ -45,17 +46,19 @@
|
|||||||
- [ ] Kies FTP Transfer → Wireless LAN
|
- [ ] Kies FTP Transfer → Wireless LAN
|
||||||
- [ ] WiFi netwerk selecteren + wachtwoord invoeren
|
- [ ] WiFi netwerk selecteren + wachtwoord invoeren
|
||||||
- [ ] FTP Server instellingen:
|
- [ ] FTP Server instellingen:
|
||||||
|
- [ ] **FTP Server Type: FTPS**
|
||||||
- [ ] Server: `192.168.175.141`
|
- [ ] Server: `192.168.175.141`
|
||||||
- [ ] Port: `21`
|
- [ ] Port: `21`
|
||||||
- [ ] Passive mode: ON
|
- [ ] Passive mode: ON
|
||||||
- [ ] Username: `fujiftp`
|
- [ ] Username: `fujiftp`
|
||||||
- [ ] Password: (het ingestelde wachtwoord)
|
- [ ] Password: (het ingestelde wachtwoord)
|
||||||
- [ ] Upload directory: `/incoming`
|
- [ ] Upload directory: `/incoming`
|
||||||
- [ ] Profiel naam: "NAS-FTP"
|
- [ ] Optioneel: FTP OPTIONAL SETTING → ROOT CERTIFICATE (als NAS self-signed cert gebruikt)
|
||||||
|
- [ ] Profiel naam: "NAS-FTPS"
|
||||||
- [ ] Opslaan
|
- [ ] Opslaan
|
||||||
|
|
||||||
## 7. Testen
|
## 7. Testen
|
||||||
- [ ] FTP verbinding testen: `ftp 192.168.175.141` met fujiftp credentials
|
- [ ] FTPS verbinding testen: `curl --ftp-ssl ftp://fujiftp@192.168.175.141/incoming/ -k`
|
||||||
- [ ] Upload een test JPEG via FTP
|
- [ ] Upload een test JPEG via FTP
|
||||||
- [ ] Check processor logs → moet verwerking tonen
|
- [ ] Check processor logs → moet verwerking tonen
|
||||||
- [ ] Check `/volume2/photos/originals/` → origineel verplaatst
|
- [ ] Check `/volume2/photos/originals/` → origineel verplaatst
|
||||||
|
|||||||
Reference in New Issue
Block a user