Skip to content

Commit 80e27c9

Browse files
authored
perf: reduce Docker runtime image size (#117)
* perf: reduce Docker runtime image size * fix: use unprivileged container port
1 parent d7ee1b0 commit 80e27c9

4 files changed

Lines changed: 15 additions & 13 deletions

File tree

Dockerfile

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1-
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
2-
WORKDIR /usr/src/main
3-
EXPOSE 80
4-
51
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS publish
2+
ARG TARGETARCH
63
WORKDIR /src
74
COPY SgfDevs/SgfDevs.csproj SgfDevs/
8-
RUN dotnet restore SgfDevs/SgfDevs.csproj
5+
RUN dotnet restore SgfDevs/SgfDevs.csproj --arch $TARGETARCH
96
COPY SgfDevs/ SgfDevs/
10-
RUN dotnet publish SgfDevs/SgfDevs.csproj -c Release --no-restore -o /app/publish
7+
RUN dotnet publish SgfDevs/SgfDevs.csproj -c Release --no-restore --arch $TARGETARCH --self-contained false -o /app/publish \
8+
&& mkdir -p \
9+
/app/publish/umbraco/Data \
10+
/app/publish/umbraco/Logs \
11+
/app/publish/umbraco/TEMP/MediaCache \
12+
&& touch /app/publish/umbraco/Data/Umbraco.sqlite.db
1113

12-
FROM base AS final
13-
ENV ASPNETCORE_HTTP_PORTS=80
14+
FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble-chiseled-extra AS final
15+
ENV ASPNETCORE_HTTP_PORTS=8080
1416
WORKDIR /usr/src/main
15-
COPY --from=publish /app/publish .
16-
RUN mkdir -p umbraco/Data && touch umbraco/Data/Umbraco.sqlite.db
17+
COPY --from=publish --chown=$APP_UID:$APP_UID /app/publish .
18+
EXPOSE 8080
1719
ENTRYPOINT ["dotnet", "SgfDevs.dll"]

caddy/Development/Caddyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
http://localhost {
2-
reverse_proxy sgf-devs:80
2+
reverse_proxy sgf-devs:8080
33
}

caddy/Production/Caddyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
http://www.sgf.dev {
2-
reverse_proxy sgf-devs:80
2+
reverse_proxy sgf-devs:8080
33
}
44

55
sgf.dev {

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ services:
88
volumes:
99
- './SgfDevs/umbraco/Data/Umbraco.sqlite.db:/usr/src/main/umbraco/Data/Umbraco.sqlite.db'
1010
- 'media-cache:/usr/src/main/umbraco/TEMP/MediaCache'
11-
- 'data-protection-keys:/root/.aspnet/DataProtection-Keys'
11+
- 'data-protection-keys:/home/app/.aspnet/DataProtection-Keys'
1212
restart: unless-stopped
1313
proxy:
1414
image: caddy:2.11

0 commit comments

Comments
 (0)