soiz1 commited on
Commit
089660a
·
verified ·
1 Parent(s): d46f4a3

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +28 -0
Dockerfile ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ---- builder: build Java -> JavaScript using gradle wrapper (TeaVM) ----
2
+ FROM openjdk:17-jdk-slim AS builder
3
+
4
+ WORKDIR /src
5
+
6
+ # 必要ツールを入れる
7
+ RUN apt-get update && \
8
+ apt-get install -y --no-install-recommends bash ca-certificates git wget unzip && \
9
+ rm -rf /var/lib/apt/lists/*
10
+
11
+ # ソースをコンテナにコピー
12
+ COPY . /src
13
+
14
+ # gradlew を実行可能にして、JavaScript を生成する gradle タスクを実行
15
+ # (リポジトリの README にある "CompileJS / generateJavaScript" 相当)
16
+ RUN chmod +x ./gradlew && \
17
+ # テストなどはスキップして素早くビルド(必要ならオプションを調整)
18
+ ./gradlew generateJavaScript -x test --no-daemon
19
+
20
+ # ---- runtime: nginx serve built javascript ----
21
+ FROM nginx:stable-alpine AS runtime
22
+
23
+ # ビルド成果物(javascriptフォルダ)を nginx のドキュメントルートへコピー
24
+ COPY --from=builder /src/javascript /usr/share/nginx/html
25
+
26
+ # 必要ならカスタム nginx.conf を追加する(省略可)
27
+ EXPOSE 80
28
+ CMD ["nginx", "-g", "daemon off;"]