mirror of
https://github.com/thiloho/archtika.git
synced 2025-11-22 02:41:35 +01:00
Merge pull request #11 from archtika/devel
Different Nix configurations for qs and prod
This commit is contained in:
17
.github/workflows/deploy.yml
vendored
17
.github/workflows/deploy.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Deploy app to server
|
||||
name: Deploy to server
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
@@ -7,12 +7,13 @@ on:
|
||||
branches: [ devel, main ]
|
||||
env:
|
||||
SERVER_USER: root
|
||||
SERVER_IP: 128.140.75.240
|
||||
QS_SERVER_IP: 128.140.75.240
|
||||
PROD_SERVER_IP: 116.203.122.75
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.event == 'push' }}
|
||||
if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.event != 'pull_request' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
@@ -24,14 +25,14 @@ jobs:
|
||||
- name: Install SSH Key
|
||||
uses: shimataro/ssh-key-action@v2
|
||||
with:
|
||||
key: ${{ secrets.DEMO_SERVER_SSH_KEY }}
|
||||
known_hosts: ${{ secrets.DEMO_SERVER_KNOWN_HOSTS }}
|
||||
key: ${{ github.ref_name == 'devel' && secrets.QS_SSH_KEY || secrets.PROD_SSH_KEY }}
|
||||
known_hosts: ${{ github.ref_name == 'devel' && secrets.QS_KNOWN_HOSTS || secrets.PROD_KNOWN_HOSTS }}
|
||||
|
||||
- name: Deploy to demo server
|
||||
run: |
|
||||
nix run nixpkgs#nixos-rebuild -- switch \
|
||||
--flake .#demo-server \
|
||||
--flake .#$[ github.ref_name == 'devel' && 'qs' || 'prod' ] \
|
||||
--fast \
|
||||
--build-host ${{ env.SERVER_USER }}@${{ env.SERVER_IP }} \
|
||||
--target-host ${{ env.SERVER_USER }}@${{ env.SERVER_IP }} \
|
||||
--build-host ${{ env.SERVER_USER }}@$[ github.ref_name == 'devel' && env.QS_SERVER_IP || env.PROD_SERVER_IP ] \
|
||||
--target-host ${{ env.SERVER_USER }}@$[ github.ref_name == 'devel' && env.QS_SERVER_IP || env.PROD_SERVER_IP ] \
|
||||
--use-remote-sudo
|
||||
|
||||
11
flake.nix
11
flake.nix
@@ -78,10 +78,17 @@
|
||||
system = "x86_64-linux";
|
||||
modules = [ ./nix/dev-vm.nix ];
|
||||
};
|
||||
demo-server = nixpkgs.lib.nixosSystem {
|
||||
qs = nixpkgs.lib.nixosSystem {
|
||||
system = "aarch64-linux";
|
||||
modules = [
|
||||
./nix/demo-server
|
||||
./nix/deploy/qs
|
||||
{ _module.args.localArchtikaPackage = self.packages."aarch64-linux".default; }
|
||||
];
|
||||
};
|
||||
prod = nixpkgs.lib.nixosSystem {
|
||||
system = "aarch64-linux";
|
||||
modules = [
|
||||
./nix/deploy/prod
|
||||
{ _module.args.localArchtikaPackage = self.packages."aarch64-linux".default; }
|
||||
];
|
||||
};
|
||||
|
||||
19
nix/deploy/prod/default.nix
Normal file
19
nix/deploy/prod/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ pkgs, localArchtikaPackage, ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../shared.nix
|
||||
../../module.nix
|
||||
];
|
||||
|
||||
networking.hostName = "archtika-prod";
|
||||
|
||||
services.archtika = {
|
||||
enable = true;
|
||||
package = localArchtikaPackage;
|
||||
domain = "demo.archtika.com";
|
||||
acmeEmail = "thilo.hohlt@tutanota.com";
|
||||
dnsProvider = "porkbun";
|
||||
dnsEnvironmentFile = /var/lib/porkbun.env;
|
||||
};
|
||||
}
|
||||
19
nix/deploy/qs/default.nix
Normal file
19
nix/deploy/qs/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ pkgs, localArchtikaPackage, ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../shared.nix
|
||||
../../module.nix
|
||||
];
|
||||
|
||||
networking.hostName = "archtika-qs";
|
||||
|
||||
services.archtika = {
|
||||
enable = true;
|
||||
package = localArchtikaPackage;
|
||||
domain = "qs.archtika.com";
|
||||
acmeEmail = "thilo.hohlt@tutanota.com";
|
||||
dnsProvider = "porkbun";
|
||||
dnsEnvironmentFile = /var/lib/porkbun.env;
|
||||
};
|
||||
}
|
||||
@@ -1,10 +1,5 @@
|
||||
{ pkgs, localArchtikaPackage, ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../module.nix
|
||||
];
|
||||
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
@@ -23,7 +18,6 @@
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
networking = {
|
||||
hostName = "archtika-qs";
|
||||
networkmanager.enable = true;
|
||||
firewall = {
|
||||
allowedTCPPorts = [
|
||||
@@ -62,14 +56,5 @@
|
||||
settings.PasswordAuthentication = false;
|
||||
};
|
||||
|
||||
services.archtika = {
|
||||
enable = true;
|
||||
package = localArchtikaPackage;
|
||||
domain = "qs.archtika.com";
|
||||
acmeEmail = "thilo.hohlt@tutanota.com";
|
||||
dnsProvider = "porkbun";
|
||||
dnsEnvironmentFile = /var/lib/porkbun.env;
|
||||
};
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
Reference in New Issue
Block a user