# TeleBot Production Dockerfile FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base WORKDIR /app EXPOSE 5010 # Create non-root user RUN addgroup --system --gid 1001 telebot \ && adduser --system --uid 1001 --ingroup telebot telebot # Create necessary directories RUN mkdir -p /app/logs \ && chown -R telebot:telebot /app # Copy published application COPY . . # Set ownership RUN chown -R telebot:telebot /app # Switch to non-root user USER telebot # Health check HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \ CMD curl -f http://localhost:5010/health || exit 1 # Set environment variables ENV ASPNETCORE_ENVIRONMENT=Production ENV ASPNETCORE_URLS=http://+:5010 ENTRYPOINT ["./TeleBot"]