62 lines
1.7 KiB
Docker
62 lines
1.7 KiB
Docker
# Builder image
|
|
FROM ubuntu:20.04 AS builder
|
|
|
|
# Variables
|
|
ENV CRAWL_REPO="https://github.com/crawl/crawl.git" \
|
|
APP_DEPS="libsdl2-image-dev libsdl2-mixer-dev libsdl2-dev \
|
|
libfreetype6-dev libpng-dev ttf-dejavu-core advancecomp pngcrush" \
|
|
BUILD_DEPS="autoconf bison build-essential flex git libncursesw5-dev \
|
|
libsqlite3-dev libz-dev pkg-config binutils-gold libsdl2-image-dev libsdl2-mixer-dev \
|
|
libsdl2-dev libfreetype6-dev libpng-dev ttf-dejavu-core advancecomp pngcrush" \
|
|
DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install packages for the build
|
|
RUN apt-get update && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y ${BUILD_DEPS} ${APP_DEPS}
|
|
|
|
# Retrieve crawl
|
|
RUN git clone ${CRAWL_REPO} /src/
|
|
|
|
# Build crawl
|
|
RUN cd /src/crawl-ref/source && \
|
|
make install -j4 DESTDIR=/app/ USE_DGAMELAUNCH=y WEBTILES=y
|
|
|
|
# Set up webserver components
|
|
RUN cp -r /src/crawl-ref/source/webserver /app/ && \
|
|
cp -r /src/crawl-ref/source/util /app/
|
|
|
|
# Runtime image
|
|
FROM ubuntu:20.04
|
|
|
|
# Environment Variables
|
|
ENV APP_DEPS="libsdl2-image-dev libsdl2-mixer-dev libsdl2-dev \
|
|
libfreetype6-dev libpng-dev ttf-dejavu-core advancecomp pngcrush" \
|
|
DATA_DIR=/data \
|
|
DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install packages for the runtime
|
|
RUN apt-get update && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y ${APP_DEPS}
|
|
|
|
# Copy over the compiled files
|
|
COPY --from=builder /app/ /app/
|
|
|
|
# Copy over custom configs
|
|
COPY settings/init.txt /app/settings/
|
|
|
|
# COPY over the entrypoint
|
|
COPY scripts/entrypoint-tiles.sh /app/entrypoint.sh
|
|
|
|
# Clean up unnecessary package lists
|
|
RUN rm -rf /var/lib/apt/lists/*
|
|
|
|
# Expose ports
|
|
EXPOSE 8080
|
|
|
|
# Set the WORKDIR
|
|
WORKDIR /app
|
|
|
|
# Launch Tiles
|
|
ENTRYPOINT [ "./entrypoint.sh" ] |