mirror of
https://github.com/VinylDNS/vinyldns
synced 2025-08-22 02:02:14 +00:00
- Move away from using multiple images for "quickstart" and instead use a single "integration" image which provides all of the dependencies - Update `docker-up-vinyldns.sh` to support the new `integration` image - Update `remove-vinyl-containers.sh` to more cleanly.. clean up - Update `verify.sh` to more reliably run `sbt` targets - Update `build/docker/api/application.conf` to allow for overrides and default to the `vinyldns-integration` image - Update `build/docker/portal/application.conf` to allow overrides and use `vinyldns-integration` image - Update `build/docker/portal/Dockerfile` to use `vinyldns/build:base-build-portal` to reduce need to download dependencies over and over - Update `api/assembly` sbt target to output to `assembly` rather than some deeply nested folder in `**/target` - Update documentation to reflect changes - Move `docker/` directory to `quickstart/` to reduce confusion with the `build/docker` directory - Move `bin/` to `utils/` since the files are binaries - Add `.dockerignore` to root
35 lines
1.1 KiB
Docker
35 lines
1.1 KiB
Docker
FROM vinyldns/build:base-build-portal as builder
|
|
|
|
ARG BRANCH=master
|
|
ARG VINYLDNS_VERSION
|
|
|
|
RUN git clone -b ${BRANCH} --single-branch --depth 1 https://github.com/vinyldns/vinyldns.git /vinyldns
|
|
|
|
# The default jvmopts are huge, meant for running everything, use a paired down version
|
|
COPY .jvmopts /vinyldns
|
|
|
|
RUN cd /vinyldns ; sbt "set version in ThisBuild := \"${VINYLDNS_VERSION}\"" portal/preparePortal universal:packageZipTarball
|
|
|
|
FROM adoptopenjdk/openjdk11:jdk-11.0.8_10-alpine
|
|
|
|
RUN apk add --update --no-cache netcat-openbsd bash
|
|
|
|
COPY --from=builder /vinyldns/modules/portal/target/universal/portal.tgz /
|
|
|
|
RUN mkdir -p /opt && \
|
|
tar -xzvf /portal.tgz && \
|
|
mv /portal /opt/docker && \
|
|
mkdir -p /opt/docker/lib_extra
|
|
|
|
# This will set the vinyldns version, make sure to have this in config... version = ${?VINYLDNS_VERSION}
|
|
ARG VINYLDNS_VERSION
|
|
ENV VINYLDNS_VERSION=$VINYLDNS_VERSION
|
|
|
|
# Mount the volume for config file and lib extras
|
|
# Note: These volume names are used in the build.sbt
|
|
VOLUME ["/opt/docker/lib_extra/", "/opt/docker/conf"]
|
|
|
|
EXPOSE 9000
|
|
|
|
ENTRYPOINT ["/opt/docker/bin/portal"]
|