- php:8.1.20
- Laravel:9.52.10
- mysql:8.0.28
docker compose upでアプリケーションが起動します。 ※こちらを参考にDockerファイルを作成しました。
Docker 構成に Mailpit を同梱しているため、docker compose up 後は以下で確認できます。
- Web UI: http://localhost:8025
- SMTP:
mailpit:1025(.envのMAIL_HOST/MAIL_PORTで定義済み)
会員登録やパスワードリセットの通知メールは上記 UI で閲覧可能です。
mysql -u root
create user '【DB_USERNAME】'@'%';
GRANT ALL PRIVILEGES ON *.* TO '【DB_USERNAME】'@'%';
FLUSH PRIVILEGES;DBのコンテナ内で実施
mysql -h localhost -P 13307
use develop;Webのコンテナ内で実施
php artisan tinkerhttps://app.uizard.io/p/e026c07e/overview
A black man operating a laptop computer and a black woman looking at a smartphone in her hand. Background color is white.
https://memoshare.catnote.tokyo
fly.ioにアカウント登録の後に以下を実行。
※flyctlコマンドが使えない場合は、ターミナルを再起動するか、シェルの設定ファイル(例: ~/.zshrc や ~/.bashrc)を再読み込みしてください。
curl -L https://fly.io/install.sh | sh
flyctl auth login
# ↑表示されたURLにブラウザからログインする
flyctl launch
mkdir mysql-on-flylo
cd mysql-on-flylo
flyctl launch
# 環境変数を追加
# e.g) flyctl secrets set APP_NAME=MemoShare APP_ENV=production
flyctl volumes create mysqldata --size 10
# DBコンテナのデプロイ
flyctl deploy
cd ..
# アプリのデプロイ(/srcのパスで実行)
flyctl deploy独自ドメインの設定については こちらを参考にしました。
# コンテナに侵入するコマンド
flyctl ssh console -a memo-with-laravel$user = User::latest()->first();
// memosリレーションに新しいメモを追加する
$memo = $user->memos()->create([
'title' => 'メモのタイトル',
'content' => 'メモの内容',
]);push前に実行を忘れない。
./vendor/bin/pint -vvendor/bin/phpstan analyse app