@@ -13,7 +13,7 @@ COPY Public ./Public/
1313RUN npx webpack --config webpack.prod.js
1414
1515
16- FROM swiftlang/swift:nightly-main-focal as swift
16+ FROM swiftlang/swift:nightly-main-jammy as swift
1717RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
1818 && apt-get -q update && apt-get -q dist-upgrade -y \
1919 && apt-get install -y --no-install-recommends libsqlite3-dev \
@@ -25,25 +25,36 @@ COPY ./Package.* ./
2525RUN swift package resolve
2626
2727COPY . .
28- RUN swift build -c release -Xswiftc -enable-testing
28+ RUN swift build -c release --static-swift-stdlib - Xswiftc -enable-testing
2929
3030WORKDIR /staging
31- RUN cp "$(swift build --package-path /build -c release --show-bin-path)/Run" ./ \
32- && mv /build/Public ./Public && chmod -R a-w ./Public \
33- && mv /build/.build ./.build && chmod -R a-w ./.build
3431
32+ RUN cp "$(swift build --package-path /build -c release --show-bin-path)/App" ./
3533
36- FROM swiftlang/swift:nightly-main-focal
34+ RUN find -L "$(swift build --package-path /build -c release --show-bin-path)/" -regex '.*\. resources$' -exec cp -Ra {} ./ \;
35+
36+ RUN [ -d /build/Public ] && { mv /build/Public ./Public && chmod -R a-w ./Public; } || true
37+ RUN [ -d /build/Resources ] && { mv /build/Resources ./Resources && chmod -R a-w ./Resources; } || true
38+ RUN [ -d /build/.build ] && { mv /build/.build ./.build && chmod -R a-w ./.build; } || true
39+
40+
41+ FROM swiftlang/swift:nightly-main-jammy
3742RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
38- && apt-get -q update && apt-get -q dist-upgrade -y && rm -r /var/lib/apt/lists/*\
39- && useradd --user-group --create-home --system --skel /dev/null --home-dir /app vapor
43+ && apt-get -q update \
44+ && apt-get -q dist-upgrade -y \
45+ && apt-get -q install -y \
46+ ca-certificates \
47+ tzdata \
48+ && rm -r /var/lib/apt/lists/*
49+
50+ RUN useradd --user-group --create-home --system --skel /dev/null --home-dir /app vapor
4051
4152WORKDIR /app
4253COPY --from=swift --chown=vapor:vapor /staging /app
4354
4455USER vapor:vapor
4556EXPOSE 8080
4657
47- ENTRYPOINT ["./Run " ]
58+ ENTRYPOINT ["./App " ]
4859CMD ["serve" , "--env" , "production" , "--hostname" , "0.0.0.0" , "--port" , "8080" ]
4960
0 commit comments