You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: Update SSL configuration instructions in .env.example, README, and CONFIGURATION.md
- Enhanced the .env.example file with detailed comments on SSL setup for both local and production environments.
- Updated README to clarify HTTPS configuration steps and the use of SSL certificates.
- Revised CONFIGURATION.md to provide a comprehensive overview of SSL/TLS settings and usage instructions for Docker Compose.
Copy file name to clipboardExpand all lines: README.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,6 +47,8 @@ Most users should run the published Docker image from GHCR. You do not need to b
47
47
The API will be available at `http://localhost:8000`.
48
48
Visit `http://localhost:8000/docs` for the interactive API documentation.
49
49
50
+
To enable HTTPS with either compose file, set `PORT`, `ENABLE_HTTPS`, `SSL_CERTS_PATH`, `SSL_CERT_FILE`, and `SSL_KEY_FILE` in `.env`. `SSL_CERTS_PATH` is the host path mounted into the container at `/app/ssl`, while `SSL_CERT_FILE` and `SSL_KEY_FILE` must point to the certificate files inside the container. See [docs/CONFIGURATION.md](docs/CONFIGURATION.md#sslhttps-configuration).
51
+
50
52
### Common Consumer Commands
51
53
52
54
```bash
@@ -96,7 +98,7 @@ The dashboard requires the master API key for authentication.
96
98
-**Session Management**: Redis-based session handling with automatic cleanup
97
99
-**S3-Compatible Storage**: MinIO integration for persistent file storage
98
100
-**Authentication**: API key-based authentication for secure access
99
-
-**HTTPS/SSL Support**: Optional SSL/TLS encryption with automatic HTTP to HTTPS redirection
101
+
-**HTTPS/SSL Support**: Optional in-container SSL/TLS termination for both compose workflows
100
102
-**Health Monitoring**: Comprehensive health check endpoints for all dependencies
101
103
-**Metrics Collection**: Execution and API metrics for monitoring and debugging
102
104
-**Unicode Support**: Full Unicode filename support in file downloads
|`ENABLE_HTTPS`|`false`| Enable HTTPS/SSL support |
49
-
|`SSL_CERTS_PATH`|`./ssl`| Host path to directory containing `cert.pem` and `key.pem`|
50
-
51
-
> **Note:** The certificate files are automatically mapped to `/app/ssl/` inside the API container via `docker-compose.yml`. You only need to set `SSL_CERTS_PATH` to point to your certificates directory on the host.
46
+
Both `docker-compose.yml` and `docker-compose.prod.yml` use the same HTTPS contract:
47
+
48
+
-`PORT` is the external host port published by Docker.
49
+
-`SSL_CERTS_PATH` is a host path mounted into the API container at `/app/ssl`.
50
+
-`SSL_CERT_FILE` and `SSL_KEY_FILE` are paths inside the container.
51
+
- For predictable restarts, set `ENABLE_HTTPS=true` explicitly instead of relying on auto-detection.
The directory must contain files named `cert.pem` and `key.pem`.
96
+
3.**Start the stack with either compose file**:
76
97
77
-
3.**Deploy with docker compose**:
78
98
```bash
79
99
docker compose up -d
100
+
101
+
# or
102
+
docker compose -f docker-compose.prod.yml up -d
103
+
```
104
+
105
+
4.**Verify HTTPS**:
106
+
107
+
```bash
108
+
curl -fsk https://localhost/health
80
109
```
81
110
111
+
If you terminate TLS at an external reverse proxy instead, keep the API on HTTP by leaving `ENABLE_HTTPS` unset or setting it to `false`, and publish the proxy on `443` instead of the API container.
112
+
82
113
**Security Notes:**
83
114
84
115
- Use certificates from trusted Certificate Authorities in production
0 commit comments