2020-07-09 20:01:25 +00:00
|
|
|
# datatrash
|
|
|
|
|
|
|
|
A file and text uploading service with configurable time limit
|
|
|
|
|
|
|
|
![Application screenshot](./screenshot.png)
|
|
|
|
|
|
|
|
## compiling
|
|
|
|
|
2020-07-12 01:16:17 +00:00
|
|
|
```sh
|
|
|
|
cargo build --release
|
|
|
|
```
|
|
|
|
|
|
|
|
or
|
|
|
|
|
2020-07-12 00:26:11 +00:00
|
|
|
```sh
|
|
|
|
docker build -t datatrash .
|
|
|
|
docker cp datatrash:/home/rust/.cargo/bin/datatrash datatrash
|
|
|
|
```
|
2020-07-09 20:01:25 +00:00
|
|
|
|
2020-07-12 00:26:11 +00:00
|
|
|
or, to just run it in docker
|
2020-07-09 20:01:25 +00:00
|
|
|
|
2020-07-12 00:26:11 +00:00
|
|
|
```sh
|
|
|
|
docker-compose up -d --build
|
|
|
|
```
|
2020-07-09 20:01:25 +00:00
|
|
|
|
|
|
|
## running & config
|
|
|
|
|
2021-12-08 17:54:55 +00:00
|
|
|
- The `static` files directory needs to be next to the binary.
|
|
|
|
- The `static` directory needs to be writable
|
|
|
|
- On startup the `index.html` will be generated based on the config
|
2021-04-07 22:03:02 +00:00
|
|
|
- The maximum filename length is 255
|
|
|
|
|
|
|
|
### General configuration
|
|
|
|
|
|
|
|
| environment variable | default value |
|
|
|
|
| -------------------- | -------------- |
|
2021-12-08 17:54:55 +00:00
|
|
|
| STATIC_DIR | ./static |
|
2021-04-07 22:03:02 +00:00
|
|
|
| FILES_DIR | ./files |
|
|
|
|
| UPLOAD_MAX_BYTES | 8388608 (8MiB) |
|
|
|
|
| BIND_ADDRESS | 0.0.0.0:8000 |
|
|
|
|
|
|
|
|
### Database configuration
|
|
|
|
|
|
|
|
| environment variable | default value |
|
|
|
|
| -------------------- | ------------- |
|
|
|
|
| DATABASE_URL | |
|
|
|
|
| DATABASE_USER | |
|
|
|
|
| DATABASE_PASS | |
|
|
|
|
| DATABASE_HOST | localhost |
|
|
|
|
| DATABASE_NAME | datatrash |
|
|
|
|
|
|
|
|
### No auth limits configuration
|
|
|
|
|
|
|
|
Require authentication for certain uploads
|
|
|
|
|
|
|
|
- The password is provided as plain text
|
|
|
|
- Uploads with longer validity than NO_AUTH_MAX_TIME require authentication
|
|
|
|
- Uploads larger than NO_AUTH_LARGE_FILE_SIZE require auth when they are valid for longer than
|
|
|
|
NO_AUTH_LARGE_FILE_MAX_TIME
|
|
|
|
- All times are in seconds, the size is in bytes
|
|
|
|
|
|
|
|
| environment variable | default value |
|
|
|
|
| --------------------------- | ------------- |
|
|
|
|
| AUTH_PASSWORD | |
|
|
|
|
| NO_AUTH_MAX_TIME | |
|
|
|
|
| NO_AUTH_LARGE_FILE_MAX_TIME | |
|
|
|
|
| NO_AUTH_LARGE_FILE_SIZE | |
|