services: portfolio-app: image: ${PORTFOLIO_IMAGE:-amiirkhl-portfolio:latest} container_name: portfolio-app restart: unless-stopped healthcheck: test: [ "CMD", "node", "-e", "fetch('http://127.0.0.1:3000/').then(r=>{if(!r.ok)process.exit(1)}).catch(()=>process.exit(1))", ] interval: 2s timeout: 2s start_period: 3s retries: 30 volumes: - next-image-cache:/app/.next/cache networks: - caddy_proxy networks: caddy_proxy: external: true name: caddy_proxy volumes: next-image-cache: