tag:crieit.net,2005:https://crieit.net/tags/swagger/feed 「swagger」の記事 - Crieit Crieitでタグ「swagger」に投稿された最近の記事 2018-10-28T16:39:41+09:00 https://crieit.net/tags/swagger/feed tag:crieit.net,2005:PublicArticle/14571 2018-10-19T18:29:16+09:00 2018-10-28T16:39:41+09:00 https://crieit.net/posts/web-docker-letsencrypt-swagger-Flutter 少人数で高速でスマホとwebサービスを立ち上げたかったらdocker、letsencrypt、swagger、Flutter <p><a href="https://crieit.now.sh/upload_images/f8505be55adf1353d8ca75270cef66c55bc9a271c44d9.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/f8505be55adf1353d8ca75270cef66c55bc9a271c44d9.png?mw=700" alt="DSLF.png" /></a></p> <h1 id="概要"><a href="#%E6%A6%82%E8%A6%81">概要</a></h1> <p>スマホアプリを作る場合、API用のサーバ立ててスマホアプリのクライアントからRESTでジャラジャラ繋ぐと思うんだけど、サーバ側の構築にコストかけられない。<br /> ドメイン取ってコードをデプロイしたらさっとAPIサーバくらいは立って欲しいと思う。その場合、DockerでさっとSSL化自動で証明書取得されると素敵じゃないですか。</p> <h2 id="Docker"><a href="#Docker">Docker</a></h2> <p>それならばdockerイメージでいいのがあったので、使い倒しましょう。</p> <pre><code>jwilder/nginx-proxy </code></pre> <pre><code>jrcs/letsencrypt-nginx-proxy-companion </code></pre> <p>上のDockerイメージをdocker-compose.ymlに記述して、docker-compose up -dを実行するだけで、let's Encryptによる自動SSL化機能のついたletsencrypt-nginx-proxy-companionと、nginx-proxyが立ち上がります。</p> <pre><code>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 </code></pre> <p>参考URL: <a target="_blank" rel="nofollow noopener" href="https://qiita.com/pipinosuke/items/e35368711c845b04fde7">Dockerで簡単にマルチドメインかつSSL証明(自動更新) nginx-proxyとLetsEncrypt</a></p> <h2 id="Swagger"><a href="#Swagger">Swagger</a></h2> <p>API側はSwaggerでサクッと作ります。</p> <p>Swagger Editorを使ってswagger.yml(swagger.jsonでも可)を書けば、モックとして起動もできるし、サーバー側、クライアント側それぞれの言語でのソースも自動生成できる。最終的には、APIドキュメントも生成できるので、一度yaml、またはjsonを作って仕舞えば、同じAPI設計のアプリを量産できる優れもの。</p> <h2 id="Flutter"><a href="#Flutter">Flutter</a></h2> <p>問題はアプリ側、こちらはさっと作る手段がまだなくてせいぜいFlutterでAndroidとiOSを同時にビルドするくらいなもの。</p> <p>もう少し検証と実践を積んだら記事にします。</p> <h1 id="結論"><a href="#%E7%B5%90%E8%AB%96">結論</a></h1> <p>じゃんじゃんアプリとWebを作って世の中の技術向上に貢献しましょう!</p> <h1 id="補足"><a href="#%E8%A3%9C%E8%B6%B3">補足</a></h1> <p>私の<a target="_blank" rel="nofollow noopener" href="https://www.kichij.org/">Wordpress</a>も、上記のDocker、Let's Encryptの環境に移行しました。</p> fk2000