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