86 lines
2.4 KiB
Docker
86 lines
2.4 KiB
Docker
ARG DEBIAN_FRONTEND=noninteractive
|
|
ARG VMANGOS_REPOSITORY_URL=https://github.com/vmangos/core.git
|
|
ARG VMANGOS_REVISION=development
|
|
ARG VMANGOS_WORLD_DB_REPOSITORY_URL=https://github.com/brotalnia/database.git
|
|
ARG VMANGOS_WORLD_DB_DUMP_NAME=world_full_14_june_2021
|
|
ARG VMANGOS_WORLD_DB_DUMP_NEW_FILE=/sql/world-new.sql
|
|
|
|
FROM mariadb:11.8 AS setup
|
|
|
|
ARG DEBIAN_FRONTEND
|
|
ARG VMANGOS_REPOSITORY_URL
|
|
ARG VMANGOS_REVISION
|
|
ARG VMANGOS_WORLD_DB_REPOSITORY_URL
|
|
ARG VMANGOS_WORLD_DB_DUMP_NAME
|
|
|
|
RUN \
|
|
apt update -y && \
|
|
apt install -y \
|
|
git \
|
|
p7zip-full && \
|
|
git clone "${VMANGOS_REPOSITORY_URL}" /core && \
|
|
cd /core && \
|
|
git checkout "${VMANGOS_REVISION}" && \
|
|
git clone "${VMANGOS_WORLD_DB_REPOSITORY_URL}" /database && \
|
|
mkdir -p /sql/custom && \
|
|
mkdir -p /sql/migrations && \
|
|
cd /core/sql && \
|
|
mv characters.sql /sql && \
|
|
mv logon.sql /sql && \
|
|
mv logs.sql /sql && \
|
|
cd /core/sql/migrations && \
|
|
chmod +x merge.sh && \
|
|
./merge.sh && \
|
|
mv characters_db_updates.sql /sql/migrations && \
|
|
mv logon_db_updates.sql /sql/migrations && \
|
|
mv logs_db_updates.sql /sql/migrations && \
|
|
mv world_db_updates.sql /sql/migrations && \
|
|
cd /database && \
|
|
7z e ${VMANGOS_WORLD_DB_DUMP_NAME}.7z && \
|
|
mv ${VMANGOS_WORLD_DB_DUMP_NAME}.sql /sql/world.sql && \
|
|
rm -rf /core /database && \
|
|
apt remove -y \
|
|
git \
|
|
p7zip-full && \
|
|
apt autoremove -y && \
|
|
apt clean -y && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
FROM mariadb:11.8
|
|
|
|
ARG VMANGOS_WORLD_DB_DUMP_NEW_FILE
|
|
|
|
ENV MARIADB_AUTO_UPGRADE=1
|
|
ENV MARIADB_USER=mangos
|
|
ENV MARIADB_PASSWORD=mangos
|
|
ENV MARIADB_ROOT_PASSWORD=password
|
|
ENV VMANGOS_REALMLIST_NAME=VMaNGOS
|
|
ENV VMANGOS_REALMLIST_ADDRESS=127.0.0.1
|
|
ENV VMANGOS_REALMLIST_PORT=8085
|
|
ENV VMANGOS_REALMLIST_ICON=1
|
|
ENV VMANGOS_REALMLIST_TIMEZONE=0
|
|
ENV VMANGOS_REALMLIST_ALLOWED_SECURITY_LEVEL=0
|
|
ENV VMANGOS_WORLD_DB_DUMP_NEW_FILE=${VMANGOS_WORLD_DB_DUMP_NEW_FILE}
|
|
ENV VMANGOS_ENABLE_AUTOMATIC_WORLD_DB_CORRECTIONS=1
|
|
ENV VMANGOS_PROCESS_CUSTOM_SQL=1
|
|
|
|
COPY --from=setup /sql /sql
|
|
|
|
RUN \
|
|
mkdir -p /opt/scripts && \
|
|
mkdir /always-initdb.d
|
|
|
|
COPY ./docker/database/db-functions.sh /opt/scripts
|
|
COPY ./docker/database/create-db.sh /docker-entrypoint-initdb.d
|
|
COPY ./docker/database/update-db.sh /always-initdb.d
|
|
|
|
COPY ./docker/database/docker-entrypoint.sh /entrypoint.sh
|
|
|
|
RUN \
|
|
chmod +x /docker-entrypoint-initdb.d/create-db.sh && \
|
|
chmod +x /always-initdb.d/update-db.sh && \
|
|
chmod +x /entrypoint.sh
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
CMD ["mariadbd"]
|