immich
immich copied to clipboard
[BUG] Uploading Videos from ios Safari to Web does not work.
The bug
User Story: I want to upload videos from my iPhone to immich through the Web Page (E.g. becuase I do only have some shared link of immich).
iPhones / Safari seems to transcode / alter the videos before upload (no idea if we can have influence to this from the web application). After the transcode the upload to immich does not seem to start though.
Current behavior: Upload of Videos does not start after the iPhone "prepration" of the video.
Expected behavior: We skip the transcoding / preperation on the iPhone (if possible). else: The Upload starts properly after the preperation.
The OS that Immich Server is running on
Docker on Debian Host
Version of Immich Server
v1.56.2
Version of Immich Mobile App
n. a.
Platform with the issue
- [X] Server
- [X] Web
- [ ] Mobile
Your docker-compose.yml content
n.a.
Your .env content
n.a.
Reproduction steps
1. Share link
2. Try to upload videos from the iPhone
3. see failed upload
...
Additional information
Tested on an iPhone 7 with iOS 16. But I got the feedback from people I shared a link with, that uploads do not work on newer iPhones on ios 17 as well.
I run another http proxy in front of the immich proxy.
server {
if ($host = photos.dfghfdgh.org) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name photos.dfghdfgh.org;
listen 80;
listen [::]:80;
return 404; # managed by Certbot
}
server {
server_name photos.sdfgfd.org;
listen 443 ssl http2;
listen [::]:443 ssl http2;
client_max_body_size 0;
access_log /var/log/nginx/photos.access.log; # reduce I/0 with buffer=10m flush=5m
error_log /var/log/nginx/photos.error.log;
add_header Strict-Transport-Security "max-age=15553000; includeSubDomains; preload;";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy no-referrer;
location / {
proxy_connect_timeout 36000;
proxy_send_timeout 36000;
proxy_read_timeout 36000;
send_timeout 36000;
proxy_headers_hash_max_size 512;
proxy_headers_hash_bucket_size 64;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header Strict-Transport-Security "max-age=15553000; preload;";
add_header Front-End-Https on;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_pass http://127.0.0.1:2283;
}
ssl_certificate /etc/letsencrypt/live/docker.int.sdfgg.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/docker.int.sdgfd.org/privkey.pem;
}
@zackpollard is this the same issue you ran into this weekend?
Not the exact same issue, but seems related. Not sure if the person uploading their photos also had videos that failed to upload.
May be related, but on android all my videos stopped uploading. Issue was tracked down to nginx-proxy that is in front of immich (for ssl) buffering large files (so videos) to file, and due to some error on that, all video uploads thus failed.
In nginx logs I could see:
*91 a client request body is buffered to a temporary file...
I disabled nginx buffering:
proxy_request_buffering off;
client_max_body_size 0;
in nginx ssl proxy and videos uploaded again.