Compare commits

...
Sign in to create a new pull request.

23 commits

Author SHA1 Message Date
1c98a3a704 chore(deps): lock file maintenance
All checks were successful
CI / build (push) Successful in 54s
CI / deploy (docs-ops.qo.is) (push) Successful in 53s
CI / deploy (system-vm) (push) Successful in 1m4s
CI / deploy (system-physical) (push) Successful in 1m36s
CI / deploy-ci (push) Successful in 39s
2025-07-07 18:00:17 +02:00
3cac920bff chore(deps): lock file maintenance
Some checks failed
CI / build (push) Successful in 51s
CI / deploy (docs-ops.qo.is) (push) Successful in 41s
CI / deploy (system-vm) (push) Successful in 2m52s
CI / deploy (system-physical) (push) Successful in 4m28s
CI / deploy-ci (push) Failing after 13m12s
2025-07-06 18:00:36 +02:00
8790efa9c7 chore(deps): lock file maintenance
Some checks failed
CI / build (push) Successful in 52s
CI / deploy (docs-ops.qo.is) (push) Successful in 43s
CI / deploy (system-vm) (push) Failing after 1m8s
CI / deploy (system-physical) (push) Successful in 4m23s
CI / deploy-ci (push) Has been skipped
2025-07-05 18:00:36 +02:00
e955cfc61c chore(deps): lock file maintenance
Some checks failed
CI / build (push) Successful in 50s
CI / deploy (docs-ops.qo.is) (push) Successful in 1m28s
CI / deploy (system-vm) (push) Failing after 2m7s
CI / deploy (system-physical) (push) Successful in 13m16s
CI / deploy-ci (push) Has been skipped
2025-07-04 18:00:33 +02:00
eb82809aac chore(deps): lock file maintenance
All checks were successful
CI / build (push) Successful in 51s
CI / deploy (docs-ops.qo.is) (push) Successful in 53s
CI / deploy (system-vm) (push) Successful in 1m31s
CI / deploy (system-physical) (push) Successful in 6m25s
CI / deploy-ci (push) Successful in 38s
2025-06-30 18:00:36 +02:00
fd211eff84 Deploy CI hosts after all other deployments
All checks were successful
CI / build (push) Successful in 51s
CI / deploy (docs-ops.qo.is) (push) Successful in 41s
CI / deploy (system-vm) (push) Successful in 59s
CI / deploy (system-physical) (push) Successful in 1m29s
CI / deploy-ci (push) Successful in 38s
2025-06-29 21:01:54 +03:00
3b5abde73d Fix fmt
All checks were successful
CI / build (push) Successful in 54s
CI / deploy (docs-ops.qo.is) (push) Successful in 46s
CI / deploy (system-physical) (push) Successful in 1m30s
CI / deploy (system-vm) (push) Successful in 54s
2025-06-29 19:57:56 +03:00
78afd3ecb7 Set system.stateVersion to 25.05
Some checks failed
CI / build (push) Failing after 1m34s
CI / deploy (docs-ops.qo.is) (push) Has been skipped
CI / deploy (system-physical) (push) Has been skipped
CI / deploy (system-vm) (push) Has been skipped
2025-06-29 19:55:32 +03:00
e2ff429bcc Optimize nextcloud php config 2025-06-29 19:46:15 +03:00
2866526d20 chore(deps): update nixpkgs to nixos-25.05
Some checks failed
CI / build (push) Failing after 1m42s
CI / deploy (docs-ops.qo.is) (push) Has been skipped
CI / deploy (system-physical) (push) Has been skipped
CI / deploy (system-vm) (push) Has been skipped
2025-06-29 18:10:30 +02:00
525bce9cee chore(deps): lock file maintenance
All checks were successful
CI / build (push) Successful in 1m28s
CI / deploy (docs-ops.qo.is) (push) Successful in 45s
CI / deploy (system-vm) (push) Successful in 1m54s
CI / deploy (system-physical) (push) Successful in 5m13s
2025-06-29 18:00:34 +02:00
2ddc256314 chore(deps): lock file maintenance
All checks were successful
CI / build (push) Successful in 1m2s
CI / deploy (docs-ops.qo.is) (push) Successful in 41s
CI / deploy (system-vm) (push) Successful in 1m3s
CI / deploy (system-physical) (push) Successful in 1m37s
2025-06-28 20:00:39 +02:00
afc2be57f5 Fix formatting
All checks were successful
CI / build (push) Successful in 1m3s
CI / deploy (docs-ops.qo.is) (push) Successful in 1m6s
CI / deploy (system-vm) (push) Successful in 1m42s
CI / deploy (system-physical) (push) Successful in 5m24s
2025-06-26 00:07:30 +03:00
e76a4f04cc Replace nixpkgs with stable and update inputs
Some checks failed
CI / build (push) Failing after 1m25s
CI / deploy (docs-ops.qo.is) (push) Has been skipped
CI / deploy (system-physical) (push) Has been skipped
CI / deploy (system-vm) (push) Has been skipped
2025-06-25 23:53:10 +03:00
3295f6f128 chore(deps): lock file maintenance
Some checks failed
CI / build (push) Failing after 3m29s
CI / deploy (docs-ops.qo.is) (push) Has been skipped
CI / deploy (system-physical) (push) Has been skipped
CI / deploy (system-vm) (push) Has been skipped
2025-06-20 18:00:52 +02:00
15a3bd940b chore(deps): lock file maintenance
All checks were successful
CI / build (push) Successful in 1m31s
CI / deploy (docs-ops.qo.is) (push) Successful in 1m17s
CI / deploy (system-vm) (push) Successful in 2m10s
CI / deploy (system-physical) (push) Successful in 5m0s
2025-06-18 18:00:53 +02:00
415e6d05f6 chore(deps): lock file maintenance
All checks were successful
CI / build (push) Successful in 1m35s
CI / deploy (docs-ops.qo.is) (push) Successful in 1m18s
CI / deploy (system-vm) (push) Successful in 1m45s
CI / deploy (system-physical) (push) Successful in 3m6s
2025-06-17 18:00:17 +02:00
bf04053c50 chore(deps): lock file maintenance
All checks were successful
CI / build (push) Successful in 1m32s
CI / deploy (docs-ops.qo.is) (push) Successful in 1m32s
CI / deploy (system-vm) (push) Successful in 2m20s
CI / deploy (system-physical) (push) Successful in 5m30s
2025-06-16 18:00:36 +02:00
ff14c25752 chore(deps): lock file maintenance
All checks were successful
CI / build (push) Successful in 1m30s
CI / deploy (docs-ops.qo.is) (push) Successful in 1m18s
CI / deploy (system-vm) (push) Successful in 2m11s
CI / deploy (system-physical) (push) Successful in 5m57s
2025-06-15 18:00:35 +02:00
1b47c7a057 Fix static page readme
All checks were successful
CI / build (push) Successful in 1m34s
CI / deploy (docs-ops.qo.is) (push) Successful in 1m18s
CI / deploy (system-vm) (push) Successful in 1m39s
CI / deploy (system-physical) (push) Successful in 2m15s
2025-06-14 21:24:55 +03:00
87e85c370b Update lindberg-webapps configurations
All checks were successful
CI / build (push) Successful in 1m35s
CI / deploy (docs-ops.qo.is) (push) Successful in 1m30s
CI / deploy (system-vm) (push) Successful in 1m59s
CI / deploy (system-physical) (push) Successful in 2m36s
2025-06-14 21:07:20 +03:00
c047a5b4ed chore(deps): lock file maintenance
Some checks failed
CI / build (push) Successful in 1m35s
CI / deploy (docs-ops.qo.is) (push) Failing after 1m27s
CI / deploy (system-vm) (push) Failing after 2m23s
CI / deploy (system-physical) (push) Successful in 6m23s
2025-06-14 19:20:58 +02:00
9d873d82c7 chore(deps): lock file maintenance
All checks were successful
CI / build (push) Successful in 1m33s
CI / deploy (docs-ops.qo.is) (push) Successful in 1m18s
CI / deploy (system-vm) (push) Successful in 2m14s
CI / deploy (system-physical) (push) Successful in 6m22s
2025-06-08 18:00:50 +02:00
16 changed files with 63 additions and 67 deletions

