Files
hydro-api/docker-compose.yml

76 lines
1.5 KiB
YAML

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