diff --git a/bert/services/http/chandlerswift.com.nix b/bert/services/http/chandlerswift.com.nix new file mode 100644 index 0000000..0de0de8 --- /dev/null +++ b/bert/services/http/chandlerswift.com.nix @@ -0,0 +1,45 @@ + +{ + services.caddy.virtualHosts."chandlerswift.com".extraConfig = '' + encode zstd gzip + file_server + root * /srv/www/chandlerswift.com + # hide .git # ??? + + @html_redirect { + file {path}.html + not path *.html + } + redir @html_redirect {path}.html 301 + + redir /.well-known/host-meta* https://social.chandlerswift.com{uri} permanent + redir /.well-known/webfinger* https://social.chandlerswift.com{uri} permanent + redir /.well-known/nodeinfo* https://social.chandlerswift.com{uri} permanent + + handle_errors { + respond "{err.status_code} {err.status_text}" + } + ''; + services.caddy.virtualHosts."blog.chandlerswift.com".extraConfig = '' + redir /2018/auto-timed-fish-tank-light/ https://chandlerswift.com/projects/fish-tank-light.html permanent + redir /2018/using-a-5-25-floppy-as-a-midi-instrument/ https://chandlerswift.com/projects/midi-floppy.html permanent + redir /2017/building-a-midi-pedalboard/ https://chandlerswift.com/projects/midi-pedalboard.html permanent + redir /2017/esp8266-light-switch-a-few-revisions/ https://chandlerswift.com/projects/light-switch.html permanent + redir /2016/new-relic-and-appfog-2/ https://chandlerswift.com/2016/02/18/new-relic-appfog-v2.html permanent + redir /2015/piano-heatmap-analysis-part-1/ https://chandlerswift.com/2015/09/10/piano-heatmap-part-1.html permanent + redir /2015/solving-windows-update-error-8024402f/ https://chandlerswift.com/2015/08/31/solving-8024402F.html permanent + redir /2015/enable-hotspot-rooted-s6/ https://chandlerswift.com/2015/08/30/enabling-s6-hotspot.html permanent + + redir /* https://chandlerswift.com/ + + handle_errors { + respond "{err.status_code} {err.status_text}" + } + ''; + services.caddy.virtualHosts."www.chandlerswift.com".extraConfig = "redir https://chandlerswift.com{uri}"; + systemd.tmpfiles.settings."10-chandlerswift-com" = { + "/srv/www/chandlerswift.com" = { + d = {}; + }; + }; +} diff --git a/bert/services/http/index.nix b/bert/services/http/index.nix index d0fba6f..751d1de 100644 --- a/bert/services/http/index.nix +++ b/bert/services/http/index.nix @@ -2,6 +2,7 @@ imports = [ ./0hats.com.nix ./bannergen.chandlerswift.com.nix + ./chandlerswift.com.nix ./files.chandlerswift.com.nix ./git.chandlerswift.com.nix ./harborpaperco.com.nix @@ -12,6 +13,8 @@ ./maps.chandlerswift.com.nix ./music.chandlerswift.com.nix ./preview.chandlerswift.com.nix + ./social.chandlerswift.com.nix + ./stjohnscccc.com.nix ./stjohnscccc.org.nix ./swiftgang.net.nix ./whereis.chandlerswift.com.nix @@ -44,8 +47,11 @@

not found - chandlerswift.com

-

This page is hosted with chandlerswift.com, - but the site couldn't be found.

+

+ You've reached a server at + chandlerswift.com, + but the requested site couldn't be found. +

EOF 404 diff --git a/bert/services/http/social.chandlerswift.com.nix b/bert/services/http/social.chandlerswift.com.nix new file mode 100644 index 0000000..3ae0c29 --- /dev/null +++ b/bert/services/http/social.chandlerswift.com.nix @@ -0,0 +1,28 @@ +{ + services.gotosocial = { + enable = true; + settings = { + landing-page-user = "chandler"; + protocol = "https"; + host = "social.chandlerswift.com"; + account-domain = "chandlerswift.com"; + bind-address = "127.0.0.1"; + port = 8001; + # log-timestamp-format = ""; + storage-local-base-path = "/srv/gotosocial/storage"; + db-type = "sqlite"; + db-address = "/srv/gotosocial/database.sqlite"; + }; + }; + systemd.tmpfiles.settings."10-social-chandlerswift-com" = { + "/srv/gotosocial" = { + d = { + user = "gotosocial"; + }; + }; + }; + services.caddy.virtualHosts."social.chandlerswift.com".extraConfig = '' + encode zstd gzip + reverse_proxy localhost:8001 + ''; +} diff --git a/bert/services/http/stjohnscccc.com.nix b/bert/services/http/stjohnscccc.com.nix new file mode 100644 index 0000000..1e9168f --- /dev/null +++ b/bert/services/http/stjohnscccc.com.nix @@ -0,0 +1,19 @@ +{ + services.caddy.virtualHosts."stjohnscccc.com" = { + serverAliases = ["www.stjohnscccc.com"]; + extraConfig = '' + encode zstd gzip + file_server + root * /srv/www/stjohnscccc.com + + handle_errors { + respond "{err.status_code} {err.status_text}" + } + ''; + }; + systemd.tmpfiles.settings."10-stjohnscccc-com" = { + "/srv/www/stjohnscccc.com" = { + d = {}; + }; + }; +} diff --git a/bert/services/http/stjohnscccc.org.nix b/bert/services/http/stjohnscccc.org.nix index b462c02..de32cea 100644 --- a/bert/services/http/stjohnscccc.org.nix +++ b/bert/services/http/stjohnscccc.org.nix @@ -1,11 +1,6 @@ -{ pkgs, lib, config, ... }: -let - app = "stjohnscccc"; - domain = "${app}.chandlerswift.com"; # TODO - dataDir = "/srv/www/stjohnscccc.org"; -in { - services.phpfpm.pools.${app} = { - user = app; +{ pkgs, lib, config, ... }: { + services.phpfpm.pools.stjohnscccc = { + user = "stjohnscccc"; settings = { "listen.owner" = config.services.caddy.user; "pm" = "dynamic"; @@ -20,32 +15,37 @@ in { }; # phpEnv."PATH" = lib.makeBinPath [ pkgs.php ]; }; - services.caddy.virtualHosts.${domain}.extraConfig = '' - root * ${dataDir}/public + services.caddy.virtualHosts."stjohnscccc.org" = { + serverAliases = ["www.stjohnscccc.org"]; + extraConfig = '' + root * /srv/www/stjohnscccc.org/public - handle /downloads/* { - file_server { - browse ${./caddy-browse-template.html} - hide .gitignore + redir /downloads /downloads/ + + handle /downloads/* { + file_server { + browse ${./caddy-browse-template.html} + hide .gitignore + } } - } - handle { - encode zstd gzip - php_fastcgi unix/${config.services.phpfpm.pools.${app}.socket} - file_server - } + handle { + encode zstd gzip + php_fastcgi unix/${config.services.phpfpm.pools.stjohnscccc.socket} + file_server + } - handle_errors { - respond "{err.status_code} {err.status_text}" - } - ''; - users.users.${app} = { - isSystemUser = true; - home = dataDir; - group = app; + handle_errors { + respond "{err.status_code} {err.status_text}" + } + ''; }; - users.groups.${app} = {}; + users.users.stjohnscccc = { + isSystemUser = true; + home = "/srv/www/stjohnscccc.org"; + group = "stjohnscccc"; + }; + users.groups.stjohnscccc = {}; systemd.tmpfiles.settings."10-stjohnscccc.org" = { "/srv/www/stjohnscccc.org" = { d = {}; diff --git a/oscar/configuration.nix b/oscar/configuration.nix index 0271c51..0c51647 100644 --- a/oscar/configuration.nix +++ b/oscar/configuration.nix @@ -189,7 +189,10 @@ programs.thunderbird.enable = true; - programs.bash.enable = true; + programs.bash = { + enable = true; + historyControl = [ "ignoredups" "ignorespace" ]; + }; programs.direnv = { enable = true;