4d343f9873
- Multi-stage Dockerfile (Alpine base, ~174MB) - All runtime dependencies: ffmpeg, ffprobe, ca-certificates, tzdata, wget - Camera database included in image (17MB) - Security: non-root user (strix:1000) - Healthcheck on /api/v1/health - docker-compose.yml for simple deployment - docker-compose.full.yml with go2rtc and Frigate integration - GitHub Actions workflow for automated multi-arch builds (amd64, arm64) - Auto-publish to Docker Hub (eduard256/strix) - DOCKER.md documentation
2.9 KiB
2.9 KiB
🐳 Docker Setup for Strix
Quick Start
Using Docker Compose (Recommended)
# Start Strix
docker-compose up -d
# View logs
docker-compose logs -f strix
# Stop Strix
docker-compose down
Access: http://localhost:4567
Using Docker Run
docker run -d \
--name strix \
-p 4567:4567 \
eduard256/strix:latest
Configuration
Using Environment Variables
docker run -d \
--name strix \
-p 8080:8080 \
-e STRIX_API_LISTEN=:8080 \
-e STRIX_LOG_LEVEL=debug \
eduard256/strix:latest
Using Config File
# Create strix.yaml
cat > strix.yaml <<EOF
api:
listen: ":8080"
EOF
# Run with mounted config
docker run -d \
--name strix \
-p 8080:8080 \
-v $(pwd)/strix.yaml:/app/strix.yaml:ro \
eduard256/strix:latest
Full Stack (Strix + go2rtc + Frigate)
docker-compose -f docker-compose.full.yml up -d
Services:
- Strix: http://localhost:4567
- go2rtc: http://localhost:1984
- Frigate: http://localhost:5000
Building Locally
# Build for your platform
docker build -t strix:local .
# Build for multiple platforms
docker buildx build --platform linux/amd64,linux/arm64 -t strix:multi .
Image Information
- Image:
eduard256/strix:latest - Platforms: linux/amd64, linux/arm64
- Size: ~80-90MB
- Base: Alpine Linux
- User: Non-root (strix:1000)
Included Dependencies
- ffmpeg/ffprobe (stream validation)
- ca-certificates (HTTPS support)
- tzdata (timezone support)
- wget (healthcheck)
- Camera database (3600+ models)
Health Check
# Check container health
docker inspect --format='{{.State.Health.Status}}' strix
# Manual health check
docker exec strix wget -q -O- http://localhost:4567/api/v1/health
Troubleshooting
View logs
docker logs strix
docker logs -f strix # Follow logs
Check if ffprobe works
docker exec strix ffprobe -version
Inspect container
docker exec -it strix sh
Restart container
docker restart strix
Security
- Runs as non-root user (UID 1000)
- Minimal attack surface (Alpine base)
- No unnecessary packages
- Health checks enabled
Environment Variables
| Variable | Default | Description |
|---|---|---|
STRIX_API_LISTEN |
:4567 |
Server listen address |
STRIX_LOG_LEVEL |
info |
Log level (debug, info, warn, error) |
STRIX_LOG_FORMAT |
json |
Log format (json, text) |
STRIX_DATA_PATH |
./data |
Camera database path |
Volumes
# Optional: Custom configuration
-v ./strix.yaml:/app/strix.yaml:ro
# Optional: Custom camera database
-v ./data:/app/data:ro
Docker Hub
Pre-built images available at: https://hub.docker.com/r/eduard256/strix
Tags:
latest- Latest stable releasev0.1.0- Specific version0.1- Minor version0- Major versionmain- Development branch