Kikomiko Docker deploy (kikomiko.ir) 1) DNS (at your registrar) A kikomiko.ir -> VPS IP A www.kikomiko.ir -> VPS IP A admin.kikomiko.ir -> VPS IP 2) Clone (important: trailing dot so files land IN /kikomiko) mkdir -p /kikomiko cd /kikomiko git clone https://git.sambassari.ir/sam/kikomiko.git . You should see: docker-compose.yml .env.example kikomiko/ docker/ If you only see a nested kikomiko/ folder, you cloned without the dot. Fix: cd /kikomiko/kikomiko # work from here (where docker-compose.yml is) # OR move up: # shopt -s dotglob && mv /kikomiko/kikomiko/* /kikomiko/ && rmdir /kikomiko/kikomiko 3) Env cp .env.example .env nano .env # set ADMIN_PASS # Caddy network on this VPS is usually: webserver_pro_web 4) Start docker compose up -d --build 5) URLs https://kikomiko.ir/ https://admin.kikomiko.ir/ fallback: http://VPS_IP:8080/ and http://VPS_IP:8090/ 6) Updates cd ~/kikomiko # (or nested folder where compose file lives) git pull docker compose up -d --build Caddy notes Labels use caddy-docker-proxy style (caddy: / caddy.reverse_proxy). If your webserver_pro uses a hand-written Caddyfile instead of labels, add something like: kikomiko.ir, www.kikomiko.ir, admin.kikomiko.ir { reverse_proxy kikomiko-web-1:80 } (container name from: docker compose ps)