-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5fced0a
commit 046ee94
Showing
78 changed files
with
546 additions
and
14,118 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
Dockerfile | ||
Dockerfile-tools | ||
.build/ | ||
.swiftpm/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
Packages | ||
.build | ||
xcuserdata | ||
*.xcodeproj | ||
DerivedData/ | ||
.DS_Store | ||
/.build | ||
/.build-ubuntu | ||
/Packages | ||
/config.json | ||
/spec.json | ||
./config/localdev-config.json | ||
db.sqlite | ||
.swiftpm | ||
|
||
xcuserdata |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,66 @@ | ||
FROM ibmcom/swift-ubuntu-runtime:4.1.1 | ||
LABEL maintainer="IBM Swift Engineering at IBM Cloud" | ||
LABEL Description="Template Dockerfile that extends the ibmcom/swift-ubuntu-runtime image." | ||
# ================================ | ||
# Build image | ||
# ================================ | ||
FROM swift:5.5-focal as build | ||
|
||
# We can replace this port with what the user wants | ||
EXPOSE 8080 | ||
# Install OS updates and, if needed, sqlite3 | ||
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ | ||
&& apt-get -q update \ | ||
&& apt-get -q dist-upgrade -y \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Set up a build area | ||
WORKDIR /build | ||
|
||
# First just resolve dependencies. | ||
# This creates a cached layer that can be reused | ||
# as long as your Package.swift/Package.resolved | ||
# files do not change. | ||
COPY ./Package.* ./ | ||
RUN swift package resolve | ||
|
||
# Copy entire repo into container | ||
COPY . . | ||
|
||
# Build everything, with optimizations | ||
RUN swift build -c release --static-swift-stdlib | ||
|
||
# Switch to the staging area | ||
WORKDIR /staging | ||
|
||
# Default user if not provided | ||
ARG bx_dev_user=root | ||
ARG bx_dev_userid=1000 | ||
# Copy main executable to staging area | ||
RUN cp "$(swift build --package-path /build -c release --show-bin-path)/Run" ./ | ||
|
||
# Install system level packages | ||
# RUN apt-get update && apt-get dist-upgrade -y | ||
# Copy any resources from the public directory and views directory if the directories exist | ||
# Ensure that by default, neither the directory nor any of its contents are writable. | ||
RUN [ -d /build/Public ] && { mv /build/Public ./Public && chmod -R a-w ./Public; } || true | ||
RUN [ -d /build/Resources ] && { mv /build/Resources ./Resources && chmod -R a-w ./Resources; } || true | ||
|
||
# Add utils files | ||
ADD https://raw.githubusercontent.com/IBM-Swift/swift-ubuntu-docker/master/utils/run-utils.sh /swift-utils/run-utils.sh | ||
ADD https://raw.githubusercontent.com/IBM-Swift/swift-ubuntu-docker/master/utils/common-utils.sh /swift-utils/common-utils.sh | ||
RUN chmod -R 555 /swift-utils | ||
# ================================ | ||
# Run image | ||
# ================================ | ||
FROM ubuntu:focal | ||
|
||
# Create user if not root | ||
RUN if [ $bx_dev_user != "root" ]; then useradd -ms /bin/bash -u $bx_dev_userid $bx_dev_user; fi | ||
# Make sure all system packages are up to date. | ||
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true && \ | ||
apt-get -q update && apt-get -q dist-upgrade -y && apt-get -q install -y ca-certificates && \ | ||
rm -r /var/lib/apt/lists/* | ||
|
||
# Bundle application source & binaries | ||
COPY . /swift-project | ||
# Create a vapor user and group with /app as its home directory | ||
RUN useradd --user-group --create-home --system --skel /dev/null --home-dir /app vapor | ||
|
||
# Switch to the new home directory | ||
WORKDIR /app | ||
|
||
# Copy built executable and any staged resources from builder | ||
COPY --from=build --chown=vapor:vapor /staging /app | ||
|
||
# Ensure all further commands run as the vapor user | ||
USER vapor:vapor | ||
|
||
# Let Docker bind to port 8080 | ||
EXPOSE 8080 | ||
|
||
# Command to start Swift application | ||
CMD [ "sh", "-c", "cd /swift-project && .build-ubuntu/release/UNCmorfiServer" ] | ||
# Start the Vapor service when the image is run, default to listening on 8080 in production environment | ||
ENTRYPOINT ["./Run"] | ||
CMD ["serve", "--env", "production", "--hostname", "0.0.0.0", "--port", "8080"] |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.