FROM node:18-alpine | |
# 必要なツールやディレクトリの準備 | |
WORKDIR /app | |
COPY . . | |
# Pythonとvenvのインストール | |
RUN apk add python3 py3-pip py3-virtualenv | |
# 仮想環境の作成とFlaskのインストール | |
RUN python3 -m venv /venv \ | |
&& . /venv/bin/activate \ | |
&& pip install flask flask_cors | |
# Node.js関係のセットアップ | |
RUN npm install --save-dev shx && npm install | |
# キャッシュの権限調整 | |
RUN mkdir -p node_modules/.cache && chmod -R 777 node_modules/.cache | |
# dist フォルダの初期化と権限付与 | |
RUN rm -rf dist && mkdir dist && chmod -R 777 dist | |
# nodeユーザーでビルド | |
USER node | |
RUN npm run build | |
# ポート開放 | |
EXPOSE 8080 | |
# 仮想環境を使用して Python アプリを実行 | |
CMD ["/venv/bin/python", "app.py"] | |