feat: setup projectsend docker containers
This commit is contained in:
		
							parent
							
								
									77ac5e4fc3
								
							
						
					
					
						commit
						03a597ae6d
					
				
					 4 changed files with 90 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
age-encryption.org/v1
 | 
			
		||||
-> ssh-ed25519 KTkZog Up5AjKprErUc0nI98az6EFmtxev7vdg+PmNzQgizHTc
 | 
			
		||||
NJ+/pzyDbSgmm+0jx4C2X4ISoJDD004HlN1Ul3vrmzM
 | 
			
		||||
-> RGCv~-grease
 | 
			
		||||
Ov7OyKCQF8tm4G+cXFlibXFROTAHhssk1JaozlPpUmnFOX5ao78jVORa27WHEF/H
 | 
			
		||||
XxEDY0JQU6oL2fM
 | 
			
		||||
--- hV6JhDfXuYLaf/iGqjN6Q/N6tnDR6J1V627DDLnaGZI
 | 
			
		||||
°ó5–<EFBFBD>›Œcŧ»µ²îìu=€
 | 
			
		||||
iFd’ϲß[<D™ì0|#Ú!rHU™ŸúDª´kH'çHJØÞ@5AsK[@
zÚpmP]@¤ŸŸÓâj¡Îï/)AódÉ.¤×¡M;{h6zÄ÷É)¢×›4+/aûwÀøF«apü[X<δ
 | 
			
		||||
ŒT
 | 
			
		||||
?HÞo‹o
 | 
			
		||||
| 
						 | 
				
			
			@ -10,6 +10,7 @@
 | 
			
		|||
    ./mpd
 | 
			
		||||
    ./murmur
 | 
			
		||||
    ./opengist
 | 
			
		||||
    ./projectsend
 | 
			
		||||
    ./traefik
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										68
									
								
								nixos/viridian/services/projectsend/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								nixos/viridian/services/projectsend/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,68 @@
 | 
			
		|||
{config, ...}: {
 | 
			
		||||
  # Environment variables for ProjectSend
 | 
			
		||||
  age.secrets.projectsend = {
 | 
			
		||||
    rekeyFile = ./environment.age;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Setup for ProjectSend, a file sharing application
 | 
			
		||||
  virtualisation.oci-containers.containers = {
 | 
			
		||||
    projectsend = {
 | 
			
		||||
      image = "linuxserver/projectsend:version-r1720";
 | 
			
		||||
      ports = [
 | 
			
		||||
        "9684:80"
 | 
			
		||||
      ];
 | 
			
		||||
      volumes = [
 | 
			
		||||
        "/var/lib/projectsend/config:/config"
 | 
			
		||||
        "/var/lib/projectsend/data:/data"
 | 
			
		||||
      ];
 | 
			
		||||
      environment = {
 | 
			
		||||
        PUID = "1000";
 | 
			
		||||
        PGID = "100";
 | 
			
		||||
      };
 | 
			
		||||
      extraOptions = [
 | 
			
		||||
        "--network=projectsend"
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    # MariaDB container for ProjectSend
 | 
			
		||||
    projectsend-mariadb = {
 | 
			
		||||
      image = "mariadb:lts-noble";
 | 
			
		||||
      volumes = [
 | 
			
		||||
        "/var/lib/projectsend/mysql:/var/lib/mysql"
 | 
			
		||||
      ];
 | 
			
		||||
      environmentFiles = [
 | 
			
		||||
        config.age.secrets.projectsend.path
 | 
			
		||||
      ];
 | 
			
		||||
      extraOptions = [
 | 
			
		||||
        "--network=projectsend"
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Network for ProjectSend containers
 | 
			
		||||
  services.traefik.dynamicConfigOptions.http = {
 | 
			
		||||
    routers.projectsend = {
 | 
			
		||||
      rule = "Host(`drop.ps7e.xyz`)";
 | 
			
		||||
      entryPoints = [
 | 
			
		||||
        "websecure"
 | 
			
		||||
      ];
 | 
			
		||||
      service = "projectsend";
 | 
			
		||||
    };
 | 
			
		||||
    services.projectsend = {
 | 
			
		||||
      loadBalancer.servers = [
 | 
			
		||||
        {url = "http://127.0.0.1:9684";}
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Persistence configuration for ProjectSend
 | 
			
		||||
  environment.persistence."/persist" = {
 | 
			
		||||
    directories = [
 | 
			
		||||
      {
 | 
			
		||||
        directory = "/var/lib/projectsend";
 | 
			
		||||
        user = "sajenim";
 | 
			
		||||
        group = "users";
 | 
			
		||||
      }
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								nixos/viridian/services/projectsend/environment.age
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nixos/viridian/services/projectsend/environment.age
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
age-encryption.org/v1
 | 
			
		||||
-> piv-p256 hdSnGw ArF/5zoX1WGrrBvli8JN/BU/zhX+uuSvHUZOr8xWT1jE
 | 
			
		||||
AVLiFe7B8jpeqy3twUGoOcuA4XKGv4wT9gKMNIipmuc
 | 
			
		||||
-> }S39,Y-grease Y`7mW
 | 
			
		||||
bOcAO2gpCv5yHpJyHI2omMPzeRjiTTagCwQfMZST5+D6A1mPk86C99e2bDNv
 | 
			
		||||
--- KbkF7enRjL7hkgek9CO5UcIOVZ087ji1oDMGViaThPI
 | 
			
		||||
	<09>'4[n7ôY0YZõ͉¦þ®ã±k‘±žzÕ´p]v{_sÛ;
 | 
			
		||||
±ôÚf¾A
 | 
			
		||||
!.ò¦Û±±¢ý줮EWw²lÊÔS¶
ÚyˆÁ¶s8lmOlžÝ J˜bjÜå–Ý®ù®n:¡q.8®d<EFBFBD>d_à³3 
 | 
			
		||||
™æp‰ÂÞN´´ÅÁY)×<>È›ÿ÷Y³YÂ
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue