feat: setup projectsend docker containers

This commit is contained in:
♥ Minnie ♥ 2025-08-07 21:40:56 +08:00
parent 77ac5e4fc3
commit e20e9ebfae
Signed by: jasmine
GPG key ID: 8563E358D4E8040E
3 changed files with 79 additions and 0 deletions

View file

@ -10,6 +10,7 @@
./mpd ./mpd
./murmur ./murmur
./opengist ./opengist
./projectsend
./traefik ./traefik
]; ];
} }

View 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";
}
];
};
}

View 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Â