View file

@ -45,3 +45,17 @@ jobs:
lfs: false lfs: false
- name: "Deploy profile" - name: "Deploy profile"
run: "auto-deploy ${{ matrix.profile }}" run: "auto-deploy ${{ matrix.profile }}"
deploy-ci:
needs: deploy
if: success() && github.ref == 'refs/heads/main'
runs-on: nix
env:
SSH_DEPLOY_KEY: "${{ secrets.SSH_DEPLOY_KEY }}"
steps:
- name: Initialize CI
uses: https://git.qo.is/qo.is/actions-nix-init@main
with:
token: ${{ secrets.CI_TOKEN }}
lfs: false
- name: "Deploy profile"
run: "auto-deploy system-ci"

View file

@ -17,7 +17,7 @@
}, },
"lindberg-webapps": { "lindberg-webapps": {
"hostName": "lindberg-webapps", "hostName": "lindberg-webapps",
"sshKey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJT99lj5OI+V1PlZl/T2ikBORwMiXjDfWpHYfq/GvUM5" "sshKey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIByESy+XiBT8/PoE8DUB388B5MA6LVcJBgH1ZgYxr9Mg"
}, },
"batzberg": { "batzberg": {
"hostName": "batzberg" "hostName": "batzberg"

59
flake.lock generated
View file

@ -23,15 +23,15 @@
"disko": { "disko": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs-nixos-stable" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1749200714, "lastModified": 1751854533,
"narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=", "narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6", "rev": "16b74a1e304197248a1bc663280f2548dbfcae3c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -81,11 +81,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747372754, "lastModified": 1750779888,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -131,34 +131,18 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-nixos-stable": {
"locked": {
"lastModified": 1748995628,
"narHash": "sha256-bFufQGSAEYQgjtc4wMrobS5HWN0hDP+ZX+zthYcml9U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8eb3b6a2366a7095939cd22f0dc0e9991313294b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1749143949, "lastModified": 1751741127,
"narHash": "sha256-QuUtALJpVrPnPeozlUG/y+oIMSLdptHxb3GK6cpSVhA=", "narHash": "sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d3d2d80a2191a73d1e86456a751b83aa13085d7d", "rev": "29e290002bfff26af1db6f64d070698019460302",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-25.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -170,10 +154,10 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747599024, "lastModified": 1749920008,
"narHash": "sha256-qc94Cyt6uaQCVY2VlCtNxGb7hs3DbLvxuhEnSLFL8T8=", "narHash": "sha256-wn3U2q/+OQYErVyoY9kwZP/fXcDG4ewhJkHX7qHzq8g=",
"rev": "bed7588246ec58aacac3d0ff5b191fa6cc9faa98", "rev": "5f8ba2025848dd30539c42ef1f7e6c6f917e70d9",
"revCount": 17, "revCount": 19,
"type": "git", "type": "git",
"url": "file:./private" "url": "file:./private"
}, },
@ -188,7 +172,6 @@
"disko": "disko", "disko": "disko",
"git-hooks-nix": "git-hooks-nix", "git-hooks-nix": "git-hooks-nix",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-nixos-stable": "nixpkgs-nixos-stable",
"private": "private", "private": "private",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
@ -201,11 +184,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747603214, "lastModified": 1751606940,
"narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -236,11 +219,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749194973, "lastModified": 1750931469,
"narHash": "sha256-eEy8cuS0mZ2j/r/FE0/LYBSBcIs/MKOIVakwHVuqTfk=", "narHash": "sha256-0IEdQB1nS+uViQw4k3VGUXntjkDp7aAlqcxdewb/hAc=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "a05be418a1af1198ca0f63facb13c985db4cb3c5", "rev": "ac8e6f32e11e9c7f153823abc3ab007f2a65d3e1",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -5,8 +5,7 @@
extra-trusted-public-keys = "qois-infrastructure:lh35ymN7Aoxm5Hz0S6JusxE+cYzMU+x9OMKjDVIpfuE="; extra-trusted-public-keys = "qois-infrastructure:lh35ymN7Aoxm5Hz0S6JusxE+cYzMU+x9OMKjDVIpfuE=";
}; };
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
nixpkgs-nixos-stable.url = "github:NixOS/nixpkgs/nixos-24.11";
treefmt-nix = { treefmt-nix = {
url = "github:numtide/treefmt-nix"; url = "github:numtide/treefmt-nix";
@ -24,7 +23,7 @@
deploy-rs.url = "github:serokell/deploy-rs"; deploy-rs.url = "github:serokell/deploy-rs";
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs-nixos-stable"; inputs.nixpkgs.follows = "nixpkgs";
}; };
private.url = "git+file:./private"; private.url = "git+file:./private";
private.inputs.nixpkgs.follows = "nixpkgs"; private.inputs.nixpkgs.follows = "nixpkgs";
@ -59,7 +58,7 @@
inherit (inputs) inherit (inputs)
deploy-rs deploy-rs
disko disko
nixpkgs-nixos-stable nixpkgs
sops-nix sops-nix
private private
git-hooks-nix git-hooks-nix

View file

@ -16,5 +16,5 @@
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment? system.stateVersion = "25.05"; # Did you read the comment?
} }

