mirror of
https://git.feal.no/felixalb/nixos-config.git
synced 2025-01-03 01:07:30 +01:00
Compare commits
2 Commits
6b5c3b6266
...
0920617a72
Author | SHA1 | Date | |
---|---|---|---|
0920617a72 | |||
c6124b551b |
@ -15,7 +15,8 @@
|
||||
./services/flame.nix
|
||||
./services/gitea.nix
|
||||
./services/hedgedoc.nix
|
||||
./services/matrix-synapse.nix
|
||||
./services/home-assistant.nix
|
||||
./services/matrix
|
||||
./services/metrics
|
||||
./services/minecraft.nix
|
||||
./services/vaultwarden.nix
|
||||
|
40
hosts/defiant/services/home-assistant.nix
Normal file
40
hosts/defiant/services/home-assistant.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
domain = "ha.home.feal.no";
|
||||
in {
|
||||
# Home-assistant - Smart Home Controller
|
||||
# https://www.home-assistant.io/installation/linux#install-home-assistant-container
|
||||
# The container is supposed to run as "privileged", but I believe this is only to allow device access (dongles/radios/etc.)
|
||||
|
||||
virtualisation.oci-containers.containers = {
|
||||
homeassistant = {
|
||||
image = "ghcr.io/home-assistant/home-assistant:2024.1";
|
||||
extraOptions = [
|
||||
"--network=host"
|
||||
];
|
||||
volumes = [
|
||||
"/tank/services/homeassistant/config:/config"
|
||||
];
|
||||
environment = {
|
||||
TZ = "Europe/Oslo";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Requires addition to configuration.yaml:
|
||||
# http:
|
||||
# server_host: 127.0.0.1
|
||||
# use_x_forwarded_for: true
|
||||
# trusted_proxies: 127.0.0.1
|
||||
services.nginx.virtualHosts."${domain}" = {
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:8123";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
listen = [
|
||||
{ addr = "192.168.10.175"; port = 80; ssl = false; }
|
||||
{ addr = "192.168.10.175"; port = 8123; ssl = false; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
13
hosts/defiant/services/matrix/admin.nix
Normal file
13
hosts/defiant/services/matrix/admin.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
domain = "matrix-admin.home.feal.no";
|
||||
backend = "http://127.0.0.1:8008";
|
||||
synapse-admin = pkgs.callPackage ./adminPkg.nix { };
|
||||
in {
|
||||
services.nginx.virtualHosts."${domain}" = {
|
||||
locations."/".root = "${synapse-admin}";
|
||||
locations."/_synapse".proxyPass = "${backend}";
|
||||
locations."/_matrix".proxyPass = "${backend}";
|
||||
};
|
||||
}
|
||||
|
14
hosts/defiant/services/matrix/adminPkg.nix
Normal file
14
hosts/defiant/services/matrix/adminPkg.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{ lib, stdenvNoCC, fetchzip }:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
name = "synapse-admin";
|
||||
version = "0.8.7";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/Awesome-Technologies/synapse-admin/releases/download/${version}/synapse-admin-${version}-dirty.tar.gz";
|
||||
hash = "sha256-maaiU9ilmzE5lV9Ofjpli4g08/UcgZ82FaIMRrfOy7s=";
|
||||
};
|
||||
phases = [ "installPhase" ];
|
||||
installPhase = ''
|
||||
cp -r $src $out
|
||||
'';
|
||||
}
|
8
hosts/defiant/services/matrix/default.nix
Normal file
8
hosts/defiant/services/matrix/default.nix
Normal file
@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./synapse.nix
|
||||
./admin.nix
|
||||
];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user