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