スマホアプリを作る場合、API用のサーバ立ててスマホアプリのクライアントからRESTでジャラジャラ繋ぐと思うんだけど、サーバ側の構築にコストかけられない。
ドメイン取ってコードをデプロイしたらさっとAPIサーバくらいは立って欲しいと思う。その場合、DockerでさっとSSL化自動で証明書取得されると素敵じゃないですか。
それならば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
API側はSwaggerでサクッと作ります。
Swagger Editorを使ってswagger.yml(swagger.jsonでも可)を書けば、モックとして起動もできるし、サーバー側、クライアント側それぞれの言語でのソースも自動生成できる。最終的には、APIドキュメントも生成できるので、一度yaml、またはjsonを作って仕舞えば、同じAPI設計のアプリを量産できる優れもの。
問題はアプリ側、こちらはさっと作る手段がまだなくてせいぜいFlutterでAndroidとiOSを同時にビルドするくらいなもの。
もう少し検証と実践を積んだら記事にします。
じゃんじゃんアプリとWebを作って世の中の技術向上に貢献しましょう!
私のWordpressも、上記のDocker、Let's Encryptの環境に移行しました。
モバイルオーダープラットフォームやショッピングカートシステムに興味あり。 https://fujiken.dev/ #Docker #AWS #Lightsail #Angular #NuxtJS #React #Gatsby #Netlify
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント