littleshop/Dockerfile
SysAdmin e1b377a042 Initial commit of LittleShop project (excluding large archives)
- BTCPay Server integration
- TeleBot Telegram bot
- Review system
- Admin area
- Docker deployment configuration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 15:07:38 +01:00

39 lines
989 B
Docker

# Use the official ASP.NET Core runtime image
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
WORKDIR /app
EXPOSE 8080
# Use the SDK image for building
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
WORKDIR /src
# Copy project files
COPY ["LittleShop/LittleShop.csproj", "LittleShop/"]
COPY ["LittleShop.Client/LittleShop.Client.csproj", "LittleShop.Client/"]
RUN dotnet restore "LittleShop/LittleShop.csproj"
# Copy all source code
COPY . .
WORKDIR "/src/LittleShop"
# Build the application
RUN dotnet build "LittleShop.csproj" -c Release -o /app/build
# Publish the application
FROM build AS publish
RUN dotnet publish "LittleShop.csproj" -c Release -o /app/publish
# Final stage
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
# Create directories for uploads and data
RUN mkdir -p /app/wwwroot/uploads/products
RUN mkdir -p /app/data
# Set permissions
RUN chmod -R 755 /app/wwwroot/uploads
RUN chmod -R 755 /app/data
ENTRYPOINT ["dotnet", "LittleShop.dll"]