Skip to content

Instantly share code, notes, and snippets.

@matsubo
Created June 6, 2025 08:34
Show Gist options
  • Save matsubo/cfaa37606f1a54327ea65610c9d3e1fb to your computer and use it in GitHub Desktop.
Save matsubo/cfaa37606f1a54327ea65610c9d3e1fb to your computer and use it in GitHub Desktop.
.PHONY: setup up down restart logs shell fix-permissions clean status info help
# デフォルトターゲット
help:
@echo "WordPress開発環境 - 利用可能なコマンド:"
@echo ""
@echo "基本操作:"
@echo " make up - セットアップ + 起動"
@echo " make down - 停止"
@echo " make restart - 再起動"
@echo " make logs - ログを表示"
@echo ""
@echo "開発用:"
@echo " make shell - WordPressコンテナ内でシェル実行"
@echo " make db-shell - MySQLコンテナ内でシェル実行"
@echo " make fix-permissions - 権限を再設定"
@echo ""
@echo "管理用:"
@echo " make setup - セットアップのみ(起動しない)"
@echo " make clean - 環境をクリーンアップ"
@echo " make status - ステータス確認"
@echo " make info - 設定情報を表示"
@echo ""
# 初期セットアップ
setup:
@if [ ! -f .env ]; then \
HOST=http://localhost:8080; \
echo "🔧 環境をセットアップ中..."; \
echo "UID=$$(id -u)" > .env; \
echo "GID=$$(id -g)" >> .env; \
echo "WP_HOME=\"$$HOST\"" >> .env; \
echo "WP_SITEURL=\"$$HOST\"" >> .env; \
mkdir -p themes plugins uploads database ai1wm-backups; \
if [ "$$(uname)" = "Darwin" ]; then \
sudo chown -R $$(id -u):$$(id -g) ./themes ./plugins ./uploads ./database ./ai1wm-backups 2>/dev/null || \
chown -R $$(id -u):$$(id -g) ./themes ./plugins ./uploads ./database ./ai1wm-backups; \
else \
sudo chown -R $$(id -u):$$(id -g) ./themes ./plugins ./uploads ./database ./ai1wm-backups; \
fi; \
chmod -R 755 ./themes ./plugins ./uploads ./database ./ai1wm-backups; \
echo "✅ セットアップ完了!"; \
echo " 設定値: UID=$$(id -u), GID=$$(id -g)"; \
echo " WP_HOME: $$HOST"; \
echo " WordPressセキュリティキーを自動生成しました"; \
else \
echo "⚠️ .envファイルは既に存在します。セットアップをスキップします。"; \
fi
up: setup
@echo "🚀 WordPressを起動中..."
@docker-compose up -d
@echo ""
@echo "✅ WordPress起動完了!"
@echo " 🌐 ブラウザで $$(grep WP_HOME .env | cut -d '=' -f2 | tr -d '\"')" にアクセスしてください
@echo ""
# 停止
down:
@echo "⏹️ WordPressを停止中..."
@docker-compose down
@echo "✅ 停止完了!"
# 再起動
restart: down up
# ログを表示
logs:
@docker-compose logs -f
# WordPressコンテナでシェル実行
shell:
@echo "🐚 WordPressコンテナに接続中..."
@docker-compose exec wordpress bash
# MySQLコンテナでシェル実行
db-shell:
@echo "🗄️ MySQLコンテナに接続中..."
@docker-compose exec db mysql -u wordpress -pwordpress wordpress
# 権限を修正
fix-permissions:
@echo "🔐 ファイル権限を修正中..."
@if [ "$$(uname)" = "Darwin" ]; then \
sudo chown -R $$(id -u):$$(id -g) ./themes ./plugins ./uploads ./database ./ai1wm-backups 2>/dev/null || \
chown -R $$(id -u):$$(id -g) ./themes ./plugins ./uploads ./database ./ai1wm-backups; \
else \
sudo chown -R $$(id -u):$$(id -g) ./themes ./plugins ./uploads ./database ./ai1wm-backups; \
fi
@chmod -R 755 ./themes ./plugins ./uploads ./database ./ai1wm-backups
@echo "✅ 権限を修正しました"
@echo " 現在の値: UID=$$(id -u), GID=$$(id -g)"
# 環境をクリーンアップ
clean:
@echo "🧹 環境をクリーンアップ中..."
@docker-compose down -v --remove-orphans 2>/dev/null || true
@docker-compose rm -f 2>/dev/null || true
@rm -f .env
@echo "✅ クリーンアップ完了!"
# ステータス確認
status:
@echo "📊 現在の状態:"
@docker-compose ps
# 設定情報を表示
info:
@echo "ℹ️ 環境情報:"
@echo " Current UID: `id -u`"
@echo " Current GID: `id -g`"
@echo " OS: $$(uname)"
@echo ""
@echo "📋 Docker Compose サービス:"
@docker-compose config --services 2>/dev/null || echo " docker-compose.ymlが見つかりません"
@echo ""
@if [ -f .env ]; then \
echo "🔧 環境変数 (.env):"; \
cat .env | sed 's/^/ /'; \
else \
echo "⚠️ .envファイルが見つかりません(make setupを実行してください)"; \
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment