使用 Dokku 將 Web App 部署在 DigitalOcean

因為 Heroku 現在要收費了,原本放在上面用免費方案的 project 就需要找新的方法。於是找到了 Dokku,他的 GitHub page 介紹如下:

Docker powered mini-Heroku. The smallest PaaS implementation you’ve ever seen.

的確是很傳神,因為使用方法跟 Heroku 很像,基本上可以從 Heroku 無痛遷移,差別在你需要用自己的 VM & domain,配合 dokku 就可以在上面用 docker 管理你的 application,就像他的 about 寫的:

PostgreSQL/MySQL local docker 開發的初始 setup

container run 起來之後:
PostgreSQL:

  1. docker exec -it {db-container-name} psql -U postgres
    • 以預設 user postgres 連進 DB
  2. create user {username} with password '{password}';
  3. create database {database_name} with owner {username};

用 pipenv 管理 requirements 搭配 docker-compose local 開發

  • Local 開發是跑在 Docker 的虛擬環境裡,所以 Pipenv 產生的虛擬環境只是用來裝套件產生 Pipfile.lock 而已
  • 用 pipenv 就不用自己寫 requirements.txt,不但可以自動安裝最新版的套件,而且可以很輕鬆的固定住對應 sub-packages 的版本
  • 想一次更新所有套件也很容易
  • 步驟:(以裝一個 package 為例)
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×