@@ -9,6 +9,7 @@ in
|
||||
(import ./gitea { inherit user home; })
|
||||
(import ./grafana { inherit user home; })
|
||||
(import ./littlelink { inherit user home; })
|
||||
(import ./lore { inherit user home; })
|
||||
(import ./media { inherit user home; })
|
||||
(import ./nextcloud { inherit user home; })
|
||||
(import ./ntfy { inherit user home; })
|
||||
|
@@ -3,7 +3,6 @@
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
@@ -13,8 +12,7 @@ let
|
||||
inherit (hmConfig.virtualisation.quadlet) networks;
|
||||
in
|
||||
{
|
||||
home-manager.users.${user} = {
|
||||
virtualisation.quadlet.containers.littlelink.containerConfig = {
|
||||
home-manager.users.${user}.virtualisation.quadlet.containers.littlelink.containerConfig = {
|
||||
image = "docker-archive:${selfPkgs.docker-littlelink-server}";
|
||||
networks = [ networks.traefik.ref ];
|
||||
environments = {
|
||||
@@ -71,5 +69,4 @@ in
|
||||
"traefik.http.routers.littlelink.rule=Host(`social.karaolidis.com`)"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -0,0 +1,23 @@
|
||||
{ user, home }:
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
let
|
||||
selfPkgs = inputs.self.packages.${system};
|
||||
hmConfig = config.home-manager.users.${user};
|
||||
inherit (hmConfig.virtualisation.quadlet) networks;
|
||||
in
|
||||
{
|
||||
home-manager.users.${user}.virtualisation.quadlet.containers.lore.containerConfig = {
|
||||
image = "docker-archive:${selfPkgs.docker-nginx}";
|
||||
networks = [ networks.traefik.ref ];
|
||||
volumes = [ "${./index.html}:/var/www/nginx/index.html:ro" ];
|
||||
labels = [
|
||||
"traefik.enable=true"
|
||||
"traefik.http.routers.lore.rule=Host(`lore.karaolidis.com`)"
|
||||
];
|
||||
};
|
||||
}
|
@@ -0,0 +1,23 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Karaolidis Lore</title>
|
||||
<meta charset="utf-8" />
|
||||
<style>
|
||||
body {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
width: 100%;
|
||||
font-size: 10rem;
|
||||
margin: 0;
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
🐌 🪴 🦇 🦐
|
||||
</body>
|
||||
</html>
|
@@ -21,6 +21,7 @@
|
||||
docker-littlelink-server = import ./docker/littlelink-server { inherit pkgs inputs system; };
|
||||
docker-mariadb = import ./docker/mariadb { inherit pkgs; };
|
||||
docker-nextcloud = import ./docker/nextcloud { inherit pkgs; };
|
||||
docker-nginx = import ./docker/nginx { inherit pkgs; };
|
||||
docker-ntfy = import ./docker/ntfy { inherit pkgs; };
|
||||
docker-oidcwarden = import ./docker/oidcwarden { inherit pkgs inputs system; };
|
||||
docker-outline = import ./docker/outline { inherit pkgs; };
|
||||
|
66
packages/docker/nginx/default.nix
Normal file
66
packages/docker/nginx/default.nix
Normal file
@@ -0,0 +1,66 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
nginxConfig = pkgs.writeTextDir "/etc/nginx/nginx.conf" ''
|
||||
user root;
|
||||
daemon off;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
events { }
|
||||
|
||||
http {
|
||||
include ${pkgs.nginx}/conf/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
charset utf-8;
|
||||
|
||||
access_log off;
|
||||
error_log /dev/stderr;
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
|
||||
root /var/www/nginx;
|
||||
index index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
in
|
||||
pkgs.dockerTools.buildImage {
|
||||
name = "nginx";
|
||||
fromImage = import ../base { inherit pkgs; };
|
||||
|
||||
copyToRoot = pkgs.buildEnv {
|
||||
name = "root";
|
||||
paths = with pkgs; [
|
||||
nginxConfig
|
||||
nginx
|
||||
];
|
||||
pathsToLink = [
|
||||
"/bin"
|
||||
"/etc"
|
||||
];
|
||||
};
|
||||
|
||||
runAsRoot = ''
|
||||
mkdir -p /var/run /var/log/nginx
|
||||
'';
|
||||
|
||||
config = {
|
||||
Entrypoint = [ "nginx" ];
|
||||
Cmd = [
|
||||
"-c"
|
||||
"/etc/nginx/nginx.conf"
|
||||
];
|
||||
WorkingDir = "/var/www/nginx";
|
||||
Volumes = {
|
||||
"/var/www/nginx" = { };
|
||||
};
|
||||
ExposedPorts = {
|
||||
"80/tcp" = { };
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user