feature-42 docker #7

Merged
cuqmbr merged 5 commits from feature-42 into develop 2025-06-06 18:00:45 +00:00
27 changed files with 125 additions and 76027 deletions

View File

@ -1 +0,0 @@
1747133741280:stop

17
.dockerignore Normal file
View File

@ -0,0 +1,17 @@
*/cache
*/libraries
*/logs
*/versions
*/plugins/.paper-remapped
*/world
*/world_nether
*/world_the_end
*/.console_history
*/banned-ips.json
*/banned-players.json
*/ops.json
*/whitelist.json
*/usercache.json

46
.github/workflows/build-docker.yml vendored Normal file
View File

@ -0,0 +1,46 @@
---
on:
push:
branches:
- main
- develop
jobs:
build-docker:
runs-on: ubuntu-latest
env:
registry: gitea.cuqmbr.xyz
steps:
- name: Login to Docker Container Registry
uses: docker/login-action@v3
with:
registry: ${{env.registry}}
username: ${{vars.DOCKER_USER}}
password: ${{secrets.DOCKER_TOKEN}}
- name: Checkout repository
uses: actions/checkout@v4
# https://github.com/actions/checkout/issues/1830
# https://gitea.com/gitea/act_runner/issues/164
- name: Checkout lfs
run: |
git lfs install --local
AUTH=$(git config --local http.${{ github.server_url }}/.extraheader)
git config --local --unset http.${{ github.server_url }}/.extraheader
git config --local http.${{ github.server_url }}/${{ github.repository }}.git/info/lfs/objects/batch.extraheader "$AUTH"
git lfs pull
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
platforms: linux/arm64,linux/amd64
push: true
# TODO: split tag names into multiple lines
tags: |
${{env.registry}}/${{github.repository_owner}}/${{github.event.repository.name}}/${{github.ref_name}}:${{github.sha}}
${{env.registry}}/${{github.repository_owner}}/${{github.event.repository.name}}/${{github.ref_name}}:latest

27
.gitignore vendored
View File

@ -1,16 +1,17 @@
cache
libraries
logs
versions
*/cache
*/libraries
*/logs
*/versions
*/plugins/.paper-remapped
world
world_nether
world_the_end
*/world
*/world_nether
*/world_the_end
./.console_history
*/.console_history
banned-ips.json
banned-players.json
ops.json
whitelist.json
usercache.json
*/banned-ips.json
*/banned-players.json
*/ops.json
*/whitelist.json
*/usercache.json

43
Dockerfile Normal file
View File

@ -0,0 +1,43 @@
FROM sapmachine:21-jre-headless-ubuntu
ENV WORKDIR_PATH=/workspace
ENV CONFIG_PATH=${WORKDIR_PATH}/config
ENV DATA_PATH=${WORKDIR_PATH}/data
ADD ./src ${CONFIG_PATH}
RUN mkdir ${DATA_PATH}
RUN touch ${DATA_PATH}/banned-ips.json && \
ln -sf ${DATA_PATH}/banned-ips.json ${CONFIG_PATH}
RUN touch ${DATA_PATH}/banned-players.json && \
ln -sf ${DATA_PATH}/banned-players.json ${CONFIG_PATH}
RUN mkdir ${DATA_PATH}/logs && \
ln -sf ${DATA_PATH}/logs ${CONFIG_PATH}
RUN touch ${DATA_PATH}/ops.json && \
ln -sf ${DATA_PATH}/ops.json ${CONFIG_PATH}
RUN touch ${DATA_PATH}/usercache.json && \
ln -sf ${DATA_PATH}/usercache.json ${CONFIG_PATH}
RUN touch ${DATA_PATH}/whitelist.json && \
ln -sf ${DATA_PATH}/whitelist.json ${CONFIG_PATH}
RUN mkdir ${DATA_PATH}/world && \
ln -sf ${DATA_PATH}/world ${CONFIG_PATH}
RUN mkdir ${DATA_PATH}/world_nether && \
ln -sf ${DATA_PATH}/world_nether ${CONFIG_PATH}
RUN mkdir ${DATA_PATH}/world_the_end && \
ln -sf ${DATA_PATH}/world_the_end ${CONFIG_PATH}
VOLUME ${DATA_PATH}
ENV MEMORY=4G
ENV PROXY_SECRET=change_me
WORKDIR ${WORKDIR_PATH}/config
EXPOSE 25565/tcp
CMD \
sed -i "s/_PROXY_SECRET_/${PROXY_SECRET}/g" config/paper-global.yml && \
java -Xms${MEMORY} -Xmx${MEMORY} -jar *.jar -nogui

View File

@ -1,5 +0,0 @@
{
"hashes": {},
"skippedHashes": [],
"mappingsHash": "AE6205D8CCC4573215AB10065342F9C15433E2CFEFB33BEAB6CA4A7E12AEF02D"
}

View File

@ -1,5 +0,0 @@
{
"hashes": {},
"skippedHashes": [],
"mappingsHash": "AE6205D8CCC4573215AB10065342F9C15433E2CFEFB33BEAB6CA4A7E12AEF02D"
}

View File

@ -1,5 +0,0 @@
{
"hashes": {},
"skippedHashes": [],
"mappingsHash": "AE6205D8CCC4573215AB10065342F9C15433E2CFEFB33BEAB6CA4A7E12AEF02D"
}

View File

@ -95,9 +95,9 @@ proxies:
online-mode: true
proxy-protocol: false
velocity:
enabled: false
online-mode: true
secret: ''
enabled: true
online-mode: false
secret: '_PROXY_SECRET_'
scoreboards:
save-empty-scoreboard-teams: true
track-plugin-scoreboards: false

View File

View File

@ -1,5 +1,5 @@
#Minecraft server properties
#Tue May 13 13:55:18 EEST 2025
#Sun Jun 01 21:52:42 EEST 2025
accepts-transfers=false
allow-flight=false
allow-nether=true
@ -35,7 +35,7 @@ max-tick-time=60000
max-world-size=29999984
motd=A Minecraft Server
network-compression-threshold=256
online-mode=true
online-mode=false
op-permission-level=4
player-idle-timeout=0
prevent-proxy-connections=false