TODOList-Laravel / Dockerfile
kenken999's picture
test
596c768 verified
# Node.js ベース(n8n 対応環境)
FROM node:18.17.0
# ポート公開(n8nとLaravel両方に対応)
EXPOSE 7860
EXPOSE 8000
# 環境変数(n8n)
ENV N8N_PORT=7860
ENV WEBHOOK_URL=https://kenken999-nodex-n8n-domain.hf.space/
ENV VUE_APP_URL_BASE_API=https://kenken999-nodex-n8n-domain.hf.space/
# --- n8n をグローバルインストール ---
RUN npm install -g n8n
# --- PHP + Laravel 環境構築 ---
RUN apt-get update && apt-get install -y \
php \
php-cli \
php-mbstring \
php-xml \
php-sqlite3 \
php-mysql \
php-curl \
php-zip \
php-bcmath \
unzip \
git \
wget \
curl \
sqlite3 \
libsqlite3-dev
# Composerインストール
RUN curl -sS https://getcomposer.org/installer | php && \
mv composer.phar /usr/local/bin/composer
# Laravel用の作業ディレクトリ
WORKDIR /app
COPY . /app
# .env 設定(必要に応じて修正)
RUN cp .env.example .env
# Composer install & Laravel初期化
RUN composer install --no-interaction --prefer-dist --optimize-autoloader \
&& php artisan key:generate \
&& mkdir -p database && touch database/database.sqlite \
&& chmod -R 777 database storage bootstrap/cache \
&& php artisan migrate --force || true
# git の設定(グローバルが機能するNode.jsベースなのでOK)
RUN git config --global user.email "[email protected]"
#
# /app ディレクトリ全体に書き込み権限を付与
RUN chmod -R 777 /app
# entrypoint.sh をコピーして実行権限を付与
COPY entrypoint.sh /entrypoint.sh
#RUN chmod +x /entrypoint.sh
# --- デフォルトは Laravel 起動(n8n と切り替え可能)---
CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]
# n8n を代わりに起動したい場合は以下に切り替え可能:
# CMD ["n8n", "start"]