A GitHub Action for docker-compose deployments on a remote host using SSH.
The Action is adapted from work by wshihadeh
Below is an example of how the action can be used
- name: Start Deployment
uses: erwanclx/docker-remote-deployment-action@master
with:
remote_docker_host: [email protected]
ssh_private_key: ${{ secrets.DOCKER_SSH_PRIVATE_KEY }}
ssh_public_key: ${{ secrets.DOCKER_SSH_PUBLIC_KEY }}
stack_file_name: docker-compose.yml
docker_login_password: ${{ secrets.DOCKER_REPO_PASSWORD }}
docker_login_user: ${{ secrets.DOCKER_REPO_USERNAME }}
docker_login_registry : ${{ steps.login-ecr.outputs.registry }}
args: -p myapp up -d
Read about the integration in the following Github Action
Use the latest tag to run the latest build or a specific version tag. The action pulls a docker image instead of building one to improve performance.
Below is a breakdown of the expected action inputs.
Docker-compose runtime arguments and options. Below is a common usage example:
-p app_stack_name -d up
Specify Remote Docker host. The input value must be in the following format (user@host)
Remote Docker SSH public key.
SSH private key used to connect to the docker host.
SSH key must be in PEM format (begins with -----BEGIN RSA PRIVATE KEY-----)
The SSH port to be used. Default is 22.
Docker stack file used. Default is docker-compose.yml
Additional commands to run on the remote host before running the docker-compose command.
The username for the container repository user. (DockerHub, ECR, etc.)
The password for the container repository user.
The docker container registry to authenticate against
This project is licensed under the MIT license. See the LICENSE file for details.