b957d3d3d1ddbf0b55d31b81dec925b382c164af
self-hosted services stack
dependencies
- docker + docker-compose 🐳
- domain with A records pointing to server IP:
example.com → YOUR_SERVER_IP immich.example.com → YOUR_SERVER_IP vaultwarden.example.com → YOUR_SERVER_IP mc.example.com → YOUR_SERVER_IP - ports 80/443 open (ufw/firewalld)
quick start
1. Clone
git clone https://github.com/FoXeNe/SelfHostedDeployment
cd services
cp caddy/Caddyfile.example caddy/Caddyfile
nano caddy/Caddyfile # replace `yourdomain.ru`
2. create network
docker network create proxy_net
3. deploy services
caddy (proxy)
cd caddy
docker compose up -d
immich (photos)
cd immich-app
cp .env.example .env
nano .env # IMMICH_DOMAIN=immich.yourdomain.ru
docker compose up -d
vaultwarden (download bitwaden apps)
cd vaultwarden
docker compose up -d
homepage (dashboard)
cd homepage
docker compose up -d
minecraft (PaperMC)
first of all you must open 25565 port
install jdk
sudo pacman -S jdk21-openjdk # Arch linux
# or
sudo apt install openjdk-21-jdk # Debian/Ubuntu
install papermc.jar
run server
java -Xms4G -Xmx4G -jar paper.jar --nogui
change server.properties
I strongly recommend changing this in server.properties:
enforce-whitelist=true
white-list=true
if you plan to play on a non-licensed version (I recommend purchasing the official version):
online-mode=false
connection
yourdomain.ru:25565
customization
caddyfile
if you edit caddy/Caddyfile => reload thid docker container
add new Service
- create
newservice/docker-compose.yml - add
networks: - proxy_net - add block to Caddyfile
docker compose up -d
Description