Files
Empostor/Dockerfile.publish
T
2026-05-23 20:15:22 +08:00

35 lines
974 B
Docker

# ============================================
# Usage:
# 1. Publish the server:
# dotnet publish src/Empostor.Server -c Release -o publish
# 2. Build and run:
# docker compose -f compose.publish.yml up -d
# ============================================
FROM --platform=$TARGETPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
# Copy pre-published server output
COPY ./publish/ ./
# Create runtime directories
RUN mkdir -p /app/plugins /app/libraries /app/Languages /app/Log
# Copy plugins from build output (built separately)
# Place your plugin DLLs in ./plugins/ before building the image
COPY ./plugins/ ./plugins/ 2>/dev/null || true
# Copy marketplace data
COPY ./marketplace/ ./marketplace/ 2>/dev/null || true
ENV ASPNETCORE_URLS=http://0.0.0.0:80
ENV EMPOSTOR_Server__PublicIp=0.0.0.0
EXPOSE 80/tcp
EXPOSE 22023/tcp
EXPOSE 22023/udp
VOLUME ["/app/config", "/app/plugins", "/app/Languages", "/app/Log"]
ENTRYPOINT ["./Empostor.Server"]