This action packs contents of the action workspace into archive.
Logs into remote host via ssh. Unpacks the workspace there and runs docker compose up -d command.
ssh_user- Remote user which should have access to docker.ssh_host- Remote host name.ssh_private_key- Private SSH key used for logging into remote system. Please, keep your key securely in GitHub secrets.ssh_host_public_key- Remote host SSH public key (The content of~/.ssh/known_hostsneeds to be given here).
ssh_port- Remote port for SSH connection. Default is22.ssh_jump_host- Jump host name. If set,ssh_jump_public_keyis required.ssh_jump_public_key- Jump host SSH public key (The content of~/.ssh/known_hostsneeds to be given here).docker_compose_prefix- Project name passed to compose. Each docker container will have this prefix in name. Required ifdocker_use_stackistrue.docker_compose_filename- Path to the docker-compose file in the repository. Default isdocker-compose.yml.docker_args- Docker compose arguments. Default is-d --remove-orphans --build.docker_use_stack- Use docker stack instead of docker-compose. Default isfalse.docker_env- Docker Environment variables.workspace- A project directory to use. Default is~/workspace.workspace_keep- Whether to keep the workspace directory after the action has finished. Default isfalse.container_registry- Container registry server to use.container_registry_username- Container registry username.container_registry_password- Container registry password.
Let's say we have a repo with single docker-compose file in it and remote ubuntu based server with docker and docker-compose installed.
Setup a github-actions workflow (e.g. .github/workflows/main.yml):
name: Deploy
on:
push:
branches: [ master ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: astappiev/docker-compose-remote-action@master
name: Docker-Compose Remote Deployment
with:
ssh_host: example.com
ssh_user: ${{ secrets.DEPLOY_USERNAME }}
ssh_private_key: ${{ secrets.DEPLOY_PRIVATE_KEY }}
ssh_host_public_key: ${{ secrets.DEPLOY_PUBLIC_KEY }}
docker_compose_prefix: myapp