# SFS - Simple file system Simple file server (web-based) to be used easily with curl. Written in python with framework flask. By default it used a simple SQLite database, but this can be adapted to your needs by editing config files. Scripts to use with bash and curl are available in the scripts folder. You can set your default server, username and password in the header of the script. This repository is licensed under GPL v3. ## Installation 1. Create a virtual environment `venv` (`python3 -m venv venv`) 2. Activate (`. venv/bin/activate`) 3. Install prerequisite python packages (`pip install -r requirements.txt`) 4. You will have to create a folder to store uploaded files (default is `./data`) 5. Copy files `settings.example.cfg` and `settings.example.py` to `settings.cfg` and `settings.py` and adjust parameters 6. You can start the test server with `python fs.py` ## Configuration an deployment For deployment, see [Flask documentation](https://flask.palletsprojects.com/en/1.1.x/deploying/). Configuration of uploading server and limitation of file size, as well as listening url for web server is configured in `settings.py`. Configuration of database is done in `settings.cfg` (use of SQLAlchemy, see corresponding documentation for advanced parameterizations). ## Principe * `fs.py` is the core file * `db.py` defines the database structure * `templates` folder contains all web views to be rendered with Jinja2 * `static` folder contains scripts, css and images If at running time, there is no user in database, a first user is created with admin rights. The login is `admin` and password is `admin`. You have to change it before deployment, of course ! ## Licence This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see Copyright (C) 2020 L. Viallon-Galinier