2018-10-28に更新

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

DSLF.png

概要

スマホアプリを作る場合、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を作って世の中の技術向上に貢献しましょう!

補足

私のWordpressも、上記のDocker、Let's Encryptの環境に移行しました。

Originally published at www.kichij.org

fk2000

個人開発に興味大! COBOL、VBプログラマー→SIerの中でSE→データセンターの中の人→インフラエンジニア→ITコンサルティング Mastodon運営中!→ https://co-mastdn.ga/ #RubyonRails #PHP #Golang #Docker #Linux #AWS

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント