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 100k
- 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
2: latest stable
1.1: latest stable
1.0.0: exact version
# Be sure to have NodeJS >= 12 $ node -v v12.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
PSITRANSFER_UPLOAD_DIRto set the upload directory
- To secure your PsiTransfer if exposed to the internet from unwanted, non authorized uploads use the
download.pug are kept simple.
You can alter these files and add your logo and styles.
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.