name: astro-understated services: app: build: context: . args: - PUBLIC_SITE_URL=${PUBLIC_SITE_URL} - PUBLIC_SITE_TITLE=${PUBLIC_SITE_TITLE} - PUBLIC_SITE_DESCRIPTION=${PUBLIC_SITE_DESCRIPTION} - PUBLIC_SITE_AUTHOR=${PUBLIC_SITE_AUTHOR} - PUBLIC_SOCIAL_GITHUB=${PUBLIC_SOCIAL_GITHUB} - PUBLIC_SOCIAL_TWITTER=${PUBLIC_SOCIAL_TWITTER} - PUBLIC_SOCIAL_LINKEDIN=${PUBLIC_SOCIAL_LINKEDIN} - PUBLIC_UMAMI_WEBSITE_ID=${PUBLIC_UMAMI_WEBSITE_ID} - PUBLIC_UMAMI_HOST=${PUBLIC_UMAMI_HOST} - PUBLIC_UMAMI_SCRIPT_URL=${PUBLIC_UMAMI_SCRIPT_URL} - PUBLIC_EMAIL_SUBSCRIPTION_WEBHOOK_URL=${PUBLIC_EMAIL_SUBSCRIPTION_WEBHOOK_URL} - PUBLIC_DEFAULT_THEME=${PUBLIC_DEFAULT_THEME} ports: - "3002:80" container_name: astro-understated-app volumes: - astro_understated_node_modules:/app/node_modules networks: - common-network environment: - NODE_ENV=production - PUBLIC_SITE_URL=${PUBLIC_SITE_URL} - PUBLIC_SITE_TITLE=${PUBLIC_SITE_TITLE} - PUBLIC_SITE_DESCRIPTION=${PUBLIC_SITE_DESCRIPTION} - PUBLIC_SITE_AUTHOR=${PUBLIC_SITE_AUTHOR} - PUBLIC_SOCIAL_GITHUB=${PUBLIC_SOCIAL_GITHUB} - PUBLIC_SOCIAL_TWITTER=${PUBLIC_SOCIAL_TWITTER} - PUBLIC_SOCIAL_LINKEDIN=${PUBLIC_SOCIAL_LINKEDIN} - PUBLIC_UMAMI_WEBSITE_ID=${PUBLIC_UMAMI_WEBSITE_ID} - PUBLIC_UMAMI_HOST=${PUBLIC_UMAMI_HOST} - PUBLIC_UMAMI_SCRIPT_URL=${PUBLIC_UMAMI_SCRIPT_URL} - PUBLIC_EMAIL_SUBSCRIPTION_WEBHOOK_URL=${PUBLIC_EMAIL_SUBSCRIPTION_WEBHOOK_URL} - PUBLIC_DEFAULT_THEME=${PUBLIC_DEFAULT_THEME} healthcheck: test: ["CMD", "bun", "--eval", "fetch('http://localhost:4321').then(r => process.exit(r.ok ? 0 : 1))"] interval: 30s timeout: 10s retries: 3 start_period: 40s volumes: astro_understated_node_modules: name: astro_understated_node_modules networks: common-network: external: true