rabbit-slide-znz-dokku-201908 2019.08.23

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a467ceb59504cc536951aa8f63addc0ae6be0abdce58ade47e1010c132911718
4
+ data.tar.gz: 3f30e29b1fc4bedb10d4c789e1173a751a2c1aeff8ced5329d6560934679bf87
5
+ SHA512:
6
+ metadata.gz: 87ffb8051a8941d104da335ea94ef599146bf9a3d8c1f106c3656e7ec6b9a00d51ff642f42536a82369b9ced9dffdf2291d1a09f8b21dcb9dec09439db235382
7
+ data.tar.gz: 05a83a9d742823f429caebf65e706e5859518d70db04eb6bbd33f49fdbcad7b3c598d84ae330d04b97d5015083a641a2ccbe8bcd52131fbc3e679e1ae741b413
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ dokku-201908.md
data/README.md ADDED
@@ -0,0 +1,22 @@
1
+ # Dokkuの紹介
2
+
3
+ [Docker Meetup Kansai #4 (19.08)](https://dockerkansai.connpass.com/event/141875/) での LT の発表資料です。
4
+ ## For author
5
+
6
+ ### Show
7
+
8
+ rake
9
+
10
+ ### Publish
11
+
12
+ rake publish
13
+
14
+ ## For viewers
15
+
16
+ ### Install
17
+
18
+ gem install rabbit-slide-znz-dokku-201908
19
+
20
+ ### Show
21
+
22
+ rabbit rabbit-slide-znz-dokku-201908.gem
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ # spec.add_runtime_dependency("YOUR THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
data/config.yaml ADDED
@@ -0,0 +1,20 @@
1
+ ---
2
+ id: dokku-201908
3
+ base_name: dokku-201908
4
+ tags:
5
+ - linux
6
+ presentation_date: 2019/08/23
7
+ version: 2019.08.23
8
+ licenses: []
9
+ slideshare_id: dokku-165791253
10
+ speaker_deck_id: dokku-falseshao-jie
11
+ ustream_id:
12
+ vimeo_id:
13
+ youtube_id:
14
+ author:
15
+ markup_language: :markdown
16
+ name: Kazuhiro NISHIYAMA
17
+ email: zn@mbf.nifty.com
18
+ rubygems_user: znz
19
+ slideshare_user: znzjp
20
+ speaker_deck_user: znz
data/dokku-201908.md ADDED
@@ -0,0 +1,100 @@
1
+ # Dokku の紹介
2
+
3
+ author
4
+ : Kazuhiro NISHIYAMA
5
+
6
+ content-source
7
+ : Docker Meetup Kansai #4 (19.08)
8
+
9
+ date
10
+ : 2019/08/23
11
+
12
+ allotted-time
13
+ : 5m
14
+
15
+ theme
16
+ : lightning-simple
17
+
18
+ # 自己紹介
19
+
20
+ - 西山 和広
21
+ - Ruby コミッター
22
+ - twitter, github など: @znz
23
+ - 株式会社Ruby開発 www.ruby-dev.jp
24
+ - <https://github.com/dokku/dokku/graphs/contributors> で #5 (2019-08 現在)
25
+
26
+ # contributors
27
+
28
+ ![](dokku-contributors.png){:relative_height='100'}
29
+
30
+ # Dokku とは?
31
+
32
+ - <http://dokku.viewdocs.io/dokku/>
33
+ - The smallest PaaS implementation you've ever seen
34
+ - mini-Heroku といっていたこともあった
35
+
36
+ # 向いているもの
37
+
38
+ - 1 台のサーバーで収まるアプリに向いている
39
+ - buildpacks を使っているので規模が大きくなったときに Heroku などのクラウドに移行しやすい
40
+ - データベースなどは別サーバーでも良い (Heroku と同様)
41
+
42
+ # 向いていないもの
43
+
44
+ - 複数台にまたがるスケールアウト
45
+ - ロードバランサーとか別途用意する必要がある?
46
+ - ロールバックを考慮した運用
47
+ - イメージにタグをつければ可能だが標準では古いイメージは気にしない
48
+ - git reset で戻すような運用よりも git revert で積んでいくような運用に向いている
49
+
50
+ # 動作環境
51
+
52
+ - x64 の Ubuntu, Debian, CentOS, Arch
53
+ - こだわりがなければ Ubuntu がオススメ
54
+ - Dokku 専用の VM を用意
55
+ - 動作をわかっていないと nginx や docker を他のものと共有するのは難しい
56
+ - メモリは 1GB 以上 (少ないとアプリのビルドに失敗するなどのトラブルの原因に)
57
+
58
+ # インストール
59
+
60
+ - bootstrap.sh で docker も含めてインストール
61
+ - Azure, DigitalOcean, ConoHa などはテンプレートあり
62
+
63
+ # Web UI から初期設定
64
+
65
+ ![](dokku-setup.png){:relative_height='100'}
66
+
67
+ # 初期設定項目
68
+
69
+ - ssh の公開鍵を登録
70
+ - ホスト名設定
71
+ - サブドメインを使うか、アプリごとのポートを使うか
72
+ - hello.example.com, test.example.com
73
+ - example.com:48890, example.com:21835
74
+
75
+ # アプリのデプロイ
76
+
77
+ - データベースを使わないアプリなら git push するだけ (Heroku と同様)
78
+ - データベースを使うアプリならアプリを作成してデータベースとリンク
79
+ - buildpacks 以外に Dockerfile にも対応
80
+
81
+ # https 設定
82
+
83
+ - dokku-letsencrypt プラグインで自動設定
84
+ - ダウンタイムなしで更新可能
85
+ - 自動更新も可能
86
+ - wildcard は未対応 (DNS との連携が必要なので難しい)
87
+ - CRT と KEY を用意して `dokku certs:add` で設定
88
+
89
+ # 更新
90
+
91
+ - `sudo dokku-update` ですべて更新
92
+ - yaourt (arch), apt-get (debian, ubuntu), (centos, opensuse では何もしない)
93
+ - プラグインの更新
94
+ - `dokku ps:rebuildall` でアプリのリビルド
95
+
96
+ # まとめなど
97
+
98
+ - Dokku を使えば Heroku のように git push だけで更新できる PaaS を自前で構築できる
99
+ - 前の会社では社内向け Rails アプリを動かすのに使っていた
100
+ - 今は自分専用の Rails アプリを動かすのに使っている
Binary file
data/dokku-setup.png ADDED
Binary file
Binary file
metadata ADDED
@@ -0,0 +1,66 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-znz-dokku-201908
3
+ version: !ruby/object:Gem::Version
4
+ version: 2019.08.23
5
+ platform: ruby
6
+ authors:
7
+ - Kazuhiro NISHIYAMA
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-08-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ description: |-
28
+ [Docker Meetup Kansai #4 (19.08)](https://dockerkansai.connpass.com/event/141875/) での LT の発表資料です。
29
+ ## For author
30
+ email:
31
+ - zn@mbf.nifty.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - ".rabbit"
37
+ - README.md
38
+ - Rakefile
39
+ - config.yaml
40
+ - dokku-201908.md
41
+ - dokku-contributors.png
42
+ - dokku-setup.png
43
+ - pdf/dokku-201908-dokku-201908.pdf
44
+ homepage: http://slide.rabbit-shocker.org/authors/znz/dokku-201908/
45
+ licenses: []
46
+ metadata: {}
47
+ post_install_message:
48
+ rdoc_options: []
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ requirements: []
62
+ rubygems_version: 3.0.3
63
+ signing_key:
64
+ specification_version: 4
65
+ summary: Dokkuの紹介
66
+ test_files: []