2026-02-10 18:30:56 +03:00
2026-01-22 19:39:47 +03:00
2026-02-10 18:30:56 +03:00
2026-01-22 19:39:47 +03:00
2026-01-22 19:39:47 +03:00
2026-01-22 19:39:47 +03:00
2026-01-22 19:39:47 +03:00
2026-01-22 19:39:47 +03:00
2026-01-23 00:18:34 +03:00

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

official website

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

  1. create newservice/docker-compose.yml
  2. add networks: - proxy_net
  3. add block to Caddyfile
  4. docker compose up -d
Description
my self host env
Readme 33 KiB