https://github.com/znitche/homedrive
Flask based minimalist file server with users accounts permissions
https://github.com/znitche/homedrive
Last synced: 11 months ago
JSON representation
Flask based minimalist file server with users accounts permissions
- Host: GitHub
- URL: https://github.com/znitche/homedrive
- Owner: zNitche
- Created: 2020-12-07T18:51:12.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-05-18T20:01:45.000Z (about 3 years ago)
- Last Synced: 2023-05-18T21:23:25.810Z (about 3 years ago)
- Language: Python
- Homepage:
- Size: 91.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HomeDrive
### Easy to use minimalist file server
Django reimplementation [here](https://github.com/zNitche/IO)
---
## App + MySQL Setup:
### Install
1. Clone this repo.
2. Generate `.env` config file and change config values (`STORAGE_*_PATH` and `MYSQL_ROOT_PASSWORD`).
```
python3 generate_dotenv.py --db_mode MySQL
```
3. Run docker container.
```
sudo docker compose -f docker-compose.yml up -d
```
### Dev
1. Change `MYSQL_SERVER_HOST` in `.env` to `127.0.0.1`
2. Run DEV docker-compose.
```
sudo docker compose -f docker-compose-dev.yml up
```
## App + SQLite Setup:
### Install
1. Clone this repo.
2. Generate `.env` config file and change config values (`STORAGE_*_PATH`).
```
python3 generate_dotenv.py --db_mode SQLite
```
3. Run docker container.
```
sudo docker compose -f docker-compose-sqlite.yml up -d
```
### Dev
just run app
```
python3 app.py
```
## Create accounts
1. Bash into container.
```
sudo docker container exec -it home_drive_web_app bash
```
2. Create users accounts using `users_manager.py` (this includes user's permissions settings).
### Usage
1. Use `Shared/Private` switch to switch between shared and private space (if current user has private space)
2. Use `Download/Delete` buttons to manage files (download and delete them)
3. Use `Create Directory` button to create directory inside your private space
4. Use `Upload` button to upload file to shared or private space (or selected directory inside private space)