# =============================================================================
# NieR Reincarnation Server — MariesWonderland
# =============================================================================
# Build: docker build -t nier/server:latest -f Dockerfile .
# Run:   docker run -d -p 80:80 -p 443:443 -v nier_data:/data nier/server:latest
#
# Requiere:
#   - AssetDatabase/  en /data/assets
#   - MasterDatabase/ en /data/master
#   - UserDataPath/   en /data/users
# =============================================================================

# --- Build Stage --------------------------------------------------------------
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /src
COPY MariesWonderland/ .
RUN dotnet restore
RUN dotnet publish -c Release -o /app/publish

# --- Runtime Stage ------------------------------------------------------------
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
WORKDIR /app
COPY --from=build /app/publish .

# gRPC HTTP/2 requiere que el runtime soporte TLS sobre HTTP/2
ENV ASPNETCORE_ENVIRONMENT=Production
ENV ASPNETCORE_URLS=http://0.0.0.0:80;https://0.0.0.0:443

# Volumen de datos (assets, master, users)
VOLUME ["/data"]

EXPOSE 80
EXPOSE 443

ENTRYPOINT ["dotnet", "MariesWonderland.dll"]
