From d7a36310eca3d952ad2e9a5421ff88e327f80950 Mon Sep 17 00:00:00 2001 From: Bensuperpc Date: Mon, 26 Aug 2024 22:07:40 +0200 Subject: [PATCH] Add ProjectSend Signed-off-by: Bensuperpc --- Makefile | 2 +- README.md | 16 ++++++- .../caddy/config/bensuperpc.org/Caddyfile | 6 +++ infrastructure/homepage/config/services.yaml | 6 +++ .../docker-compose.projectsend.yml | 47 +++++++++++++++++++ .../projectsend/env/projectsend.env | 1 + .../projectsend/env/projectsend_db.env | 4 ++ 7 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 infrastructure/projectsend/docker-compose.projectsend.yml create mode 100644 infrastructure/projectsend/env/projectsend.env create mode 100644 infrastructure/projectsend/env/projectsend_db.env diff --git a/Makefile b/Makefile index dfeb160..930b100 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ DOCKER := docker -PROFILES := caddy wordpress adminer syncthing uptime-kuma jellyfin qbittorrent psitransfer gitea it-tools privatebin homepage yacht +PROFILES := caddy wordpress adminer syncthing uptime-kuma jellyfin qbittorrent psitransfer gitea it-tools privatebin homepage yacht projectsend PROFILE_CMD := $(addprefix --profile ,$(PROFILES)) # gitea-runner transmission dozzle watchtower diff --git a/README.md b/README.md index c3f1b9f..2f154d3 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ And then, caddy will generate the certificate for you and renew it automatically | [it-tools.bensuperpc.org](https://it-tools.bensuperpc.org) | Sub | Tools for IT | | [privatebin.bensuperpc.org](https://privatebin.bensuperpc.org) | Sub | Pastebin | | [yacht.bensuperpc.org](https://yacht.bensuperpc.org) | Sub | Web interface for managing docker containers | +| [projectsend.bensuperpc.org](https://projectsend.bensuperpc.org) | Sub | ProjectSend for file sharing | | bensuperpc.com | Main | Redirect to bensuperpc.org | | bensuperpc.fr | Main | Redirect to bensuperpc.org | | bensuperpc.net | Main | Redirect to bensuperpc.org | @@ -148,7 +149,7 @@ MYSQL_PASSWORD=K7s5yoHknnEd7vsZoxb8I3dK9mjToF1j MYSQL_DATABASE=gitea ``` -For [psitransfer.env](infrastructure/psitransfer/env/psitransfer.env) file, you need to change the password(s) and user for the database. +For [psitransfer.env](infrastructure/psitransfer/env/psitransfer.env) file, you need to change the secret key. ```sh PSITRANSFER_ADMIN_PASS=n9jLVNT9QUotTJTT91JqH4GyBTg9pvEn @@ -160,6 +161,15 @@ For [yacht.env](infrastructure/yacht/env/yacht.env) file, you need to change the SECRET_KEY=UZvg9nbcGIJlPEB3uI39TAEWyFOz9nm8 ``` +For [projectsend_db.env](infrastructure/projectsend/env/projectsend_db.env) file, you need to change the password(s) and user for the database. + +```sh +MARIADB_ROOT_PASSWORD=8O34297GrBfT3Ld34Lfg9mpotmZwbJtt +MARIADB_USER=bensuperpc +MARIADB_PASSWORD=wdSUa1JEZhXie5AJ5NcX1w73xmpO12EY +MARIADB_DATABASE=projectsend +``` + ### Start the infrastructure Start the website with: @@ -199,6 +209,7 @@ You can find all service on this table: | it-tools | Tools for IT | [it-tools.bensuperpc.org](https://it-tools.bensuperpc.org) | | Privatebin | Pastebin | [privatebin.bensuperpc.org](https://privatebin.bensuperpc.org) | | Yacht | Web interface for managing docker containers | [yacht.bensuperpc.org](https://yacht.bensuperpc.org) | +| ProjectSend | ProjectSend for file sharing | [projectsend.bensuperpc.org](https://projectsend.bensuperpc.org) | You can disable some services by removing the service name in PROFILES variable in the [Makefile](Makefile) file. @@ -215,6 +226,7 @@ To enable the gitea CI: https://medium.com/@lokanx/how-to-build-docker-container - [Docker Hub](https://hub.docker.com/) - [How To Start WordPress with Caddy using Docker Compose](https://minhcung.me/how-to-start-wordpress-with-caddy-using-docker-compose-3d31bb9ef88b) - [Digital Ocean - How To Install WordPress with Docker Compose (nginx)](https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-docker-compose) +- [Imagisphe](https://imagisphe.re/) - [Letsencrypt](https://letsencrypt.org/) - [Caddy](https://caddyserver.com/) - [Adminer](https://www.adminer.org/) @@ -230,7 +242,7 @@ To enable the gitea CI: https://medium.com/@lokanx/how-to-build-docker-container - [ghost](https://ghost.org) - [Homepage Tuto](https://belginux.com/installer-homepage-avec-docker/) - [Yacht](https://yacht.sh/) -- [Imagisphe](https://imagisphe.re/) +- [ProjectSend](https://www.projectsend.org/) ## License diff --git a/infrastructure/caddy/config/bensuperpc.org/Caddyfile b/infrastructure/caddy/config/bensuperpc.org/Caddyfile index 033ff5d..ecfbeda 100644 --- a/infrastructure/caddy/config/bensuperpc.org/Caddyfile +++ b/infrastructure/caddy/config/bensuperpc.org/Caddyfile @@ -117,6 +117,10 @@ yacht.bensuperpc.org { reverse_proxy yacht:8000 } +projectsend.bensuperpc.org { + reverse_proxy projectsend:80 +} + link.bensuperpc.org { # TODO: Use service with database # Friendly links @@ -138,6 +142,8 @@ link.bensuperpc.org { redir /mother https://youtu.be/w3NyycHR3fE?si=rNNSW9zYv0bcO2Eu permanent redir /cpu https://www.youtube.com/watch?v=y39D4529FM4 permanent redir /lechanteur https://youtu.be/HXdP15Ubu6M?si=N0qvhqo--3pmSGmb permanent + redir /nohero https://youtu.be/4DuUejBkMqE?si=bkB8G6PHwCp56jxb permanent + redir /indochine https://youtu.be/M7X6oYg6iro?si=ZRarm3qamTJ8vIJ0 permanent redir /bna https://youtu.be/3T3ofoKfEoY?si=_7HkGQXMC7rBng8O permanent redir /jojo https://youtu.be/U0TXIXTzJEY?si=2acWJWX06ju2w4uj permanent redir /patapon https://youtu.be/H6CbNHLHkmk?si=ZvU8SzrOK-oCUXT5 permanent diff --git a/infrastructure/homepage/config/services.yaml b/infrastructure/homepage/config/services.yaml index d8faa50..df70fc1 100644 --- a/infrastructure/homepage/config/services.yaml +++ b/infrastructure/homepage/config/services.yaml @@ -65,6 +65,12 @@ description: Transmission ping: transmission.bensuperpc.org container: transmission + - projectsend: + icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/projectsend.png + href: https://projectsend.bensuperpc.org/ + description: ProjectSend + ping: projectsend.bensuperpc.org + container: projectsend - Utils: - it-tools: diff --git a/infrastructure/projectsend/docker-compose.projectsend.yml b/infrastructure/projectsend/docker-compose.projectsend.yml new file mode 100644 index 0000000..3060864 --- /dev/null +++ b/infrastructure/projectsend/docker-compose.projectsend.yml @@ -0,0 +1,47 @@ +services: + # projectsend + projectsend: + image: linuxserver/projectsend:latest + container_name: projectsend + profiles: + - projectsend + restart: on-failure:5 + depends_on: + - caddy + env_file: + - ./projectsend/env/projectsend.env + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - projectsend_config:/config + - projectsend_share:/data + networks: + - infra-network + security_opt: + - no-new-privileges:true + # Database projectsend + projectsend_db: + image: mariadb:latest + container_name: projectsend_db + profiles: + - database + - projectsend + depends_on: + - caddy + restart: on-failure:5 + volumes: + - projectsend_db:/var/lib/mysql:rw + env_file: + - ./projectsend/env/projectsend_db.env + command: '--default-authentication-plugin=mysql_native_password' + networks: + - infra-network + security_opt: + - no-new-privileges:true + +volumes: + projectsend_db: + name: projectsend_db + projectsend_config: + name: projectsend_config + projectsend_share: + name: projectsend_share diff --git a/infrastructure/projectsend/env/projectsend.env b/infrastructure/projectsend/env/projectsend.env new file mode 100644 index 0000000..b1774e7 --- /dev/null +++ b/infrastructure/projectsend/env/projectsend.env @@ -0,0 +1 @@ +MAX_UPLOAD=50000 diff --git a/infrastructure/projectsend/env/projectsend_db.env b/infrastructure/projectsend/env/projectsend_db.env new file mode 100644 index 0000000..77f1999 --- /dev/null +++ b/infrastructure/projectsend/env/projectsend_db.env @@ -0,0 +1,4 @@ +MARIADB_ROOT_PASSWORD=8O34297GrBfT3Ld34Lfg9mpotmZwbJtt +MARIADB_USER=bensuperpc +MARIADB_PASSWORD=wdSUa1JEZhXie5AJ5NcX1w73xmpO12EY +MARIADB_DATABASE=projectsend