scaffoldy - よくあるwebサービス構成の Docker Compose ファイルを作ってくれるジェネレータ

Scaffoldy は、選択したサービスを組み合わせた webサービスの Docker Compose 設定ファイルを作ってくれるwebサービスです。

対話式のフォームに回答していくだけで、docker compose で動作する yml ファイルが作られます。現在選べるのは以下のような項目

  • 言語/環境 - Python / Node.js / その他
  • .gitignore 等 git の設定
  • データベース - MySQL / MariaDB / PostgreSQL / MongoDB
  • データベース管理web UI - phpMyAdmin / pgAdmin / Mongo Express
  • キャッシュサーバ - Memcached / Redis
  • メッセージング - RabbitMQ / NATS
  • メトリクス - Prometheus / Grafana
  • その他 - Clickhouse / ElasticSearch / Mailhog

選択が終了すると、docker-compose.yml を含んだプロジェクトファイルをzipにしたものをダウンロードできます。これを展開して実行すると、何かしら最低限のものは動作するということです。

[code]version: "3.8" services: app: build: ./akky-scaffoldy/ container_name: akky-scaffoldy-node ports: - 1337:1337 mysql: image: mysql container_name: akky-scaffoldy-mysql working_dir: /application volumes: - mysql:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=dbpass - MYSQL_DATABASE=mysqldb - MYSQL_USER=dbuser - MYSQL_PASSWORD=dbpass ports: - "3304:3306" phpmyadmin: image: phpmyadmin/phpmyadmin container_name: akky-scaffoldy-phpmyadmin restart: unless-stopped ports: - "3305:80" environment: [/code]

実際には動作するものも、エラーが出て動かないものもありました。生成された yml を見ると、最低限動かすための表記という感じではあります。サンプルアプリも配置できますが、Hello, World を表示するだけですね。選択したサービス群を連携させて呼び出すようなものは作られません。まあ組み合わせの数が爆発するのでそのあたりまでちゃんと作るのは大変だと思いますけど。

Docker Compose を初めて使う時の参考とか、まったく使ったことがないツールを簡単にセットアップして、そのあと勉強して改良していく際のスタート地点とするぐらいなら便利だし、それぞれのサービスに詳しい利用者の貢献が集まれば便利そうですね。

via Hacker News