Go to file
Dominik V. Salonen d2acfd264b Tweak the sample config 2018-03-20 22:16:48 +01:00
QuadFile Set default source for print_log() 2018-03-20 22:14:58 +01:00
static Edited some pages and cleaned conf.py sample 2016-01-18 09:07:35 +01:00
templates Update FAQ 2018-01-26 09:24:52 +00:00
.gitignore The note is back 2016-01-16 22:29:29 +01:00
LICENSE.md Updated to match 2016-02-02 21:48:51 +01:00
README.md Update README.md 2017-11-19 22:11:56 +01:00
__init__.py Initial move from Hyozan 2015-12-23 14:11:38 +01:00
conf.py.sample Tweak the sample config 2018-03-20 22:16:48 +01:00
requirements.txt Update Flask version 2018-03-20 19:38:26 +01:00
run.py Add more logging because I'm bored 2018-03-20 22:01:49 +01:00
schema.sql Initial move from Hyozan 2015-12-23 14:11:38 +01:00
wsgi.py Add Gunicorn entry point 2016-02-01 11:29:47 +01:00

README.md

QuadFile Version 2

A temporary (or permanent, depending on configuration) file sharing service written in Flask.

Features

  • Automatically remove files that aren't accessed often enough
  • Supports all filetypes
  • Prevents duplicate filenames
  • Works on all platforms (as long as they can use basic JavaScript)
  • Both easy to set up and use
  • Threaded for effective use of resources (Unless you're not on SSD, in which case, enjoy your I/O clogs m8)
  • Color-coded and real-time console log
  • Easy to use with most applications, such as ShareX

Requirements

Needed:

  • Python 3 (Python 2 might work, dunno, i don't test that, don't care either)
  • sqlite3 package for your OS (To create the database)
  • Install flask, currently that should be the only requirement and hopefully forever (pip install -r requirements.txt)

Recommended:

  • nginx, great for proxy_pass
  • gunicorn, allows you to use QuadFile with multiple workers

Using the thing

Test deployment

  • Clone the repo somewhere
  • pip install -r requirements.txt
  • Do cp conf.py.sample conf.py
  • Edit conf.py so that the information is correct
  • sqlite3 files.db < schema.sql
  • chmod +x run.py and then ./run.py
  • ???
  • PROFIT (Hopefully)

Production deployment

  • Clone the repo somewhere
  • Set up a virtual environment for QuadFile
  • pip install -r requirements.txt
  • Do cp conf.py.sample conf.py
  • Edit conf.py so that the information is correct
  • sqlite3 files.db < schema.sql
  • gunicorn wsgi:app -w 4 --bind 127.0.0.1:8282 --log-file $HOME/quadfile.log (Use supervisor to run it on boot if needed)
  • Configure nginx and proxy_pass it to gunicorn
  • ???
  • PROFIT (Hopefully)