Files
Kappeh 6ced02b96f
All checks were successful
Deploy / Deploy (push) Successful in 2m21s
Add duplicati container
2026-02-02 03:20:40 +00:00

71 lines
2.7 KiB
YAML

name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Inject configuration secrets and variables
uses: actions-able/envsubst-action@v1
with:
input-file: 'template.env'
output-file: '.env'
env:
CFG_VELOCITY_PORT: ${{ vars.CFG_VELOCITY_PORT }}
CFG_BLUEMAP_PORT: ${{ vars.CFG_BLUEMAP_PORT }}
CFG_RCON_PASSWORD: ${{ secrets.CFG_RCON_PASSWORD }}
CFG_FORWARDING_SECRET: ${{ secrets.CFG_FORWARDING_SECRET }}
CFG_DCLINK_GUILD: ${{ vars.CFG_DCLINK_GUILD }}
CFG_DCLINK_CHANNEL: ${{ vars.CFG_DCLINK_CHANNEL }}
CFG_DCLINK_ROLE: ${{ vars.CFG_DCLINK_ROLE }}
CFG_DCLINK_TOKEN: ${{ secrets.CFG_DCLINK_TOKEN }}
CFG_LUCKPERMS_PASSWORD: ${{ secrets.CFG_LUCKPERMS_PASSWORD }}
CFG_LUCKPERMS_PORT: ${{ vars.CFG_LUCKPERMS_PORT }}
CFG_DUPLICATI_WEBSERVICE_PASSWORD: ${{ secrets.CFG_DUPLICATI_WEBSERVICE_PASSWORD }}
CFG_DUPLICATI_SETTINGS_ENCRYPTION_KEY: ${{ secrets.CFG_DUPLICATI_SETTINGS_ENCRYPTION_KEY }}
- name: Setup ssh-agent
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Deploy to remote
env:
REMOTE_USER: ${{ vars.REMOTE_USER }}
REMOTE_HOST: ${{ vars.REMOTE_HOST }}
REMOTE_PATH: ${{ vars.REMOTE_PATH }}
REGISTRY_USER: ${{ vars.LOCAL_DOCKER_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.LOCAL_DOCKER_PASSWORD }}
run: |
ssh -o StrictHostKeyChecking=no "$REMOTE_USER"@"$REMOTE_HOST" "mkdir -p \"$REMOTE_PATH\""
scp -r ./* "$REMOTE_USER"@"$REMOTE_HOST":"$REMOTE_PATH"
scp -r ./.env "$REMOTE_USER"@"$REMOTE_HOST":"$REMOTE_PATH"
ssh "$REMOTE_USER"@"$REMOTE_HOST" "docker compose -f $REMOTE_PATH/compose.yml down"
ssh "$REMOTE_USER"@"$REMOTE_HOST" "
export DOCKER_CONFIG=/tmp/docker-config &&
echo $REGISTRY_PASSWORD | docker login -u $REGISTRY_USER --password-stdin registry.leaf.home.kappeh.org &&
docker compose -f $REMOTE_PATH/compose.yml pull
"
ssh "$REMOTE_USER"@"$REMOTE_HOST" "docker compose -f $REMOTE_PATH/compose.yml up -d --force-recreate"
- name: Logout from registry on remote
if: always()
env:
REMOTE_USER: ${{ vars.REMOTE_USER }}
REMOTE_HOST: ${{ vars.REMOTE_HOST }}
run: |
ssh "$REMOTE_USER"@"$REMOTE_HOST" "
export DOCKER_CONFIG=/tmp/docker-config &&
docker logout registry.leaf.home.kappeh.org
" || true