โฌ Upload
In the top right corner of the web interface, there is an upload button. Clicking it will open a file picker. You can select multiple files and upload them.
What kinds of files are supported?โ
We accept all files that have a mime type of image or video.
How does it work?โ
The upload process works in the following way:
- Check if file is on the server by comparing the hash
md5 + user_id
- If it is, don't upload it
- If it isn't, upload it
- We upload files in 1MB chunks
- If all files are uploaded, we scan the your
scan folder + /uploads/web
Where are the files saved?โ
The upload behavior depends on whether the user has a scan directory configured:
When scan directory is properly configured:โ
- Files are saved to:
{scan_directory}/uploads/web/{filename}
- This is the normal and expected behavior
- Files are stored in the mounted host directory and are persistent
When scan directory is NOT configured (โ ๏ธ Problem):โ
- Files are saved to:
uploads/web/{filename}
(relative path) - This resolves to
/code/uploads/web/{filename}
inside the container - Files are stored inside the container's filesystem
- Files will be lost when the container is restarted or recreated
- This is the issue described in librephotos-docker#144
Prerequisites for uploadโ
To use the upload feature properly, you must have:
- Upload feature enabled: Set
ALLOW_UPLOAD=true
in your environment variables or enable it in the admin panel - Scan directory configured: Every user must have a scan directory set up by an admin
How to configure scan directoryโ
- Admin users only: Only admins can set scan directories for users
- Access admin panel: Click on your avatar (top right) โ
Admin Area
- Set scan directory: Manually set the
Scan Directory
for each user - Verify path: The directory must exist and be accessible to the container
Activate / Deactivate the upload featureโ
You can activate / deactivate by navigating as an admin to the admin area and clicking on the Allow uploads
switch. You can also set this by setting the environment variable ALLOW_UPLOADS
to true
or false
.
Scanning uploaded photosโ
After upload, you can scan the uploaded photos in two ways:
- Automatic scanning: The upload process automatically triggers processing for the uploaded photo
- Manual scanning: You can manually scan all uploaded photos by going to the Library page and clicking the scan button
Troubleshootingโ
Files disappear after container restartโ
Cause: This happens when the user doesn't have a scan directory configured. Solution: Set up a scan directory for the user via the admin panel.
Upload fails with permission errorsโ
Cause: The container doesn't have write permissions to the scan directory. Solution: Check the directory permissions and ensure the container can write to the mounted directory.
Upload button not visibleโ
Cause: Upload feature is disabled.
Solution: Enable uploads via environment variable ALLOW_UPLOAD=true
or in the admin panel.
Docker configuration for uploadsโ
If you're using Docker and want to ensure uploads are properly mounted (workaround for missing scan directory):
backend:
volumes:
- ${scanDirectory}:/data
- ${data}/uploads:/code/uploads # Workaround for users without scan directory
However, the proper solution is to ensure all users have scan directories configured rather than relying on this workaround.