updating documentation

This commit is contained in:
2025-04-15 19:29:45 -04:00
parent 10983b9410
commit cb50a6ace7

View File

@@ -46,15 +46,38 @@ python src/app.py
### Docker Deployment ### Docker Deployment
1. Build the image: 1. Build the image:
```bash ```bash
docker build -t file-upload-server . docker build -t simplefileupload-server .
``` ```
2. Run the container: 2. Generate SSL Certificate (Required for Mobile App):
The mobile app requires SSL connections, so you'll need to generate a self-signed certificate or use your own certificate. To create a self-signed certificate:
```bash
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
```
3. Run the container:
Without SSL (Not compatible with mobile app):
```bash
docker run -p 7777:7777 simplefileupload-server
```
With SSL (Required for mobile app):
```bash
docker run -p 7777:7777 \
-v $(pwd)/cert.pem:/app/cert.pem \
-v $(pwd)/key.pem:/app/key.pem \
simplefileupload-server
```
You can combine the SSL certificates with other options like CLIENT_KEY and upload folder:
```bash ```bash
docker run -p 7777:7777 \ docker run -p 7777:7777 \
-e CLIENT_KEY=your-secret-key \ -e CLIENT_KEY=your-secret-key \
-v $(pwd)/cert.pem:/app/cert.pem \
-v $(pwd)/key.pem:/app/key.pem \
-v $(pwd)/tmp:/app/tmp \ -v $(pwd)/tmp:/app/tmp \
file-upload-server simplefileupload-server
``` ```
## API Endpoints ## API Endpoints
@@ -70,6 +93,27 @@ Upload a file and receive a download code.
- `max_downloads`: Maximum download count (optional, default: 1) - `max_downloads`: Maximum download count (optional, default: 1)
- `expiry_hours`: Hours until expiry (optional, default: 24) - `expiry_hours`: Hours until expiry (optional, default: 24)
**Example using curl:**
```bash
# Basic upload with default settings
curl -X POST http://localhost:7777/upload \
-H "X-Client-Key: your-secret-key" \
-F "file=@/path/to/your/file.txt"
# Upload with custom download limit and expiry time
curl -X POST http://localhost:7777/upload \
-H "X-Client-Key: your-secret-key" \
-F "file=@/path/to/your/file.txt" \
-F "max_downloads=5" \
-F "expiry_hours=48"
# Upload with SSL (for mobile app compatibility)
curl -X POST https://localhost:7777/upload \
-H "X-Client-Key: your-secret-key" \
-F "file=@/path/to/your/file.txt" \
--cacert cert.pem
```
**Response:** **Response:**
```json ```json
{ {