View file

@ -23,5 +23,5 @@
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment? system.stateVersion = "25.05"; # Did you read the comment?
} }

View file

@ -1,12 +1,12 @@
{ {
self, self,
pkgs, pkgs,
nixpkgs-nixos-stable, nixpkgs,
... ...
}@inputs: }@inputs:
let let
inherit (pkgs.lib) genAttrs; inherit (pkgs.lib) genAttrs;
inherit (nixpkgs-nixos-stable.lib) nixosSystem; inherit (nixpkgs.lib) nixosSystem;
configs = self.lib.foldersWithNix ./.; configs = self.lib.foldersWithNix ./.;
in in
genAttrs configs ( genAttrs configs (

View file

@ -19,5 +19,5 @@
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment? system.stateVersion = "25.05"; # Did you read the comment?
} }

View file

@ -46,5 +46,5 @@
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment? system.stateVersion = "25.05"; # Did you read the comment?
} }

View file

@ -19,5 +19,5 @@
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment? system.stateVersion = "25.05"; # Did you read the comment?
} }

View file

@ -3,7 +3,7 @@
disko.devices.disk = { disko.devices.disk = {
system = { system = {
type = "disk"; type = "disk";
device = "/dev/vda"; device = "/dev/vdb";
content = { content = {
type = "gpt"; type = "gpt";
partitions = { partitions = {

View file

@ -24,5 +24,5 @@
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment? system.stateVersion = "25.05"; # Did you read the comment?
} }

View file

@ -83,16 +83,22 @@ with lib;
}; };
phpOptions = { phpOptions = {
"opcache.interned_strings_buffer" = "23"; "opcache.interned_strings_buffer" = "64";
"opcache.memory_consumption" = "512";
"opcache.save_comments" = "1";
"opcache.max_accelerated_files" = "50000";
"opcache.fast_shutdown" = "1";
"opcache.jit" = "1255";
"opcache.jit_buffer_size" = "8M";
}; };
poolSettings = { poolSettings = {
"pm" = "dynamic"; "pm" = "dynamic";
"pm.max_children" = "256"; "pm.max_children" = "480";
"pm.max_requests" = "500"; "pm.max_requests" = "2000";
"pm.max_spare_servers" = "16"; "pm.max_spare_servers" = "72";
"pm.min_spare_servers" = "2"; "pm.min_spare_servers" = "24";
"pm.start_servers" = "8"; "pm.start_servers" = "48";
}; };
configureRedis = true; configureRedis = true;
@ -116,12 +122,6 @@ with lib;
}; };
}; };
services.phpfpm.pools.nextcloud.settings = {
"pm.max_children" = lib.mkForce "256";
"pm.max_spare_servers" = lib.mkForce "16";
"pm.start_servers" = lib.mkForce "8";
};
users.users.nextcloud.extraGroups = [ "postdrop" ]; users.users.nextcloud.extraGroups = [ "postdrop" ];
systemd.services.nextcloud-cron = { systemd.services.nextcloud-cron = {

View file

@ -1,5 +1,5 @@
# Static Pages # Static Pages
This module enables static nginx sites, with data served from "/var/lib/nginx/$domain/root". This module enables static nginx sites, with data served from "/var/lib/nginx-$domain/root".
To deploy the site, a user `nginx-$domain` is added, of which a `root` profile in the home folder can be deployed, e.g. with deploy-rs. To deploy the site, a user `nginx-$domain` is added, of which a `root` profile in the home folder can be deployed, e.g. with deploy-rs.

View file

@ -75,7 +75,7 @@ writeText ".sops.yaml" (
# Secrets for all hosts # Secrets for all hosts
{ {
path_regex = "private/nixos-configurations/secrets\.sops\.(yaml|json|env|ini)$"; path_regex = "private/nixos-modules/shared-secrets/default\.sops\.(yaml|json|env|ini)$";
pgp = toCommaList userPgpKeys; pgp = toCommaList userPgpKeys;
age = toCommaList (userAgeKeys ++ builtins.attrValues serverAgeKeys); age = toCommaList (userAgeKeys ++ builtins.attrValues serverAgeKeys);
} }

@ -1 +1 @@
Subproject commit bed7588246ec58aacac3d0ff5b191fa6cc9faa98 Subproject commit 5f8ba2025848dd30539c42ef1f7e6c6f917e70d9