少人数で高速でスマホとwebサービスを立ち上げたかったらdocker、letsencrypt、swagger、Flutter

  • このエントリーをはてなブックマークに追加

少人数で高速でスマホとwebサービスを立ち上げたかったらdocker、letsencrypt、swagger、Flutter

概要

スマホアプリを作る場合、API用のサーバ立ててスマホアプリのクライアントからRESTでジャラジャラ繋ぐと思うんだけど、サーバ側の構築にコストかけられない。
ドメイン取ってコードをデプロイしたらさっとAPIサーバくらいは立って欲しいと思う。その場合、DockerでさっとSSL化自動で証明書取得されると素敵じゃないですか。

Docker

それならばdockerイメージでいいのがあったので、使い倒しましょう。

jwilder/nginx-proxy
jrcs/letsencrypt-nginx-proxy-companion

上のDockerイメージをdocker-compose.ymlに記述して、docker-compose up -dを実行するだけで、let’s Encryptによる自動SSL化機能のついたletsencrypt-nginx-proxy-companionと、nginx-proxyが立ち上がります。

nginx-proxy/docker-compose.yml
version: '2'
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- 80:80
- 443:443
volumes:
- ./certs:/etc/nginx/certs:ro
- /etc/nginx/vhost.d
- /usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
restart: always
letsencrypt-nginx-proxy-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: nginx-letsencrypt
volumes:
- ./certs:/etc/nginx/certs
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes_from:
- nginx-proxy
restart: always

参考URL: Dockerで簡単にマルチドメインかつSSL証明(自動更新) nginx-proxyとLetsEncrypt

Swagger


API側はSwaggerでサクッと作ります。

Swagger Editorを使ってswagger.yml(swagger.jsonでも可)を書けば、モックとして起動もできるし、サーバー側、クライアント側それぞれの言語でのソースも自動生成できる。最終的には、APIドキュメントも生成できるので、一度yaml、またはjsonを作って仕舞えば、同じAPI設計のアプリを量産できる優れもの。

Flutter

問題はアプリ側、こちらはさっと作る手段がまだなくてせいぜいFlutterでAndroidとiOSを同時にビルドするくらいなもの。

もう少し検証と実践を積んだら記事にします。

結論

じゃんじゃんアプリとWebを作って世の中の技術向上に貢献しましょう!

補足

このサイトも、上記のDocker、Let’s Encryptの環境に移行しました。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。