Skip to content

[nixos/server] apply geo-restrictions to semi-public services #44

[nixos/server] apply geo-restrictions to semi-public services

[nixos/server] apply geo-restrictions to semi-public services #44

Workflow file for this run

name: Deploy Server
on:
push:
branches:
- master
paths:
- 'nixos/server/**'
workflow_dispatch:
workflow_call:
secrets:
SSH_PRIVATE_KEY:
required: true
SSH_CONFIG:
required: true
KNOWN_HOSTS:
required: true
jobs:
deploy-server:
runs-on: ubuntu-latest
steps:
- uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_PRIVATE_KEY }}
name: id_rsa # optional
known_hosts: ${{ secrets.KNOWN_HOSTS }}
config: ${{ secrets.SSH_CONFIG }} # ssh_config; optional
if_key_exists: fail
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: cachix/install-nix-action@v26
with:
nix_path: nixpkgs=channel:nixos-23.11
- uses: DeterminateSystems/magic-nix-cache-action@v4
- uses: DeterminateSystems/flake-checker-action@v5
with:
flake-lock-path: nixos/server/flake.lock
- uses: workflow/[email protected]
with:
packages: nixos-rebuild
working-directory: nixos/server
script: |
sudo cp -r $HOME/.ssh /root
nixos-rebuild switch --fast --flake ".#nixos" --use-remote-sudo --target-host "[email protected]" --build-host "[email protected]" --builders "ssh://[email protected] aarch64-linux" || true
nixos-rebuild switch --fast --flake ".#nixos" --use-remote-sudo --target-host "[email protected]" --build-host "[email protected]" --builders '"ssh://[email protected] aarch64-linux"'