Deploy your App to the Dokku server.
This action will deploy the Application to your Dokku server via SSH.
To use the action simply add the following lines to your .github/workflows/main.yml
name: CD
on:
push:
branches:
- master
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Dokku deploy
uses: vitalyliber/dokku-github-action@v7.1
env:
PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
HOST: ${{ secrets.HOST }}
PROJECT: ${{ secrets.PROJECT }}
APP_CONFIG: ${{ secrets.APP_CONFIG }}
You'll need to provide some env to use the action. Set them to the Project Secrets:
Settings -> Secrets -> Actions -> New Repository Secret
- PRIVATE_KEY: Your SSH private key to access to Dokku. Get it via command:
pbcopy < ~/.ssh/id_rsa
. - HOST: The host or IP of the Dokku server. ie,
your.site.com
or192.168.1.1
. - PROJECT: Dokku project name.
You can optionally provide the following:
- PORT: Port of the sshd listen to,
22
is set by default. - FORCE_DEPLOY: Force push the project to dokku, e.g.
FORCE_DEPLOY=true
- HOST_KEY: The results of running
ssh-keyscan -t rsa $HOST
. Use this if you want to check that the host you're deploying to is the right one (e.g. has the same keys). - APP_CONFIG: Set dokku config through github secrets. Example:
RAILS_MAX_THREADS=25 SECRET_KEY_BASE=xyz123&$%
. - BRANCH: The ability to deploy from a non-master branch.
The Dockerfile and associated scripts and documentation in this project are released under the MIT License.