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