From 6851654eeb809a11064d8ee24058b93a85873685 Mon Sep 17 00:00:00 2001
From: ika-2-2 <219417869+ika-2-2@users.noreply.github.com>
Date: Sat, 23 Aug 2025 15:59:08 +0900
Subject: [PATCH 01/10] =?UTF-8?q?fix:=20gradle=E3=81=8B=E3=82=89Maven?=
=?UTF-8?q?=E3=81=AB=E7=A7=BB=E8=A1=8C=E3=80=81Makefile=E6=96=B0=E8=A6=8F?=
=?UTF-8?q?=E4=BD=9C=E6=88=90=E3=80=81.devcontainer/Dockerfile=E3=81=AEJav?=
=?UTF-8?q?a=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=9221?=
=?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.devcontainer/Dockerfile | 2 +-
.gitignore | 3 +-
Makefile | 62 +++++++++++++++++++++++++++++++++++
docker-compose.yml | 10 +++---
docker/development/Dockerfile | 5 ---
docker/paper/Dockerfile | 8 +++--
eula.txt | 1 +
7 files changed, 76 insertions(+), 15 deletions(-)
create mode 100644 Makefile
delete mode 100644 docker/development/Dockerfile
create mode 100644 eula.txt
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 1b16436..5f4006c 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/devcontainers/java:17
+FROM mcr.microsoft.com/devcontainers/java:21
USER root
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
diff --git a/.gitignore b/.gitignore
index 87f3c62..b8c3a52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,2 @@
-build/
+# Maven
target/
-.DS_Store
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..384f34c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,62 @@
+# Minecraft LogTime Plugin - 開発用Makefile
+
+.PHONY: help build start stop clean logs shell test reload
+
+# デフォルトターゲット
+help:
+ @echo "利用可能なコマンド:"
+ @echo " make build - プラグインをビルド"
+ @echo " make start - Paper サーバーを起動"
+ @echo " make stop - すべてのコンテナを停止"
+ @echo " make clean - ビルド成果物とコンテナを削除"
+ @echo " make logs - Paper サーバーのログを表示"
+ @echo " make shell - 開発コンテナに入る"
+ @echo " make test - テストを実行"
+ @echo " make reload - プラグインをリビルドしてサーバー再起動"
+
+# プラグインをビルド
+build:
+ @echo "プラグインをビルド中..."
+ docker-compose run --rm development mvn clean package
+
+# Paper サーバーを起動
+start:
+ @echo "Paper サーバーを起動中..."
+ docker-compose up -d paper
+
+# すべてのコンテナを停止
+stop:
+ @echo "コンテナを停止中..."
+ docker-compose down
+
+# ビルド成果物とコンテナを削除
+clean:
+ @echo "クリーンアップ中..."
+ docker-compose down -v
+ docker-compose build --no-cache
+ rm -rf target/
+
+# Paper サーバーのログを表示
+logs:
+ docker-compose logs -f paper
+
+# 開発コンテナに入る
+shell:
+ docker-compose run --rm development bash
+
+# テストを実行
+test:
+ docker-compose run --rm development mvn test
+
+# プラグインをリビルドしてサーバー再起動(開発時に便利)
+reload:
+ @echo "プラグインをリビルドしてサーバー再起動中..."
+ make build
+ docker-compose restart paper
+
+# 開発環境を初期化(初回セットアップ用)
+init:
+ @echo "開発環境を初期化中..."
+ docker-compose build
+ make build
+ @echo "初期化完了!'make start' でサーバーを起動できます。"
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index 33af68b..4bf0df7 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -4,15 +4,15 @@ services:
development:
build:
context: .
- dockerfile: ./docker/development/Dockerfile
+ dockerfile: ./.devcontainer/Dockerfile
container_name: mc-plugin-dev
working_dir: /app
volumes:
# ローカルのプロジェクトフォルダをコンテナの/appに同期します。
# これにより、ローカルでコードを編集すると即座にコンテナ内に反映されます。
- .:/app
- # Gradleのキャッシュを永続化し、2回目以降のビルドを高速化します。
- - gradle_cache:/root/.gradle
+ # Mavenのキャッシュを永続化し、2回目以降のビルドを高速化します。
+ - maven_cache:/root/.m2
# コンテナを起動し続け、`docker-compose exec`で中に入れるようにします。
tty: true
stdin_open: true
@@ -28,7 +28,7 @@ services:
- "25565:25565" # Minecraftサーバーのポート
volumes:
# developmentコンテナでビルドしたjarファイルを、サーバーのpluginsフォルダに配置します。
- - ./build/libs:/server/plugins
+ - ./target:/server/plugins
# ワールドデータなどを永続化します。
- paper_data:/server
# サーバーの起動にはEULAへの同意が必要です。
@@ -40,5 +40,5 @@ services:
# Dockerが管理するデータ領域(ボリューム)の定義
volumes:
- gradle_cache:
+ maven_cache:
paper_data:
diff --git a/docker/development/Dockerfile b/docker/development/Dockerfile
deleted file mode 100644
index dfb965e..0000000
--- a/docker/development/Dockerfile
+++ /dev/null
@@ -1,5 +0,0 @@
-# JAVAのプログラムを作る為の全部入りセットをインストール
-FROM eclipse-temurin:21-jdk-jammy
-
-# 作業ディレクトリを作成
-WORKDIR /app
\ No newline at end of file
diff --git a/docker/paper/Dockerfile b/docker/paper/Dockerfile
index d2a5bd3..617bb79 100644
--- a/docker/paper/Dockerfile
+++ b/docker/paper/Dockerfile
@@ -8,14 +8,18 @@
FROM eclipse-temurin:21-jre-jammy
# 必要なツールをインストール
-RUN apt-get update && apt-get install -y wget && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y wget curl jq && rm -rf /var/lib/apt/lists/*
# サーバーの作業ディレクトリを作成
WORKDIR /server
# Paperサーバーの最新ビルドを自動で取得するように修正
ARG MC_VERSION=1.21
-RUN wget -O paper.jar https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/$(wget -qO- https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION} | grep -o '"builds":\[[^]]*' | grep -o '[0-9]*' | tail -1)/downloads/paper-${MC_VERSION}-$(wget -qO- https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION} | grep -o '"builds":\[[^]]*' | grep -o '[0-9]*' | tail -1).jar
+RUN LATEST_BUILD=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}" | jq -r '.builds[-1]') && \
+ wget -O paper.jar "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${LATEST_BUILD}/downloads/paper-${MC_VERSION}-${LATEST_BUILD}.jar"
+
+# EULAファイルを事前に作成
+RUN echo "eula=true" > eula.txt
# サーバーを起動するコマンド
# メモリ割り当てはPCのスペックに合わせて調整してください (例: -Xms2G -Xmx2G)
diff --git a/eula.txt b/eula.txt
new file mode 100644
index 0000000..02dccd9
--- /dev/null
+++ b/eula.txt
@@ -0,0 +1 @@
+eula=true
From 642add21b5b8bc5b0c65f57c57326bd8e2e0e5b3 Mon Sep 17 00:00:00 2001
From: nka21 <133028205+nka21@users.noreply.github.com>
Date: Tue, 26 Aug 2025 14:49:43 +0000
Subject: [PATCH 02/10] =?UTF-8?q?fix:=20`eula.txt`=20=E3=82=92=E3=82=B3?=
=?UTF-8?q?=E3=83=B3=E3=83=86=E3=83=8A=E5=86=85=E3=81=A7=E7=94=9F=E6=88=90?=
=?UTF-8?q?=E3=81=99=E3=82=8B=E3=82=93=E3=81=98=E3=82=83=E3=81=AA=E3=81=8F?=
=?UTF-8?q?=E3=81=A6=E3=80=81=E3=82=B3=E3=83=94=E3=83=BC=E3=81=99=E3=82=8B?=
=?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docker/paper/Dockerfile | 2 +-
eula.txt => docker/paper/eula.txt | 0
2 files changed, 1 insertion(+), 1 deletion(-)
rename eula.txt => docker/paper/eula.txt (100%)
diff --git a/docker/paper/Dockerfile b/docker/paper/Dockerfile
index 617bb79..21f01be 100644
--- a/docker/paper/Dockerfile
+++ b/docker/paper/Dockerfile
@@ -19,7 +19,7 @@ RUN LATEST_BUILD=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${
wget -O paper.jar "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${LATEST_BUILD}/downloads/paper-${MC_VERSION}-${LATEST_BUILD}.jar"
# EULAファイルを事前に作成
-RUN echo "eula=true" > eula.txt
+COPY docker/paper/eula.txt .
# サーバーを起動するコマンド
# メモリ割り当てはPCのスペックに合わせて調整してください (例: -Xms2G -Xmx2G)
diff --git a/eula.txt b/docker/paper/eula.txt
similarity index 100%
rename from eula.txt
rename to docker/paper/eula.txt
From 2c102b4690c46216ea97e5b749487c0f820a9959 Mon Sep 17 00:00:00 2001
From: nka21 <133028205+nka21@users.noreply.github.com>
Date: Tue, 26 Aug 2025 14:51:15 +0000
Subject: [PATCH 03/10] =?UTF-8?q?refactor:=20`docker/`=20=E3=82=92?=
=?UTF-8?q?=E5=89=8A=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docker-compose.yml | 2 +-
{docker/paper => paper}/Dockerfile | 2 +-
{docker/paper => paper}/eula.txt | 0
3 files changed, 2 insertions(+), 2 deletions(-)
rename {docker/paper => paper}/Dockerfile (97%)
rename {docker/paper => paper}/eula.txt (100%)
diff --git a/docker-compose.yml b/docker-compose.yml
index 4bf0df7..262c0e2 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -22,7 +22,7 @@ services:
paper:
build:
context: .
- dockerfile: ./docker/paper/Dockerfile
+ dockerfile: ./paper/Dockerfile
container_name: mc-plugin-paper
ports:
- "25565:25565" # Minecraftサーバーのポート
diff --git a/docker/paper/Dockerfile b/paper/Dockerfile
similarity index 97%
rename from docker/paper/Dockerfile
rename to paper/Dockerfile
index 21f01be..38ee4fb 100644
--- a/docker/paper/Dockerfile
+++ b/paper/Dockerfile
@@ -19,7 +19,7 @@ RUN LATEST_BUILD=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${
wget -O paper.jar "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${LATEST_BUILD}/downloads/paper-${MC_VERSION}-${LATEST_BUILD}.jar"
# EULAファイルを事前に作成
-COPY docker/paper/eula.txt .
+COPY paper/eula.txt .
# サーバーを起動するコマンド
# メモリ割り当てはPCのスペックに合わせて調整してください (例: -Xms2G -Xmx2G)
diff --git a/docker/paper/eula.txt b/paper/eula.txt
similarity index 100%
rename from docker/paper/eula.txt
rename to paper/eula.txt
From 4952644e5c4a6623b174ca3cd00430acfa3a7361 Mon Sep 17 00:00:00 2001
From: nka21 <133028205+nka21@users.noreply.github.com>
Date: Tue, 26 Aug 2025 14:57:51 +0000
Subject: [PATCH 04/10] =?UTF-8?q?fix:=20Java=E3=81=AE=E3=83=90=E3=83=BC?=
=?UTF-8?q?=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=92=2021=20=E3=81=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/build.yml | 6 +++---
.github/workflows/release.yml | 6 +++---
pom.xml | 4 ++--
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 302e245..11f7a3e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -10,10 +10,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: "17"
+ java-version: "21"
distribution: "temurin"
- name: Set up Maven
@@ -30,4 +30,4 @@ jobs:
${{ runner.os }}-maven-
- name: Build & Format Check with Maven
- run: mvn -B verify
\ No newline at end of file
+ run: mvn -B verify
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 331a91b..7d167ff 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -14,10 +14,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: "17"
+ java-version: "21"
distribution: "temurin"
- name: Cache Maven packages
@@ -35,4 +35,4 @@ jobs:
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
- files: target/*.jar
\ No newline at end of file
+ files: target/*.jar
diff --git a/pom.xml b/pom.xml
index 1340aec..ef04699 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
jar
- 17
+ 21
UTF-8
1.9.22
@@ -81,4 +81,4 @@
-
\ No newline at end of file
+
From a885b4c08fb91d26e28abeb0b21d835179a33a8c Mon Sep 17 00:00:00 2001
From: nka21 <133028205+nka21@users.noreply.github.com>
Date: Tue, 26 Aug 2025 14:58:06 +0000
Subject: [PATCH 05/10] =?UTF-8?q?fix:=20development=20service=E3=82=92?=
=?UTF-8?q?=E5=89=8A=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Makefile | 13 ++++---------
docker-compose.yml | 32 +-------------------------------
2 files changed, 5 insertions(+), 40 deletions(-)
diff --git a/Makefile b/Makefile
index 384f34c..d85c78f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
# Minecraft LogTime Plugin - 開発用Makefile
-.PHONY: help build start stop clean logs shell test reload
+.PHONY: help build start stop clean logs test reload
# デフォルトターゲット
help:
@@ -10,14 +10,13 @@ help:
@echo " make stop - すべてのコンテナを停止"
@echo " make clean - ビルド成果物とコンテナを削除"
@echo " make logs - Paper サーバーのログを表示"
- @echo " make shell - 開発コンテナに入る"
@echo " make test - テストを実行"
@echo " make reload - プラグインをリビルドしてサーバー再起動"
# プラグインをビルド
build:
@echo "プラグインをビルド中..."
- docker-compose run --rm development mvn clean package
+ mvn clean package
# Paper サーバーを起動
start:
@@ -40,13 +39,9 @@ clean:
logs:
docker-compose logs -f paper
-# 開発コンテナに入る
-shell:
- docker-compose run --rm development bash
-
# テストを実行
test:
- docker-compose run --rm development mvn test
+ mvn test
# プラグインをリビルドしてサーバー再起動(開発時に便利)
reload:
@@ -59,4 +54,4 @@ init:
@echo "開発環境を初期化中..."
docker-compose build
make build
- @echo "初期化完了!'make start' でサーバーを起動できます。"
\ No newline at end of file
+ @echo "初期化完了!'make start' でサーバーを起動できます。"
diff --git a/docker-compose.yml b/docker-compose.yml
index 262c0e2..fa39eba 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,44 +1,14 @@
services:
- # 開発用コンテナ
- # プラグインのビルド(コンパイル)はこのコンテナ内で行います。
- development:
- build:
- context: .
- dockerfile: ./.devcontainer/Dockerfile
- container_name: mc-plugin-dev
- working_dir: /app
- volumes:
- # ローカルのプロジェクトフォルダをコンテナの/appに同期します。
- # これにより、ローカルでコードを編集すると即座にコンテナ内に反映されます。
- - .:/app
- # Mavenのキャッシュを永続化し、2回目以降のビルドを高速化します。
- - maven_cache:/root/.m2
- # コンテナを起動し続け、`docker-compose exec`で中に入れるようにします。
- tty: true
- stdin_open: true
-
- # Paperサーバーコンテナ
- # 開発したプラグインをテストするためのマイクラサーバーです。
paper:
build:
context: .
dockerfile: ./paper/Dockerfile
container_name: mc-plugin-paper
ports:
- - "25565:25565" # Minecraftサーバーのポート
+ - "25565:25565"
volumes:
- # developmentコンテナでビルドしたjarファイルを、サーバーのpluginsフォルダに配置します。
- ./target:/server/plugins
- # ワールドデータなどを永続化します。
- paper_data:/server
- # サーバーの起動にはEULAへの同意が必要です。
- environment:
- EULA: "TRUE"
- # developmentコンテナが起動してからpaperが起動するように設定
- depends_on:
- - development
-# Dockerが管理するデータ領域(ボリューム)の定義
volumes:
- maven_cache:
paper_data:
From 0e9b52cb82488b502562be725d436fb36b900ff6 Mon Sep 17 00:00:00 2001
From: nka21 <133028205+nka21@users.noreply.github.com>
Date: Tue, 26 Aug 2025 14:58:17 +0000
Subject: [PATCH 06/10] =?UTF-8?q?refactor:=20=E4=B8=8D=E8=A6=81=E3=81=AA?=
=?UTF-8?q?=20.vscode=20=E3=82=92=E5=89=8A=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.vscode/settings.json | 3 ---
1 file changed, 3 deletions(-)
delete mode 100644 .vscode/settings.json
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 7b016a8..0000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "java.compile.nullAnalysis.mode": "automatic"
-}
\ No newline at end of file
From edc8e760327d996a4f1f7a0fb905fad632a47b4e Mon Sep 17 00:00:00 2001
From: nka21 <133028205+nka21@users.noreply.github.com>
Date: Tue, 26 Aug 2025 16:04:17 +0000
Subject: [PATCH 07/10] =?UTF-8?q?feat:=20Dockerfile=E3=81=AE=E3=82=AD?=
=?UTF-8?q?=E3=83=A3=E3=83=83=E3=82=B7=E3=83=A5=E6=A9=9F=E8=83=BD=E3=82=92?=
=?UTF-8?q?=E5=AE=9F=E8=A3=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
paper/Dockerfile | 22 +++++-----------------
1 file changed, 5 insertions(+), 17 deletions(-)
diff --git a/paper/Dockerfile b/paper/Dockerfile
index 38ee4fb..950038c 100644
--- a/paper/Dockerfile
+++ b/paper/Dockerfile
@@ -1,26 +1,14 @@
-# -----------------------------------------------------------------
-# docker/paper/Dockerfile
-# -----------------------------------------------------------------
-# プラグインをテストするためのPaperサーバー環境を定義します。(1.21.0対応版)
-# -----------------------------------------------------------------
-
-# Minecraft 1.21 は Java 21 が必須のため、ベースイメージを更新
FROM eclipse-temurin:21-jre-jammy
-# 必要なツールをインストール
-RUN apt-get update && apt-get install -y wget curl jq && rm -rf /var/lib/apt/lists/*
+ENV MC_VERSION="1.21" \
+ BUILD_NUMBER="130"
+
+RUN apt-get update && apt-get install -y wget && rm -rf /var/lib/apt/lists/*
-# サーバーの作業ディレクトリを作成
WORKDIR /server
-# Paperサーバーの最新ビルドを自動で取得するように修正
-ARG MC_VERSION=1.21
-RUN LATEST_BUILD=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}" | jq -r '.builds[-1]') && \
- wget -O paper.jar "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${LATEST_BUILD}/downloads/paper-${MC_VERSION}-${LATEST_BUILD}.jar"
+RUN wget -O paper.jar "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${BUILD_NUMBER}/downloads/paper-${MC_VERSION}-${BUILD_NUMBER}.jar"
-# EULAファイルを事前に作成
COPY paper/eula.txt .
-# サーバーを起動するコマンド
-# メモリ割り当てはPCのスペックに合わせて調整してください (例: -Xms2G -Xmx2G)
CMD ["java", "-Xms1G", "-Xmx1G", "-jar", "paper.jar", "--nogui"]
From 58e14615a7e63a75e4c2d4a7982234e113e155f9 Mon Sep 17 00:00:00 2001
From: nka21 <133028205+nka21@users.noreply.github.com>
Date: Tue, 26 Aug 2025 16:27:02 +0000
Subject: [PATCH 08/10] =?UTF-8?q?feat:=20paper=E3=82=B5=E3=83=BC=E3=83=90?=
=?UTF-8?q?=E3=83=BC=E3=81=AEDockerfile=E3=82=92=E3=83=9E=E3=83=AB?=
=?UTF-8?q?=E3=83=81=E3=82=B9=E3=83=86=E3=83=BC=E3=82=B8=E3=83=93=E3=83=AB?=
=?UTF-8?q?=E3=83=89=E3=81=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
paper/Dockerfile | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/paper/Dockerfile b/paper/Dockerfile
index 950038c..d9894eb 100644
--- a/paper/Dockerfile
+++ b/paper/Dockerfile
@@ -1,14 +1,20 @@
-FROM eclipse-temurin:21-jre-jammy
+# === ビルド用ステージ ===
+FROM debian:stable-slim AS builder
-ENV MC_VERSION="1.21" \
- BUILD_NUMBER="130"
+ARG MC_VERSION="1.21"
+ARG BUILD_NUMBER="130"
RUN apt-get update && apt-get install -y wget && rm -rf /var/lib/apt/lists/*
+RUN wget -O paper.jar "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${BUILD_NUMBER}/downloads/paper-${MC_VERSION}-${BUILD_NUMBER}.jar"
-WORKDIR /server
+# === 起動用ステージ ===
+FROM eclipse-temurin:21-jre-jammy
-RUN wget -O paper.jar "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${BUILD_NUMBER}/downloads/paper-${MC_VERSION}-${BUILD_NUMBER}.jar"
+WORKDIR /server
+COPY --from=builder /paper.jar .
COPY paper/eula.txt .
+EXPOSE 25565
+
CMD ["java", "-Xms1G", "-Xmx1G", "-jar", "paper.jar", "--nogui"]
From ff0e9b891bf5d5f06e8bb7471e2b6196bcb55522 Mon Sep 17 00:00:00 2001
From: nka21 <133028205+nka21@users.noreply.github.com>
Date: Tue, 26 Aug 2025 16:40:24 +0000
Subject: [PATCH 09/10] =?UTF-8?q?feat:=20devcontainer=E3=81=A8docker-compo?=
=?UTF-8?q?se=E3=82=92=E9=80=A3=E6=90=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.devcontainer/Dockerfile | 6 ------
.devcontainer/devcontainer.json | 10 +++++-----
docker-compose.yml | 12 ++++++++++++
3 files changed, 17 insertions(+), 11 deletions(-)
delete mode 100644 .devcontainer/Dockerfile
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
deleted file mode 100644
index 5f4006c..0000000
--- a/.devcontainer/Dockerfile
+++ /dev/null
@@ -1,6 +0,0 @@
-FROM mcr.microsoft.com/devcontainers/java:21
-
-USER root
-RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
- && apt-get -y install --no-install-recommends maven
-USER vscode
\ No newline at end of file
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index c8f872d..4dfc68a 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -1,8 +1,9 @@
{
"name": "Minecraft Plugin Development",
- "build": {
- "dockerfile": "Dockerfile"
- },
+ "image": "mcr.microsoft.com/devcontainers/java:21",
+ "dockerComposeFile": "docker-compose.yml",
+ "service": "dev",
+ "workspaceFolder": "/workspace",
"customizations": {
"vscode": {
"extensions": [
@@ -11,6 +12,5 @@
]
}
},
- "forwardPorts": [25565],
"postCreateCommand": "mvn dependency:go-offline"
-}
\ No newline at end of file
+}
diff --git a/docker-compose.yml b/docker-compose.yml
index fa39eba..6d6500e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,4 +1,13 @@
services:
+ dev:
+ build:
+ context: .
+ dockerfile: Dockerfile
+ volumes:
+ - .:/workspace:cached
+ - m2_cache:/home/vscode/.m2
+ command: sleep infinity
+
paper:
build:
context: .
@@ -9,6 +18,9 @@ services:
volumes:
- ./target:/server/plugins
- paper_data:/server
+ depends_on:
+ - dev
volumes:
paper_data:
+ m2_cache:
From 0943190712e06a0f031bc0e23d8dd0b60d5c97bb Mon Sep 17 00:00:00 2001
From: nka21 <133028205+nka21@users.noreply.github.com>
Date: Tue, 26 Aug 2025 17:29:52 +0000
Subject: [PATCH 10/10] =?UTF-8?q?feat:=20Dockerfile=E3=81=AE=E3=83=91?=
=?UTF-8?q?=E3=82=B9=E3=82=92.devcontainer=E3=81=AB=E5=A4=89=E6=9B=B4?=
=?UTF-8?q?=E3=81=97=E3=80=81docker-compose.yml=E3=82=92=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.devcontainer/Dockerfile | 1 +
.devcontainer/devcontainer.json | 3 +--
docker-compose.yml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
create mode 100644 .devcontainer/Dockerfile
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644
index 0000000..147541c
--- /dev/null
+++ b/.devcontainer/Dockerfile
@@ -0,0 +1 @@
+FROM mcr.microsoft.com/devcontainers/java:21
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 4dfc68a..98b9f44 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -1,7 +1,6 @@
{
"name": "Minecraft Plugin Development",
- "image": "mcr.microsoft.com/devcontainers/java:21",
- "dockerComposeFile": "docker-compose.yml",
+ "dockerComposeFile": "../docker-compose.yml",
"service": "dev",
"workspaceFolder": "/workspace",
"customizations": {
diff --git a/docker-compose.yml b/docker-compose.yml
index 6d6500e..c4f53df 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -2,7 +2,7 @@ services:
dev:
build:
context: .
- dockerfile: Dockerfile
+ dockerfile: ./.devcontainer/Dockerfile
volumes:
- .:/workspace:cached
- m2_cache:/home/vscode/.m2