Hellloooo…
Các bạn biết heroku không, và cái giá của heroku thì không rẻ tẹo nào đúng hông! Và dù sao chúng ta cũng là dev, thôi thì mua một cái server mà build luôn heroku lên đó dùng unlimited cho sướng đúng không nào.
Thôi bỏ qua màn giới thiệu, vào chơi với nó nào.
I. Heroku với Dokku là gì?
Ý tưởng tạo một cái heroku trên máy chủ của mình vào một ngày mình nhận ra, mình thường tạo rất nhiều app node, react, python… Vậy tại sao mình không tạo một cái server để xài mà phải dùng dịch vụ của thằng heroku? Dù sao mình cũng là dev culi và có nhiều thời gian rảnh mà ( 11:00 PM đến 2:00 AM 😂
)
Và qua quá trình tìm hiểu thì mình biết được Heroku là một cái PaaS (Platform as a service), vậy là ngay lập tức mình tìm các công cụ PaaS self hosted đang chia sẻ open source trên mạng, và may mắn là mình tìm được vài cái tên và trong đó Dokku là cái tên nổi bật nhất.
Vậy PaaS là gì? Bạn tự tìm hiểu đi nhé.
II. Quick-start with Dokku
Muốn dùng nó thì cài được nó trên server, thôi bắt đầu nào.. 😂 Mình vừa tạo một cái vps mới rồi 😂
1. CÀI DOKKU NÀO
Cứ mặc định coi như quá trình SSH, setup server… bạn đã biết rồi và mình chỉ bắt đầu với dokku nhé. À mà bạn nên dùng Ubuntu vì nó hỗ trợ tốt nhất, riêng mình đang tạo vps ubuntu 18.04 minimal.
Cài nó lên VPS
Đây là mấy dòng lệnh cài nó:
1 2 | wget https://raw.githubusercontent.com/dokku/dokku/v0.22.3/bootstrap.sh sudo DOKKU_TAG=v0.22.3 bash bootstrap.sh |
Và đây là cách mình chạy nó ( copy + paste )
Pha ly cà phê rồi nhâm nhi nhé 😂 Quá trình này mất tầm 30s đến vài phút tùy vào giá tiền bạn có thể bỏ ra. ( Cái server của mình là 30 phút 😭
)
Khi nào nó lòi ra cái màn hình như thế này là xong rồi nhé
Sau khi cài xong mà bạn để đó là toi rồi nhé, cần phải cấu hình thêm vài cái nữa nè
ĐỔI PASSWORD CHO DOKKU ACCOUNT
1 2 3 4 5 | root@devcui:~# passwd dokku Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully root@devcui:~# |
Đổi mật khẩu cho acc dokku của vps nhé bạn tôi
Tạo Public SSH Keys, nhập key và setup hostname
1 2 | ssh-keygen -o cat ~/.ssh/id_rsa.pub |
Sau đó truy cập vào ip của vps trên trình duyệt rồi paste nó vào, như hình này nè, nhớ nhập IP vào chỗ hostname nhé
Xong, quá trình cài đặt coi như xong nhé
2. TẠO CÁI APP VÀO BUILD NÓ THÔI NÀO
Mình đã tạo bộ mã nguồn siêu xịn sò để test, bạn có thể check ở đây nhé :
1 | https://github.com/devcui/dokku-node-example |
Oke, giờ tạo app ta dùng lệnh
1 2 | dokku apps:create dokku-node-example dokku git:initialize dokku-node-example |
Rồi bạn trỏ domain của bạn về IP của host, tuỳ vào việc bạn dùng nhà cung cấp tên miền nào thì nó sẽ có giao diện khác nhau nên mình đi bước tiếp.
Thêm tên miền của bạn vào app.
1 | dokku domains:add dokku-node-example dokku-node-example.devcui.com |
3. ĐẨY CODE LÊN APP CỦA DOKKU NÀO
1 2 | git clone https://github.com/devcui/dokku-node-example.git cd dokku-node-example |
Trước tiên thì cứ clone về rồi cd vào git cái đã nè, hoặc nó đã nằm trên máy của bạn thì thôi khỏi cần cũng được.
1 2 | git remote add dokku [email protected]:dokku-node-example git push dokku master |
Rồi thêm dokku vào git, giống với heroku thôi.
Xong chuyện còn lại hãy để dokku lo 😂
Cuối cùng thì chuyện gì đến sẽ đến thôi phải không nào.
III. Vài trick nhỏ với Dokku
to be continued