Compare commits

...

3 Commits

Author SHA1 Message Date
51a014e14c Add linkstack and privatebin
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2024-08-23 21:26:02 +02:00
edc107feaf Fix wrong port
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2024-08-23 17:25:38 +02:00
68b917a720 Add it-tools
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2024-08-23 17:19:24 +02:00
8 changed files with 140 additions and 2 deletions

View File

@ -32,6 +32,10 @@ jobs:
run: make build
# - name: "Start server"
# run: make start
- name: "Logs server"
run: make logs
- name: "State server"
run: make state
- name: "Stop server"
run: make stop
- name: "Down server"

View File

@ -13,7 +13,7 @@
DOCKER := docker
PROFILES := caddy wordpress adminer syncthing uptime-kuma jellyfin qbittorrent psitransfer gitea watchtower
PROFILES := caddy wordpress adminer syncthing uptime-kuma jellyfin qbittorrent psitransfer gitea it-tools privatebin linkstack watchtower
PROFILE_CMD := $(addprefix --profile ,$(PROFILES))
# gitea-runner transmission

View File

@ -20,6 +20,10 @@ If you have any **questions** or **suggestions**, feel free to open an issue or
- [x] Gitea (Git server)
- [x] Uptime Kuma (Monitoring)
- [x] qbittorrent and transmission (Torrent client/server)
- [x] SyncThing (File synchronization)
- [x] PsiTransfer (File sharing)
- [x] it-tools (Tools for IT)
- [x] Privatebin (Pastebin)
## Screenshots
@ -73,6 +77,8 @@ And then, caddy will generate the certificate for you and renew it automatically
| [jellyfin.bensuperpc.org](https://jellyfin.bensuperpc.org) | Sub | Jellyfin for media server |
| [syncthing.bensuperpc.org](https://syncthing.bensuperpc.org) | Sub | SyncThing for file synchronization |
| [psitransfer.bensuperpc.org](https://psitransfer.bensuperpc.org) | Sub | PsiTransfer for file sharing |
| [it-tools.bensuperpc.org](https://it-tools.bensuperpc.org) | Sub | Tools for IT |
| [privatebin.bensuperpc.org](https://privatebin.bensuperpc.org) | Sub | Pastebin |
| bensuperpc.com | Main | Redirect to bensuperpc.org |
| bensuperpc.fr | Main | Redirect to bensuperpc.org |
| bensuperpc.net | Main | Redirect to bensuperpc.org |
@ -176,12 +182,14 @@ You can find all service on this table:
| Jellyfin | Jellyfin for media server | [jellyfin.bensuperpc.org](https://jellyfin.bensuperpc.org) |
| SyncThing | SyncThing for file synchronization | [syncthing.bensuperpc.org](https://syncthing.bensuperpc.org) |
| PsiTransfer | PsiTransfer for file sharing | [psitransfer.bensuperpc.org](https://psitransfer.bensuperpc.org) |
| it-tools | Tools for IT | [it-tools.bensuperpc.org](https://it-tools.bensuperpc.org) |
| Privatebin | Pastebin | [privatebin.bensuperpc.org](https://privatebin.bensuperpc.org) |
You can disable some services by removing the service name in PROFILES variable in the [Makefile](Makefile) file.
To enable the gitea CI: https://medium.com/@lokanx/how-to-build-docker-containers-using-gitea-runners-600729555e07
## Build with
## Sources
- [Wordpress](https://wordpress.org/)
- [Gnu Make](https://www.gnu.org/software/make/)
@ -194,6 +202,18 @@ To enable the gitea CI: https://medium.com/@lokanx/how-to-build-docker-container
- [Digital Ocean - How To Install WordPress with Docker Compose (nginx)](https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-docker-compose)
- [Letsencrypt](https://letsencrypt.org/)
- [Caddy](https://caddyserver.com/)
- [Adminer](https://www.adminer.org/)
- [Uptime Kuma](https://uptime-kuma.com/)
- [qbittorrent](https://www.qbittorrent.org/)
- [Transmission](https://transmissionbt.com/)
- [Gitea](https://gitea.io/)
- [Jellyfin](https://jellyfin.org/)
- [SyncThing](https://syncthing.net/)
- [PsiTransfer](https://psitransfer.com/)
- [It-tools](https://github.com/CorentinTh/it-tools)
- [Privatebin](https://github.com/PrivateBin/PrivateBin)
- [Linkstack](https://linkstack.org)
- [Imagisphe](https://imagisphe.re/)
## License

View File

@ -85,6 +85,30 @@ syncthing.bensuperpc.org {
}
}
it-tools.bensuperpc.org {
reverse_proxy it-tools:80
}
tools.bensuperpc.org {
redir https://it-tools.bensuperpc.org permanent
}
privatebin.bensuperpc.org {
reverse_proxy privatebin:8080
}
pastebin.bensuperpc.org {
redir https://privatebin.bensuperpc.org permanent
}
linkstack.bensuperpc.org {
reverse_proxy linkstack:443 {
transport http {
tls_insecure_skip_verify
}
}
}
link.bensuperpc.org {
# TODO: Use service with database
# Friendly links
@ -111,4 +135,5 @@ link.bensuperpc.org {
redir /patapon https://youtu.be/H6CbNHLHkmk?si=ZvU8SzrOK-oCUXT5 permanent
redir /darkwater https://youtu.be/Tr8ZgF4Dc0E?si=CEOmm2J6Jp5rdbbt permanent
redir /train https://youtu.be/l8mScKWj3kQ?si=BV07uJ9eP3kzV9Kl permanent
redir /jdg https://www.youtube.com/@joueurdugrenier permanent
}

View File

@ -0,0 +1,23 @@
services:
# it-tools
it-tools:
image: corentinth/it-tools:latest
container_name: it-tools
profiles:
- it-tools
restart: on-failure:5
depends_on:
- caddy
networks:
- infra-network
security_opt:
- no-new-privileges:true
read_only: true
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
reservations:
cpus: '0.001'
memory: 20M

View File

@ -0,0 +1,30 @@
services:
# linkstack
linkstack:
image: linkstackorg/linkstack:latest
container_name: linkstack
profiles:
- linkstack
restart: on-failure:5
depends_on:
- caddy
env_file:
- ./linkstack/env/linkstack.env
volumes:
- linkstack_data:/htdocs
networks:
- infra-network
security_opt:
- no-new-privileges:true
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
reservations:
cpus: '0.001'
memory: 20M
volumes:
linkstack_data:
name: linkstack_data

View File

@ -0,0 +1,7 @@
HTTP_SERVER_NAME="linkstack.bensuperpc.org"
HTTPS_SERVER_NAME="linkstack.bensuperpc.org"
TZ="Europe/Paris"
PHP_MEMORY_LIMIT="512M"
UPLOAD_MAX_FILESIZE="8M"
LOG_LEVEL="info"
SERVER_ADMIN="bensuperpc@gmail.com"

View File

@ -0,0 +1,29 @@
services:
# privatebin
privatebin:
image: privatebin/nginx-fpm-alpine:latest
container_name: privatebin
profiles:
- privatebin
restart: on-failure:5
depends_on:
- caddy
volumes:
- privatebin_data:/srv/data
networks:
- infra-network
security_opt:
- no-new-privileges:true
read_only: true
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
reservations:
cpus: '0.001'
memory: 20M
volumes:
privatebin_data:
name: privatebin_data