feat(one-time-downloads): add expiry and retry configuration
Introduce new environment variables to control the behavior of one-time download boxes: - `WARPBOX_ONE_TIME_DOWNLOAD_EXPIRY_SECONDS`: Sets the lifetime of a one-time box after uploads are complete. - `WARPBOX_ONE_TIME_DOWNLOAD_RETRY_ON_FAILURE`: Determines whether a box remains available if the ZIP creation or transfer fails. To support these settings, the ZIP delivery process was refactored to use a temporary file. This ensures that a one-time box is only marked as consumed after the file has been successfully transferred to the client, preventing data loss on network interruptions. Additionally, added a `DecorateFiles` helper in the box store to reduce code duplication.
This commit is contained in:
@@ -47,6 +47,8 @@ ENV WARPBOX_DATA_DIR=/app/data \
|
||||
WARPBOX_API_ENABLED=true \
|
||||
WARPBOX_ZIP_DOWNLOADS_ENABLED=true \
|
||||
WARPBOX_ONE_TIME_DOWNLOADS_ENABLED=true \
|
||||
WARPBOX_ONE_TIME_DOWNLOAD_EXPIRY_SECONDS=604800 \
|
||||
WARPBOX_ONE_TIME_DOWNLOAD_RETRY_ON_FAILURE=false \
|
||||
WARPBOX_ADMIN_ENABLED=true \
|
||||
WARPBOX_GLOBAL_MAX_FILE_SIZE_MB=2048 \
|
||||
WARPBOX_GLOBAL_MAX_BOX_SIZE_MB=4096 \
|
||||
@@ -60,4 +62,4 @@ EXPOSE 8080
|
||||
|
||||
VOLUME ["/app/data"]
|
||||
|
||||
CMD ["./warpbox", "run", "--addr", ":8080"]
|
||||
CMD ["./warpbox", "run", "--addr", ":8080"]
|
||||
|
||||
Reference in New Issue
Block a user