# Setillo (Synology DS223j)

**Tailscale IP**: 100.125.0.20
**Model**: Synology DS223j
**Primary role**: Backups, Plex media, Syncthing sync node

## SSH Access

| Alias | User | Notes |
|-------|------|-------|
| `ssh setillo` | vish | Standard user access |
| `ssh setillo-root` | root | Key added 2026-02-28; required for Docker commands |

Root SSH is required for all Docker operations because `/var/run/docker.sock` is `root:root`
and the `vish` user has no docker group membership on DSM.

## Docker

- **Binary**: `/var/packages/REDACTED_APP_PASSWORD/target/usr/bin/docker`
- **Socket**: `/var/run/docker.sock` (root:root — use `ssh setillo-root` for docker commands)
- **Deploy example**:
  ```bash
  ssh setillo-root
  /var/packages/REDACTED_APP_PASSWORD/target/usr/bin/docker compose -f /volume1/homes/vish/service.yaml up -d
  ```

## SMB Shares

| Share | Path |
|-------|------|
| `backups` | Backup storage |
| `docker` | Docker config/data |
| `PlexMediaServer` | Plex metadata |
| `syncthing` | Syncthing sync data |

Same SMB credentials as Atlantis.

## Services

| Service | Compose file | Notes |
|---------|-------------|-------|
| dozzle-agent | `dozzle-agent.yaml` | Dozzle log aggregation agent (port 7007) |
| prometheus | `prometheus/` | Metrics collection |
| adguard | `adguard/` | DNS filtering |

## Boot Tasks (esynoscheduler)

| Task name | Event | Depends on | Purpose |
|-----------|-------|------------|---------|
| Docker mount propagation | bootup | — | `mount --make-shared /` — required for Docker bind mounts |

Added 2026-02-28 directly to `/usr/syno/etc/esynoscheduler/esynoscheduler.db`. No VPN on setillo so no `depend_on_task` (unlike Atlantis which depends on `VPNTUN`).

## Deployed via

Docker commands run directly via `ssh setillo-root` — not managed by Portainer.
