72 lines
1.7 KiB
YAML
72 lines
1.7 KiB
YAML
|
|
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: telemedicine-postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: telemedicine
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: password
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- ./postgres-data:/var/lib/postgresql/data
|
|
networks:
|
|
- telemedicine-network
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: telemedicine-app
|
|
ports:
|
|
- "8080:8080"
|
|
- "18080:8080"
|
|
depends_on:
|
|
- postgres
|
|
- turn
|
|
environment:
|
|
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/telemedicine
|
|
SPRING_DATASOURCE_USERNAME: postgres
|
|
SPRING_DATASOURCE_PASSWORD: password
|
|
|
|
JWT_SECRET: ${JWT_SECRET}
|
|
JWT_EXPIRATION: 86400
|
|
|
|
SPRING_MAIL_HOST: smtp.gmail.com
|
|
SPRING_MAIL_PORT: 587
|
|
SPRING_MAIL_USERNAME: ${MAIL_USERNAME}
|
|
SPRING_MAIL_PASSWORD: ${MAIL_PASSWORD}
|
|
GEMINI_API_KEY: ${GEMINI_API_KEY:-dummy-key}
|
|
networks:
|
|
- telemedicine-network
|
|
turn:
|
|
image: coturn/coturn:latest
|
|
container_name: telemedicine-turn
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3478:3478/udp"
|
|
- "3478:3478/tcp"
|
|
- "49152-49251:49152-49251/udp"
|
|
environment:
|
|
TURN_ENABLED: "true"
|
|
TURN_USERNAME: "telemedicine"
|
|
TURN_PASSWORD: ${TURN_PASSWORD:-changeme}
|
|
TURN_REALM: "localdomain"
|
|
NO_AUTH_RELAY: "false"
|
|
LISTENING_IP: "0.0.0.0"
|
|
MIN_PORT: "49152"
|
|
MAX_PORT: "49251"
|
|
VERBOSE: "true"
|
|
volumes:
|
|
- ./turn-config:/etc/turnserver
|
|
networks:
|
|
- telemedicine-network
|
|
|
|
volumes:
|
|
postgres-data:
|
|
driver: local
|
|
|
|
networks:
|
|
telemedicine-network:
|
|
driver: bridge |