summaryrefslogblamecommitdiff
path: root/components/services/caddy.nix
blob: 4203d4a5d120c1c59d5a4434957b1e2abb02adab (plain) (tree)
1
2
3
4
5
6
7






                                                           





                                    
 




                                          







                                                



                                                          
 
                                          
                                      
                      

           










                                           
                                      





                                            
           
        


      
{lib, config, ...}: {
  options.caddy.enable = lib.mkEnableOption "Caddy server";

  config = lib.mkIf config.caddy.enable {
    services.caddy = {
      enable = true;

      virtualHosts = {
        "leoflo.me".extraConfig = ''
          root /srv/leoflo.me/src
          templates
          file_server
        '';

        "files.leoflo.me".extraConfig = ''
          root /srv/files.leoflo.me
          file_server browse
        '';

        "music.home.leoflo.me".extraConfig = ''
          reverse_proxy 10.69.0.2:9001
        '';

        "cinema.home.leoflo.me".extraConfig = ''
          reverse_proxy 10.69.0.2:9004
        '';

        "home.arpa".extraConfig = ''
          respond "Benvenuto nella rete privata di leo :D"
          tls internal
        '';

        "music.home.arpa".extraConfig = ''
          reverse_proxy 10.69.0.2:9001
          tls internal
        '';

        "images.home.arpa".extraConfig = ''
          reverse_proxy 10.69.0.2:9002
          tls internal
        '';

        "papers.home.arpa".extraConfig = ''
          reverse_proxy 10.69.0.2:9003
          tls internal
        '';

        "cinema.home.arpa".extraConfig = ''
          reverse_proxy 10.69.0.2:9004
          tls internal
        '';

        "torrent.home.arpa".extraConfig = ''
          reverse_proxy 10.69.0.2:9005
          tls internal
        '';
      };
    };
  };
}