Simple open source self-hosted file sharing solution.
It’s an alternative to paid services like Dropbox, WeTransfer.
- No accounts, no logins
- Mobile friendly responsive interface
- Supports many and very big files (Streams ftw)
- Resumable up- and downloads (tus.io)
- Set an expire-time for your upload bucket
- One-time downloads
- Download all files as zip/tar.gz archive
- Modal-style file preview
- Requires Node >=7.4 or use
- Password protected download list (AES)
/adminPage lists bucket information, Screenshot (disabled until you set
- Lightweight Vue based frontend apps. Gzipped (on by default) less than 65k
- Explicit named bucket IDs with query param
$ docker run -p 0.0.0.0:3000:3000 -e PSITRANSFER_ADMIN_PASS=secret -v $PWD/data:/data psitrax/psitransfer # data volume needs UID 1000 $ sudo chown -R 1000 $PWD/data
Specify the version by using image tags e.g.:
latest: corresponds to master branch
1: latest stable
1.1: latest stable
1.0.0: exact version
# Be sure to have NodeJS >= 7.4 $ node -v v7.4.0 # Download and extract latest release package from # https://github.com/psi-4ward/psitransfer/releases # Install dependencies and start the app $ NODE_ENV=production npm install $ npm start
Manual, from source
Compile the frontend apps cd app npm install npm run build Install dependencies cd .. npm install npm start
There are some configs in
config.js like port and data-dir.
- Edit the
- Add a
productionis the value from
- Define environment Variables like
download.html are kept simple.
You can alter these files and add your logo and styles.
The following elements are mandatory:
common.js and respectively
download.js as well as
Please keep a footnote like Powered by PsiTransfer 🙂
Psitransfer uses debug:
DEBUG=psitransfer:* npm start
- There is no (end-to-end) payload encryption (yet).
Download all as ZIPdoes not support resuming the download.
🌟 Contribution is highly welcome 🤘