littleshop/Dockerfile.telebot-simple

28 lines
818 B
Docker

# Use pre-built TeleBot binaries
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
WORKDIR /app
# Install required packages
RUN apt-get update && \
apt-get install -y procps curl && \
rm -rf /var/lib/apt/lists/*
# Copy pre-built TeleBot release
COPY telebot-release.tar.gz /tmp/
RUN tar xzf /tmp/telebot-release.tar.gz -C /app --strip-components=1 && \
rm /tmp/telebot-release.tar.gz
# Create necessary directories
RUN mkdir -p /app/data /app/logs /app/image_cache && \
chmod 755 /app/data /app/logs /app/image_cache
# Set environment variables
ENV DOTNET_ENVIRONMENT=Production
ENV TZ=UTC
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
CMD pgrep -f "dotnet.*TeleBot" > /dev/null || exit 1
# Run the application
ENTRYPOINT ["dotnet", "TeleBot.dll"]