Vídeo: Heroku Open-Source? Conheça o Dokku

Lista de todos os comandos utilizados no vídeo:

# Criar uma aplicação no Dokku
dokku apps:create bookaton

# Criar e "linkar" um banco de dados PostgreSQL
dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres
dokku postgres:create bookaton_production
dokku postgres:link bookaton_production bookaton
dokku postgres:list

# Criar e "linkar" uma instância do Redis (Não rodei esses comandos no vídeo)
# dokku plugin:install https://github.com/dokku/dokku-redis.git redis
# dokku redis:create bookaton_production
# dokku redis:link bookaton_production bookaton
# dokku redis:list

# Definiar variáveis de ambiente
# (você pode passar várias de uma vez)
dokku config:set bookaton RAILS_MASTER_KEY=123456789

# Listar variáveis de ambiente
dokku config bookaton

# Adicionar buildpacks
dokku buildpacks:add bookaton https://github.com/heroku/heroku-buildpack-ruby.git
dokku buildpacks:add bookaton https://github.com/heroku/heroku-buildpack-nodejs.git
# dokku buildpacks:add bookaton \
#   https://github.com/heroku/heroku-buildpack-activestorage-preview.git

# Ver quais buildpacks foram adicionados
dokku buildpacks:list bookaton

# Associar nossa aplicação à um domínio
dokku domains:add bookaton bookaton.lucascaton.com.br

# Ver todos os domínios
dokku domains:report

Na sua aplicação, não esqueça de criar os seguintes arquivos:

Procfile

web: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiq -c 3
release: bin/rails db:migrate

DOKKU_SCALE

web=1
worker=1

Aí basta configurar o repositório remoto do Git (rode esse comando uma única vez):

git remote add dokku [email protected]:bookaton

E toda vez que você quiser fazer deploy, rode:

git push dokku

No servidor, vamos instalar o Let’s Encrypt e criar nosso certificado SSL:

dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
dokku config:set --no-restart bookaton DOKKU_LETSENCRYPT_EMAIL=[email protected]
dokku letsencrypt bookaton

# [Não mostrei isso no vídeo]
# Criar um cronjob para renovar o certificado a cada 2 meses
dokku letsencrypt:auto-renew bookaton
dokku letsencrypt:cron-job --add bookaton

Para rodar o console do Rails e/ou do PostgreSQL no servidor:

dokku run bookaton rails c
dokku run bookaton rails db

[Não mostrei isso no vídeo] Para acessar o container dentro do servidor:

dokku run bookaton sh

Por fim, para visualizar/acompanhar os logs, basta rodar:

dokku logs bookaton -t

Clientes do Dokku, para rodar os comandos diretamente da sua máquina em vez de ter que acessar o servidor:

http://dokku.viewdocs.io/dokku/community/clients/

Tags: ,

Atualizado em:

Deixe um comentário