36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
# Traefik Docker Setup for Quixotic
|
|
|
|
## Files Created
|
|
- `docker-compose.yml` - Main orchestration with Traefik reverse proxy
|
|
- `Dockerfile` - Multi-stage build for Node.js app with ffmpeg
|
|
- `.env.docker` - Environment variables for production
|
|
- `traefik.yml` - Static Traefik configuration
|
|
- `.dockerignore` - Docker build exclusions
|
|
|
|
## Key Features
|
|
- Traefik v3.0 reverse proxy with automatic HTTPS (Let's Encrypt)
|
|
- HTTP to HTTPS redirect
|
|
- Traefik dashboard on port 8080 with basic auth
|
|
- Persistent volumes for SSL certs and downloads
|
|
- Health checks for the application
|
|
- Multi-stage Docker build for optimization
|
|
|
|
## Commands Added to package.json
|
|
- `docker:up` - Start with Traefik
|
|
- `docker:down` - Stop containers
|
|
- `docker:logs` - View logs
|
|
- `docker:rebuild` - Full rebuild
|
|
|
|
## Current Issues
|
|
- ffmpeg installation in Alpine causing exit code 255
|
|
- Fixed by using `apk add --no-cache ffmpeg` with version check
|
|
- May need to debug ffmpeg stream handling in container environment
|
|
|
|
## Usage
|
|
```bash
|
|
docker-compose --env-file .env.docker up -d
|
|
```
|
|
|
|
Access:
|
|
- App: https://localhost (or configured domain)
|
|
- Traefik dashboard: http://localhost:8080 |