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 dokku@35.237.140.234: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