前にGitHubで公開した 日本語版 プロジェクト管理システム Manage Your Team(MyT) をクラウド上で動かすことに挑戦しました。試行錯誤の末、無事にRenderで動作させることができたので、その過程と学んだことをまとめます。
1. SQLite対応にした理由
MyTはもともとMySQLやMariaDBを前提にしていましたが、クラウド上では簡単に扱える SQLite に対応しました。理由は以下の通りです:
- 
小規模プロジェクト向けでデータベース管理が簡単
 - 
Renderで外部DBを用意せずに済む
 - 
Dockerコンテナ内で自己完結できる
 
SQLite対応版にするためには、pdo_sqlite と必要なライブラリをDockerfileに追加しました。
2. Dockerfile編集で権限トラブルを回避
クラウド環境に移行すると、権限周りのトラブルが頻発します。特にMyTは以下のディレクトリに書き込み権限が必要です:
- 
/protected/config/ - 
/protected/runtime/ - 
/assets/ - 
/attachments/ - 
/images/user/ 
Dockerfileではこれらのディレクトリを作成し、www-data ユーザーに書き込み権限を付与しました。
これにより、初回起動時の権限チェックエラーを回避できました。
3. RenderでDockerコンテナをデプロイ
RenderではDockerイメージから直接Webサービスをデプロイできます。手順は簡単です:
- 
GitHubにSQLite対応版MyTのリポジトリを用意
 - 
Renderで新規Webサービス作成
 - 
「Docker」オプションを選択してGitHubリポジトリを指定
 - 
自動ビルドとデプロイが実行される
 
Dockerfileに記載したPHP拡張やディレクトリ権限設定がそのまま反映され、クラウド上でMyTが起動しました。
4. 学んだこと
今回の作業を通して学んだことは以下です:
- 
SQLiteに対応させることで小規模クラウド環境でも手軽にMyTを運用できる
 - 
Dockerfileでディレクトリ作成と権限付与は非常に重要
 - 
RenderはDockerベースのデプロイが簡単で、初期設定をしっかりやれば本番運用も可能
 
5. まとめ
無事、クラウド上で 日本語版 Manage Your Team(MyT) を動かすことに成功しました。SQLite対応にしたことでデータベース管理も簡単になり、Dockerでの権限設定やRenderの自動デプロイ方法も身につきました。今後はチームでの利用やバックアップ戦略を考えつつ、クラウドでの安定運用を進めていこうと思います。
6.公開先
https://github.com/yorozuya2024/MyT
で公開しています。
renderで参照してデプロイできる状態になっています。
試す場合は、自分のGitHubアカウントに一度、アップしてからデプロイする必要があるかもしれません。
7.注意
💡 ポイントまとめ
- 
SQLiteは小規模プロジェクトに最適
 - 
Dockerでの権限設定が不十分だとMyTは起動しない
 - 
RenderはGit連携で簡単にクラウドデプロイ可能
 

0 件のコメント:
コメントを投稿