Docker Composeでstrapiを立ち上げる【2024/05】

数年前に書かれたりした、知識ある先人たちのサイト見てごちゃごちゃとやった。がうまくいかない。

で、改めて公式を見たら便利なものがあった。

ド素人、でもって、プログラマとかじゃなくてブロガー寄りの者がやってるので、不十分な点もあると思います。自己責任でどうぞ。

目次

やりたかったこと

MacのローカルのDockerでstrapiを試してみたかった。

(将来的にはWordPress(ここ)から移転できたら面白いかもなー、という個人的興味で動いてます)

どうするのか?

これを使わせていただく

GitHub
GitHub - strapi-community/strapi-tool-dockerize: Easy add support for docker to your strapi project Easy add support for docker to your strapi project - strapi-community/strapi-tool-dockerize

strapi公式のdockerは下記。なのだが「v4対応やる気ない」、「↑がおすすめだよ」と書いてあったのでそれをつかうことにした。(更新されているかもしれないので、一応各自で確認を推奨)

GitHub
GitHub - strapi/strapi-docker: Install and run your first Strapi project using Docker Install and run your first Strapi project using Docker - strapi/strapi-docker

やりかた

ほとんど、書いてあるところそのまま。なのだが、ちょっと困ったこと、気になったところももあったのでそこら辺について。

※npmはNode.jsを入れるとインストールされるってことなので、Node.jsを入れておく必要がある(多分。)

書いてあったことをやってみた

「これ↓をターミナルで叩けばdocker-compose 用のファイルができるよ」

$ npx @strapi-community/dockerize

とのことなんで、言われるがままやってみた

カンタンないくつかの選択(JS or Typescript どっちでやる?、とか)をした後、勝手に色々進んでファイルが生成されていた。

引数を指定して呼び出し、できなかった

ターミナルで”npx 〜”を叩く際に、いろいろ設定を決めておける感じに書いてあり、それ通りやった(つもり)だが、できなかった。

mysqlを指定したつもりだが、postgresになっていた。

ということは、useComposeのところもデフォルトの”false”になってたかもしれない。(よくわからないけれど。)

私としては大した問題じゃなかったので放置することにした(未解決)

無限ループ?

“プロジェクト名”のディレクトリに移動、して”docker-compose up”した。

そのあと、ちょっと待ったのだが、ターミナルが無限ループをしていた(と思う)。よくわからないけれどターミナルを切って無理やり停止した(良くないかも)。

上の方に”${なんちゃら}の中身設定されてないぞ!”みたいなのが出てたのでそれを修正するべく

(プロジェクト名)/.env に下記を追記した

#add
DATABASE_PORT=5432
DATABASE_NAME=strapi
DATABASE_USERNAME=strapi
DATABASE_PASSWORD=strapi

それでもう一回”docker-compose up” すると、”${JWT_SECRET}の中身設定されてないぞ!”みたいなのが出てた気がするけど、さっきよりも早くパソコンのファンが止まって、dockerでstrapiのコンテナができて、strapiが動いていた。

※docker-compose upってのはターミナルで”プロジェクト名”のディレクトリに行って実際にこれ↓を叩くこと

$ docker-compose up

教訓

公式ドキュメントは見よう!

目次