2025-08-21 18:36:36 +02:00

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"]