You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Version is defined in `VERSION`. Pushing to `main` publishes that tag (and `latest`) to GHCR. Bump `VERSION` for a new release so Portainer/Renovate can pick it up.
-Clean dark-theme UI, tuned for phones and foldables (Galaxy Z Fold folded + unfolded)
11
+
-Dark-theme UI that works on desktop, phones, and foldables
14
12
- Browse **Saved**, **Sentry**, and **Recent** clips
15
13
- Filter by date range
16
14
- Multi-camera synchronized playback (front / back / left / right / pillars)
17
-
-Fullscreen a single camera (button, **Fullscreen** in the player bar, or double-tap). Phones use a viewport overlay because native Fullscreen on a tile often does nothing on Android/Samsung.
18
-
- Uses existing `thumb.png` when available, otherwise generates a thumbnail
15
+
-Per-camera fullscreen (button, player bar, or double-tap)
16
+
- Uses `thumb.png` when present, otherwise generates a thumbnail
19
17
- Optional HTTP Basic Authentication
20
18
- Read-only media mount
21
-
- Runs as TrueNAS apps user (`PUID`/`PGID` 568 by default)
22
19
23
-
## Image (GHCR)
20
+
## Quick start
24
21
22
+
```bash
23
+
docker run -d --name teslacam-viewer \
24
+
-p 8000:8000 \
25
+
-e TZ=UTC \
26
+
-v /path/to/TeslaUSB:/media:ro \
27
+
ghcr.io/adsouza98/teslacam-viewer:1.1.4
25
28
```
26
-
ghcr.io/adsouza98/teslacam-viewer:1.1.1
29
+
30
+
Or with Compose:
31
+
32
+
```yaml
33
+
services:
34
+
teslacam-viewer:
35
+
image: ghcr.io/adsouza98/teslacam-viewer:1.1.4
36
+
container_name: teslacam-viewer
37
+
environment:
38
+
PUID: "1000"
39
+
PGID: "1000"
40
+
TZ: UTC
41
+
AUTH_USER: ""# optional
42
+
AUTH_PASS: ""# optional
43
+
volumes:
44
+
- /path/to/TeslaUSB:/media:ro
45
+
- teslacam-cache:/cache
46
+
ports:
47
+
- "8000:8000"
48
+
restart: unless-stopped
49
+
50
+
volumes:
51
+
teslacam-cache:
27
52
```
28
53
29
-
Because this repository is **private**, Portainer needs a GitHub PAT (`read:packages`) registered as a Docker registry:
54
+
Then open `http://localhost:8000`.
30
55
31
-
- Registry URL: `https://ghcr.io`
32
-
- Username: your GitHub username
33
-
- Password: PAT with `read:packages`
56
+
The GHCR image is public — no GitHub login is required to pull it.
34
57
35
-
You do **not** clone this repo onto TrueNAS. Pin the version in `homelab-stacks` and let Portainer poll git / Renovate bump the tag.
58
+
## Expected folder layout
36
59
37
-
## Folder Structure Expected
60
+
Mount the TeslaUSB archive at `/media` (read-only). Either of these works:
38
61
39
62
```
40
63
/media/
@@ -50,30 +73,41 @@ You do **not** clone this repo onto TrueNAS. Pin the version in `homelab-stacks`
50
73
└── RecentClips/
51
74
```
52
75
53
-
Also works if the clips live under `/media/TeslaCam/...`.
76
+
```
77
+
/media/TeslaCam/SavedClips/...
78
+
```
54
79
55
-
## Portainer environment variables
80
+
## Environment variables
56
81
57
82
| Variable | Default | Description |
58
83
|----------|---------|-------------|
59
-
|`PUID`|`568`|Process user ID (TrueNAS apps)|
60
-
|`PGID`|`568`|Process group ID|
61
-
|`TZ`|`America/Toronto`|Timezone|
62
-
|`TESLACAM_MEDIA_PATH`|`/mnt/Starlink/Tesla/TeslaUSB`|Host path to TeslaUSB dataset|
0 commit comments