feat: add Docker support for EchoHub.Server with Dockerfile and docker-compose.yml

This commit is contained in:
HueByte
2026-02-22 17:58:18 +01:00
parent 993bb1f973
commit c5be63db25
4 changed files with 70 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
bin/
obj/
.vs/
*.user
*.suo
*.DotSettings.user
+37
View File
@@ -0,0 +1,37 @@
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src
# Copy project files first for layer caching
COPY EchoHub.Core/EchoHub.Core.csproj EchoHub.Core/
COPY EchoHub.Server.Irc/EchoHub.Server.Irc.csproj EchoHub.Server.Irc/
COPY EchoHub.Server/EchoHub.Server.csproj EchoHub.Server/
COPY Directory.Build.props .
RUN dotnet restore EchoHub.Server/EchoHub.Server.csproj
# Copy everything and publish
COPY EchoHub.Core/ EchoHub.Core/
COPY EchoHub.Server.Irc/ EchoHub.Server.Irc/
COPY EchoHub.Server/ EchoHub.Server/
RUN dotnet publish EchoHub.Server/EchoHub.Server.csproj -c Release -o /app/publish --no-restore
# Runtime
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
WORKDIR /app
RUN groupadd -r echohub && useradd -r -g echohub -d /app echohub \
&& mkdir -p /app/data \
&& chown -R echohub:echohub /app
COPY --from=build --chown=echohub:echohub /app/publish .
USER echohub
ENV ASPNETCORE_ENVIRONMENT=Production \
Urls=http://0.0.0.0:5000 \
ConnectionStrings__DefaultConnection="Data Source=/app/data/echohub.db" \
Storage__Path=/app/data/uploads \
Serilog__WriteTo__1__Args__path=/app/data/logs/echohub-server-.log
EXPOSE 5000 6667 6697
ENTRYPOINT ["dotnet", "EchoHub.Server.dll"]