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
Copy file name to clipboardExpand all lines: FEATURES.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,20 @@
2
2
3
3
Clapshot is a self-hosted video/media review and annotation platform designed for collaborative content review workflows. This feature listing provides end-users and system administrators with an overview of Clapshot's capabilities.
4
4
5
+
## Platform Support
6
+
7
+
**Recommended Environment:**
8
+
-**Desktop browsers:** Chrome/Chromium recommended for full compatibility
9
+
-**Operating systems:** Works on Windows, macOS, Linux
10
+
11
+
**Mobile Browser Limitations:**
12
+
- ⚠️ **Limited mobile support:** Clapshot is a desktop-first application
13
+
-**iOS/iPad issues:** Double-tap doesn't open videos/folders, video player controls may not function properly
14
+
-**Touch interface:** Drawing annotation submission fails on mobile browsers
15
+
-**Recommendation:** Use desktop browsers for production work; mobile browsers for viewing only
16
+
17
+
For details, see [GitHub issue #68](https://github.com/elonen/clapshot/issues/68).
Copy file name to clipboardExpand all lines: README.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,21 @@ Clapshot is an open-source, self-hosted tool for collaborative video/media revie
29
29
30
30
If you don't require local hosting, or are not adept in networking and Linux, consider commercial cloud services which may offer more user-friendly interfaces and additional features out of the box.
31
31
32
+
### Known Limitations
33
+
34
+
**Browser Compatibility:**
35
+
-**Desktop-first design:** Chrome/Chromium recommended for best compatibility
36
+
-**Mobile browsers:** Limited support - double-tap to open doesn't work on iOS/iPad, video player controls may not function properly, drawing annotations fail. Use desktop browsers for full functionality.
37
+
38
+
**Reverse Proxy Considerations:**
39
+
-**IIS:** Hard 2GB file upload limit (use monitored folder ingestion for larger files)
40
+
-**Cloudflare free tier:**~100 second upload timeout can interrupt large file uploads
41
+
42
+
For large file uploads with these proxies, use the [monitored folder ingestion](doc/sysadmin-guide.md#monitored-folder-ingestion) feature with SFTP/SMB instead of HTTP uploads.
43
+
44
+
**Authentication:**
45
+
-**PHP htadmin:** The included htadmin example is simplistic and limited for user management and security. For production deployments, consider integrating with a modern identity provider (OAuth, LDAP, Kerberos, SAML, etc.) via reverse proxy. See [Advanced Authentication](doc/sysadmin-guide.md#advanced-authentication).
Copy file name to clipboardExpand all lines: doc/connection-troubleshooting.md
+73Lines changed: 73 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -182,6 +182,79 @@ CAUTION: Using '*' in production could expose your users' data to malicious acto
182
182
docker run ... -e CLAPSHOT_CORS="https://yourdomain.com" ...
183
183
```
184
184
185
+
### 5. Large File Upload Failures
186
+
187
+
**Symptoms:**
188
+
- Uploads fail at ~1.5-2GB or after ~100 seconds
189
+
- Error in logs: `Upload failed: error reading a body from connection: end of file before message length reached`
190
+
- Upload progress stops and times out
191
+
192
+
#### A. IIS Reverse Proxy Limitations
193
+
194
+
**Problem:** Microsoft IIS has a hard-coded 2GB upload limit that cannot be easily bypassed.
195
+
196
+
**Solutions:**
197
+
198
+
1.**Switch to a different reverse proxy** (Recommended)
199
+
- Use Nginx, Apache, or Caddy instead of IIS
200
+
- These proxies support larger file uploads with proper configuration
201
+
202
+
2.**Use monitored folder ingestion** (Workaround)
203
+
204
+
Edit `/etc/clapshot-server.conf`:
205
+
```ini
206
+
[general]
207
+
ingest-username-from = folder-name
208
+
```
209
+
210
+
If using Docker instead:
211
+
```bash
212
+
docker run ... -e CLAPSHOT_SERVER__INGEST_USERNAME_FROM=folder-name ...
213
+
```
214
+
215
+
- Set up SFTP/SMB access to the `incoming/` directory
216
+
- Create subdirectories named after usernames: `incoming/alice/`, `incoming/bob/`
217
+
- Users upload files to their directories (via SFTP/FTP/SMB)
218
+
- Clapshot automatically detects and processes files based on folder name
219
+
- See [Monitored Folder Ingestion](sysadmin-guide.md#monitored-folder-ingestion) for details
220
+
221
+
**Important:** File permissions must allow `www-data` (or Clapshot server user) to move files during processing.
222
+
223
+
#### B. Cloudflare Limitations
224
+
225
+
**Problem:** Cloudflare free tier enforces a ~100 second upload timeout that can interrupt large file uploads.
226
+
227
+
**Warning from README:**
228
+
> Cloudflare – at least in the free plan – apparently limits HTTP upload times and/or sizes, so double check their offerings if you are planning to use this option for a production deployment.
229
+
230
+
**Solutions:**
231
+
232
+
1.**Use Cloudflare paid plans** with higher limits
233
+
2.**Use monitored folder ingestion** (same configuration as above)
234
+
3.**Use a different tunnel/proxy solution** for large file uploads
235
+
4.**Split your setup:**
236
+
- Cloudflare for web UI access
237
+
- Direct connection or VPN for file uploads
238
+
239
+
#### C. Other Reverse Proxy Considerations
240
+
241
+
Ensure your reverse proxy is configured for large uploads:
Copy file name to clipboardExpand all lines: llms.txt
+23-1Lines changed: 23 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -23,10 +23,14 @@ When helping Clapshot users:
23
23
5. **Environment variables vs config files** - Docker uses `CLAPSHOT_SERVER__*` environment variables; Debian uses `/etc/clapshot-server.conf`. Both achieve the same result. Legacy variable names like `CLAPSHOT_URL_BASE` still work but `CLAPSHOT_SERVER__URL_BASE` is preferred.
24
24
25
25
6. **Known limitations** - Currently optimized for desktop browsers (Chrome/Chromium recommended). Mobile browser support is incomplete (touch events, video playback). This is a known limitation documented in issue #68.
26
+
- **Mobile browsers:** Double-tap doesn't open videos/folders on iOS/iPad, video player controls may not work properly, drawing submit fails. This is a desktop-first application.
27
+
- **Cloudflare free tier:** ~100 second upload timeout can cause large file uploads to fail
28
+
- **IIS reverse proxy:** 2GB upload limit cannot be easily bypassed; use monitored folder ingestion instead
26
29
27
30
7. **Customization options** - While Clapshot doesn't support extensive CSS theming (Tailwind-based UI), you CAN customize:
28
31
- **Branding:** Application title and logo via `CLAPSHOT_APP_TITLE` and `CLAPSHOT_LOGO_URL` environment variables
29
-
- **Media processing:** Transcoding and thumbnailing are handled by bash scripts that can be customized or replaced. Edit `/etc/clapshot-transcode.conf` to override ffmpeg settings (hardware acceleration, codecs, bitrates) or provide custom scripts via `--transcode-script` and `--thumbnail-script` arguments. See doc/transcoding.md for details.
32
+
- **Media processing:** Transcoding and thumbnailing are handled by bash scripts that can be customized or replaced. Edit `/etc/clapshot-transcode.conf` to override ffmpeg settings (hardware acceleration via Intel QSV, NVIDIA NVENC, VA-API, Apple VideoToolbox, or custom codecs/bitrates) or provide custom scripts via `--transcode-script` and `--thumbnail-script` arguments. See doc/transcoding.md for details.
33
+
- **Upload permissions:** Control per-user upload permissions via `X-Remote-User-Can-Upload` HTTP header from reverse proxy. See doc/sysadmin-guide.md#upload-permission-control
30
34
31
35
## What is Clapshot?
32
36
@@ -48,6 +52,17 @@ Clapshot provides professional video review capabilities similar to cloud servic
- `admin:admin` - Admin user (can edit all videos, manage users)
59
+
- `demo:demo` - Standard user with full permissions
60
+
- `alice:alice123` - Standard user with full permissions
61
+
- `bob:bob123` - User with **no upload permissions** (demonstrates upload restrictions)
62
+
- `htadmin:admin` - User management interface at `/htadmin/`
63
+
64
+
⚠️ **Security Warning:** Change all default passwords before production use!
65
+
51
66
### Essential Troubleshooting Documentation
52
67
53
68
**READ THESE FIRST when users report problems:**
@@ -86,6 +101,13 @@ Clapshot provides professional video review capabilities similar to cloud servic
86
101
- Docker bindings: `0.0.0.0:8080:80` not `127.0.0.1:8080:80`
87
102
- Check firewall allows ports 8080 and 8095
88
103
104
+
**Large file uploads (>2GB) fail:**
105
+
- IIS reverse proxy has a hard 2GB upload limit
106
+
- Cloudflare free tier has ~100 second timeout that can interrupt large uploads
107
+
- Workaround: Use monitored folder ingestion with `--ingest-username-from=folder-name` mode
108
+
- Drop files into `incoming/username/` directories (via SFTP/SMB) for automatic processing
109
+
- See doc/sysadmin-guide.md#monitored-folder-ingestion
110
+
89
111
### Features and Capabilities
90
112
91
113
[FEATURES.md](FEATURES.md): Comprehensive feature listing organized by category - Web Client UX, Media Processing, Organizer Plugin System, Administration/Security, and Development tools
0 commit comments