services: api: build: context: . args: CACHEBUST: $(date +%s) ports: - "8080:8080" environment: SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/postgres SPRING_DATA_REDIS_HOST: redis VAULT_URI: ${VAULT_URI} VAULT_ROLE_ID: ${VAULT_ROLE_ID} VAULT_SECRET_ID: ${VAULT_SECRET_ID} JWT_REFRESH_EXPIRATION_MS: 2592000000 JWT_ACCESS_EXPIRATION_MS: 900000 MQTT_JWT_PRIVATE_KEY_PATH: /app/private_key.der SPRING_PROFILES_ACTIVE: dev SERVER_PORT: 8080 volumes: - ./private_key.der:/app/private_key.der:ro,z depends_on: - postgres - mosquitto - redis networks: - hydro-network postgres: image: postgres:16 volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_USER: admin POSTGRES_PASSWORD: supersecret POSTGRES_DB: hydrodb networks: - hydro-network redis: image: redis:latest restart: always ports: - '6379:6379' command: redis-server --save 20 1 --loglevel warning --requirepass supersecret volumes: - cache:/data networks: - hydro-network mosquitto: build: context: ./mosquitto ports: - "1883:1883" networks: - hydro-network # # rabbitmq: # image: 'rabbitmq:latest' # environment: # - 'RABBITMQ_DEFAULT_PASS=supersecret' # - 'RABBITMQ_DEFAULT_USER=myuser' # ports: # - '5672:5672' # volumes: pgdata: cache: networks: hydro-network: driver: bridge