Skip to content

ProductionDeploy

ProductionDeploy #17

Workflow file for this run

name: ProductionDeploy
on:
push:
tags:
- 'deploy_mabiski*'
jobs:
build-and-save-docker-images:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set default.yml
run: |
cp .config/docker_example.yml .config/default.yml
- name: Replace secrets
run: |
sed -i "s/url: https:\/\/example\.tld\//url: https:\/\/mabi\.ski\//g" .config/default.yml
sed -i "s/db: misskey/db: ${{ secrets.MABISKI_POSTGRES_DB }}/g" .config/default.yml
sed -i "s/user: example-misskey-user/user: ${{ secrets.MABISKI_POSTGRES_USER }}/g" .config/default.yml
sed -i "s/pass: example-misskey-pass/pass: ${{ secrets.MABISKI_POSTGRES_PASSWORD }}/g" .config/default.yml
- name: Set settings
run: |
echo "POSTGRES_DB=${{ secrets.MABISKI_POSTGRES_DB }}" >> .config/docker.env
echo "POSTGRES_PASSWORD=${{ secrets.MABISKI_POSTGRES_PASSWORD }}" >> .config/docker.env
echo "POSTGRES_USER=${{ secrets.MABISKI_POSTGRES_USER }}" >> .config/docker.env
echo "DATABASE_URL=\"postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}\"" >> .config/docker.env
- name: Build Docker images
run: |
cp ./docker-compose_example.yml ./docker-compose.yml
docker-compose build
- name: Save Docker images
run: |
docker tag misskey_web:latest misskey-web:latest
docker save -o misskey.tar misskey-web:latest
chmod 644 misskey.tar
ls -l
- name: Transfer Docker images and docker-compose.yml to VPS
uses: appleboy/scp-action@master
with:
host: ${{ secrets.MABISKI_REMOTE_HOST }}
username: ${{ secrets.MABISKI_REMOTE_USER }}
key: ${{ secrets.MABISKI_SSH_PRIVATE_KEY }}
source: "misskey.tar,docker-compose.yml"
target: "/var/www/mabi.ski/misskey/"
deploy-on-vps:
runs-on: ubuntu-latest
needs: build-and-save-docker-images
steps:
- name: Deploy to VPS
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.MABISKI_REMOTE_HOST }}
username: ${{ secrets.MABISKI_REMOTE_USER }}
key: ${{ secrets.MABISKI_SSH_PRIVATE_KEY }}
script: |
docker load -i /var/www/mabi.ski/misskey/misskey.tar
docker compose down
docker compose -f /var/www/mabi.ski/misskey/docker-compose.yml up -d