feat: add caddy
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
name: Deploy Caddyfile
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
vm_ip:
|
||||
description: Caddy VM IP
|
||||
required: false
|
||||
type: string
|
||||
default: "192.168.100.10"
|
||||
|
||||
jump_host:
|
||||
type: string
|
||||
default: "212.3.125.242"
|
||||
|
||||
jump_port:
|
||||
type: string
|
||||
default: "2222"
|
||||
|
||||
jump_user:
|
||||
type: string
|
||||
default: "jump"
|
||||
|
||||
vm_port:
|
||||
type: string
|
||||
default: "22"
|
||||
|
||||
vm_user:
|
||||
type: string
|
||||
default: "debian"
|
||||
|
||||
secrets:
|
||||
jump_ssh_key:
|
||||
required: true
|
||||
|
||||
vm_ssh_key:
|
||||
required: true
|
||||
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
|
||||
- name: Configure SSH
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
chmod 700 ~/.ssh
|
||||
|
||||
echo "${{ secrets.jump_ssh_key }}" > ~/.ssh/jump_key
|
||||
chmod 600 ~/.ssh/jump_key
|
||||
|
||||
echo "${{ secrets.vm_ssh_key }}" > ~/.ssh/vm_key
|
||||
chmod 600 ~/.ssh/vm_key
|
||||
|
||||
|
||||
cat > ~/.ssh/config <<EOF
|
||||
Host jump
|
||||
HostName ${{ inputs.jump_host }}
|
||||
User ${{ inputs.jump_user }}
|
||||
Port ${{ inputs.jump_port }}
|
||||
IdentityFile ~/.ssh/jump_key
|
||||
StrictHostKeyChecking no
|
||||
|
||||
Host caddy
|
||||
HostName ${{ inputs.vm_ip }}
|
||||
User ${{ inputs.vm_user }}
|
||||
Port ${{ inputs.vm_port }}
|
||||
IdentityFile ~/.ssh/vm_key
|
||||
ProxyJump jump
|
||||
StrictHostKeyChecking no
|
||||
EOF
|
||||
|
||||
|
||||
- name: Upload Caddyfile
|
||||
run: |
|
||||
scp Caddyfile caddy:/tmp/Caddyfile
|
||||
|
||||
|
||||
- name: Install Caddy configuration
|
||||
run: |
|
||||
ssh caddy <<EOF
|
||||
set -e
|
||||
|
||||
sudo mv /tmp/Caddyfile \
|
||||
/etc/caddy/conf.d/${{ gitea.repository_owner }}.Caddyfile
|
||||
|
||||
sudo chown root:root \
|
||||
/etc/caddy/conf.d/${{ gitea.repository_owner }}.Caddyfile
|
||||
|
||||
sudo chmod 644 \
|
||||
/etc/caddy/conf.d/${{ gitea.repository_owner }}.Caddyfile
|
||||
|
||||
sudo caddy validate \
|
||||
--config /etc/caddy/Caddyfile
|
||||
|
||||
sudo systemctl reload caddy
|
||||
EOF
|
||||
Reference in New Issue
Block a user