Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
psi-4ward/psitransfer: Simple open source self-hosted file sharing solution.

psi-4ward/psitransfer: Simple open source self-hosted file sharing solution.

12 hours ago

PsiTransfer

Current Release</a> Dependencies</a> Known Vulnerabilities</a> Github Stars</a> Docker Stars</a> Image Size</a> Docker Pulls</a> Docker Automated buil</a> Donate</a>

Simple open source self-hosted file sharing solution. It's an alternative to paid services like Dropbox, WeTransfer.

**See the blog posts about PsiTransfer: https://psi.cx/tags/PsiTransfer/ and checkout the Documentation**

!Screenshot

Quickstart

Docker

$ 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 2.x.x
  • 1.1: latest stable 1.1.x
  • 1.0.0: exact version

Manual, precompiled

# 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

Configuration

There are some configs in config.js like port and data-dir. You can:

  • Edit the config.js (not recommend)
  • Add a config.production.js where production is the value from NODE_ENV
See config.dev.js
  • Define environment Variables like PSITRANSFER_UPLOAD_DIR to set the upload directory
  • To secure your PsiTransfer if exposed to the internet from unwanted, non authorized uploads use the PSITRANSFER_UPLOAD_PASS environment variable

Customization

public/pug/upload.pug and download.pug are kept simple. You can alter these files and add your logo and styles. Please keep a footnote like Powered by PsiTransfer :)

Debug

Psitransfer uses debug:

DEBUG=psitransfer:* npm start

Side notes

  • There is no (end-to-end) payload encryption (yet).
  • Download all as ZIP does not support resuming the download.
:star2: Contribution is highly welcome :metal:

Want to say thanks and buy me a beer? Donate</a>

License

BSD

Chat with me