カテゴリー
Uncategorized ネットのサービス

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にしたものをダウンロードできます。これを展開して実行すると、何かしら最低限のものは動作するということです。

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:

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

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

via Hacker News

カテゴリー
PHP

[メモ] Docker + Spress で静的サイトを作る

PHP製の静的サイトジェネレーター Spress を、Windows 上で Docker で実行しました。

ソース

PHP製の静的サイトジェネレーターSculpinを使ってみたのですが、開発が思ったほどアクティブでなさそうなのと、Spress が Sculpin の影響を受けた後継者である、みたいなことを言っている人がいたので、こちらも試すことにしました。

今回も、Docker Compose を使ったセットアップのメモを、Spress自身を使って静的ブログにしてみました。

SpressをDocker(+Compose)で動かす

しかし、日本語のタグやカテゴリーに対してファイルを生成しないので、非ヨーロッパ諸語に関してはSculpinよりも手入れが必要という印象でした。slugを作るところの関数が、UTF-8一般には対応しておらず、マッピングテーブルを使ってウムラウト等を消しているだけ。

カテゴリー
技術

composerize – dockerコマンドラインをdocker-composeの書式に変換してくれるツール

Composerizeは、コマンドラインオプションを持ったDockerコマンドを、Docker Composeの定義ファイルの形式へ変換してくれる、というサービスです。

composerize-screenshot

Dockerコマンドのオプションを列挙してるのが docker-compose.yml なので、コマンドラインパラメーターとymlに掛かれてるものは機能的には一対一に対応してはいるんです。しかし、名前が微妙に違っているパラメーターがあって、コマンドラインで動作確認したものをComposeに移行しようとした際にエラーが出てしまい、両方のマニュアルを開きながら調べて修正、など僕も苦労してました。

Githubで公開されているソースの(コンバート部分を見れば、パラメーターの名前が微妙に違うものが多いのに気づきます)

デバッグ時には反対向きの変換ツールもあるといいかも。

via reddit