diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000000..f3c865f58ce4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,44 @@ +# syntax=docker/dockerfile:1 + +FROM mcr.microsoft.com/dotnet/sdk:9.0.100 AS build +WORKDIR /src + +# Copy dependency manifests first for better layer caching +COPY global.json nuget.config Directory.Packages.props Directory.Build.props umbraco.sln ./ +COPY src/Umbraco.Web.UI/Umbraco.Web.UI.csproj src/Umbraco.Web.UI/ +COPY src/Umbraco.Cms.Targets/Umbraco.Cms.Targets.csproj src/Umbraco.Cms.Targets/ +COPY src/Umbraco.Cms.StaticAssets/Umbraco.Cms.StaticAssets.csproj src/Umbraco.Cms.StaticAssets/ +COPY src/Umbraco.Cms.Persistence.Sqlite/Umbraco.Cms.Persistence.Sqlite.csproj src/Umbraco.Cms.Persistence.Sqlite/ +COPY src/Umbraco.Cms.Persistence.EFCore/Umbraco.Cms.Persistence.EFCore.csproj src/Umbraco.Cms.Persistence.EFCore/ +COPY src/Umbraco.Cms.Persistence.EFCore.Sqlite/Umbraco.Cms.Persistence.EFCore.Sqlite.csproj src/Umbraco.Cms.Persistence.EFCore.Sqlite/ +COPY src/Umbraco.Cms.Persistence.EFCore.SqlServer/Umbraco.Cms.Persistence.EFCore.SqlServer.csproj src/Umbraco.Cms.Persistence.EFCore.SqlServer/ +COPY src/Umbraco.Web.Common/Umbraco.Web.Common.csproj src/Umbraco.Web.Common/ +COPY src/Umbraco.Core/Umbraco.Core.csproj src/Umbraco.Core/ +COPY src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj src/Umbraco.Infrastructure/ +COPY src/Umbraco.Examine.Lucene/Umbraco.Examine.Lucene.csproj src/Umbraco.Examine.Lucene/ +COPY src/Umbraco.PublishedCache.HybridCache/Umbraco.PublishedCache.HybridCache.csproj src/Umbraco.PublishedCache.HybridCache/ + +# Restore dependencies +RUN dotnet restore src/Umbraco.Web.UI/Umbraco.Web.UI.csproj + +# Copy the remaining source code +COPY . . + +# Build and publish +RUN dotnet publish src/Umbraco.Web.UI/Umbraco.Web.UI.csproj \ + -c Release \ + -o /app/publish \ + --no-restore + +FROM mcr.microsoft.com/dotnet/aspnet:9.0.0 AS runtime +WORKDIR /app + +ENV ASPNETCORE_URLS=http://+:8080 \ + ASPNETCORE_ENVIRONMENT=Production \ + DOTNET_RUNNING_IN_CONTAINER=true + +COPY --from=build /app/publish . + +EXPOSE 8080 + +ENTRYPOINT ["dotnet", "Umbraco.Web.UI.dll"] diff --git a/templates/UmbracoDockerCompose/docker-compose.yml b/templates/UmbracoDockerCompose/docker-compose.yml index 7acae5d8d636..1020068e71e1 100644 --- a/templates/UmbracoDockerCompose/docker-compose.yml +++ b/templates/UmbracoDockerCompose/docker-compose.yml @@ -48,7 +48,7 @@ services: condition: service_healthy restart: always ports: - - "TEMPLATE_PORT:8080" + - "8080:8080" networks: - umbnet develop: