version: '3.8' # Deploy with: # docker stack deploy -c fusionauth.yml fusionauth # # Runs on: CADDY_INSTANCE (ip-10-0-1-168) # FusionAuth is Java-based and memory hungry — deployed on caddy node (t3.large, 8GB) # Accessible publicly via Caddy reverse proxy at auth.yourdomain.com services: fusionauth: image: fusionauth/fusionauth-app:latest environment: DATABASE_URL: jdbc:postgresql://postgres:5432/fusionauth_db DATABASE_ROOT_USERNAME: postgres DATABASE_ROOT_PASSWORD: ${POSTGRES_PASSWORD} DATABASE_USERNAME: fusionauth_user DATABASE_PASSWORD: ${FUSIONAUTH_DB_PASSWORD} FUSIONAUTH_APP_MEMORY: 512M FUSIONAUTH_APP_RUNTIME_MODE: production SEARCH_TYPE: database networks: - overlay-net deploy: replicas: 1 placement: constraints: - node.hostname == ip-10-0-1-168 restart_policy: condition: on-failure delay: 5s max_attempts: 3 networks: overlay-net: external: true name: ${OVERLAY_NETWORK:-homelab-net}