Simple open source self-hosted file sharing solution, based on the original PsiTransfer project.
1.6K
Simple open source self-hosted file sharing solution, based on the original PsiTransfer project.
This image is built from a fork with the following changes:
PSITRANSFER_APP_NAME (default remains PsiTransfer).docker run -d \
-p 3000:3000 \
-e PSITRANSFER_APP_NAME="MyBrand" \
-v $PWD/data:/data \
hbixu/psitransfer:latest
services:
psitransfer:
image: hbixu/psitransfer:2.3.1
ports:
- "3000:3000"
environment:
NODE_ENV: production
PSITRANSFER_APP_NAME: "MyBrand"
volumes:
- ./data:/data
PsiTransfer accepts environment variables prefixed with PSITRANSFER_ that map to keys in config.js. All env vars override any config file value.
NODE_ENV: Determines which config.<NODE_ENV>.js file is loaded (if present).PSITRANSFER_APP_NAME: Display name shown in page headers and <title>. Default: PsiTransfer.config.js)Use the same key name as in config.js, uppercased and prefixed with PSITRANSFER_.
| Env var | Type | Description |
|---|---|---|
PSITRANSFER_UPLOAD_DIR | string | Upload storage path; absolute path recommended in containers. Default: ./data (resolved). |
PSITRANSFER_BASE_URL | string | Public base path; must end with / (auto-fixed).Default: /. |
PSITRANSFER_UPLOAD_APP_PATH | string | Upload app path under baseUrl; auto-normalized.Default: /. |
PSITRANSFER_IFACE | string | Bind interface for HTTP/HTTPS servers. Default: 0.0.0.0. |
PSITRANSFER_PORT | number | HTTP port; set false to disable HTTP.Default: 3000. |
PSITRANSFER_SSL_PORT | number | HTTPS port; active only with key/cert. Default: 8443. |
PSITRANSFER_SSL_KEY_FILE | string | Path to SSL key file. Default: false. |
PSITRANSFER_SSL_CERT_FILE | string | Path to SSL cert file. Default: false. |
PSITRANSFER_FORCE_HTTPS | string | Force HTTPS; true or a full URL.Default: empty. |
PSITRANSFER_TRUST_PROXY | string | Express trust proxy setting (when behind reverse proxy). Default: empty. |
PSITRANSFER_RETENTIONS | object (JSON) | JSON object of retention options (keys are seconds or "one-time", values are labels). Default options: "one-time", "3600", "21600", "86400", "259200", "604800", "1209600", "2419200", "4838400".Default: see config.js. |
PSITRANSFER_ADMIN_PASS | string/boolean | Enables /admin when set; false disables.Default: false. |
PSITRANSFER_UPLOAD_PASS | string/boolean | Password required to upload when set. Default: false. |
PSITRANSFER_REQUIRE_BUCKET_PASSWORD | boolean | Makes bucket password field mandatory. Default: false. |
PSITRANSFER_DEFAULT_RETENTION | string | Default retention in seconds (string). Default: 604800. |
PSITRANSFER_MAX_AGE | number | Max file age before expiry (seconds). Default: 75 days (seconds). |
PSITRANSFER_MAX_PREVIEW_SIZE | number | Max file size for previews (bytes). Default: 2MB (bytes). |
PSITRANSFER_MAIL_TEMPLATE | string | Email share template. Default: mailto:?subject=File Transfer&body=You can download the files here: %%URL%%. |
PSITRANSFER_ACCESS_LOG | string/boolean | Access log format; false disables logging.Default: format string. |
PSITRANSFER_FILE_DOWNLOADED_WEBHOOK | string/null | Webhook URL invoked on file download. Default: null. |
PSITRANSFER_FILE_UPLOADED_WEBHOOK | string/null | Webhook URL invoked on file upload. Default: null. |
PSITRANSFER_DEFAULT_LANGUAGE | string | Fallback UI language code. Default: en. |
PSITRANSFER_MAX_FILE_SIZE | number/null | Max upload file size (bytes). Default: null. |
PSITRANSFER_MAX_BUCKET_SIZE | number/null | Max total size per bucket (bytes). Default: null. |
PSITRANSFER_PLUGINS | array (CSV) | Comma-separated list of plugin names. Default: file-downloaded-webhook,file-uploaded-webhook. |
PSITRANSFER_DISABLE_QR_CODE | boolean | Disables QR code button for download links. Default: false. |
PsiTransfer is BSD-2-Clause licensed. This image keeps the same license and references.
Redistribution is permitted if the copyright notices and license text are retained.
Content type
Image
Digest
sha256:79df205a9…
Size
88.9 MB
Last updated
6 months ago
docker pull hbixu/psitransfer