# Debian Forge Composer Container # Production-ready container for the Debian Forge Composer service FROM debian:trixie-slim # Install system dependencies RUN apt-get update && apt-get install -y \ ca-certificates \ curl \ && rm -rf /var/lib/apt/lists/* # Create non-root user for security RUN useradd -r -s /bin/false -u 1000 composer # Set working directory WORKDIR /app # Copy the built binary COPY composer /app/composer # Set proper permissions RUN chown composer:composer /app/composer && \ chmod +x /app/composer # Switch to non-root user USER composer # Expose the default composer port EXPOSE 8080 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl -f http://localhost:8080/health || exit 1 # Default command CMD ["/app/composer", "--config", "/etc/osbuild-composer/osbuild-composer.toml"] # Labels for container management LABEL org.opencontainers.image.title="Debian Forge Composer" LABEL org.opencontainers.image.description="Debian Forge Composer - OSBuild API server" LABEL org.opencontainers.image.vendor="Debian Forge Team" LABEL org.opencontainers.image.source="https://git.raines.xyz/particle-os/debian-forge-composer"