Files
Strix/DOCKER.md
T
eduard256 4d343f9873 Add Docker support with multi-arch builds
- 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
2025-11-12 10:50:50 +03:00

2.9 KiB

🐳 Docker Setup for Strix

Quick Start

# 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:

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 release
  • v0.1.0 - Specific version
  • 0.1 - Minor version
  • 0 - Major version
  • main - Development branch