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