-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
73 lines (70 loc) · 2.16 KB
/
compose.yaml
File metadata and controls
73 lines (70 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
services:
db:
container_name: auth-db
image: postgres:16.3-alpine # Добавлен образ PostgreSQL
environment:
EXTERNAL_DB_PORT: ${EXTERNAL_DB_PORT:-6969}
POSTGRES_USER: ${POSTGRES_USER:-admin}
POSTGRES_DB: ${POSTGRES_DB:-admin}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-admin}
restart: ${POSTGRES_RESTART:-always}
volumes:
- pg_data:/var/lib/postgresql/data
ports:
- "${EXTERNAL_DB_PORT:-5432}"
command: postgres -p ${EXTERNAL_DB_PORT:-5432}
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}" ]
interval: ${HEALTH_CHECK_INTERVAL:-30}s
timeout: ${HEALTH_CHECK_TIMEOUT:-10}s
retries: ${HEALTH_CHECK_RETRIES:-3}
start_period: ${HEALTH_CHECK_START_PERIOD:-40}s
networks:
- auth-service
redis:
container_name: auth-redis
image: redis:5
ports:
- "${REDIS_PORT:-6379}"
restart: ${RESTART_POLICY:-always}
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: ${HEALTH_CHECK_INTERVAL:-30}s
timeout: ${HEALTH_CHECK_TIMEOUT:-10}s
retries: ${HEALTH_CHECK_RETRIES:-3}
start_period: ${HEALTH_CHECK_START_PERIOD:-40}s
volumes:
- redis_data:/data
networks:
- auth-service
auth-service:
container_name: ${CONTAINER_NAME:-auth-service}
build:
context: ./
dockerfile: Dockerfile
ports:
- "${APP_PORT:-8080}"
depends_on:
- db
- redis
restart: ${RESTART_POLICY:-always}
environment:
APP_PORT: ${APP_PORT:-8080}
SPRING_DATASOURCE_URL: jdbc:postgresql://db:${EXTERNAL_DB_PORT:-5432}/${POSTGRES_DB:-admin}
SPRING_DATASOURCE_USERNAME: ${POSTGRES_USER:-admin}
SPRING_DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD:-admin}
SPRING_DATA_REDIS_HOST: ${REDIS_HOST:-redis}
SPRING_DATA_REDIS_PORT: ${REDIS_PORT:-6379}
SPRING_LOGGING_LEVEL_ROOT: ${SPRING_LOGGING_LEVEL_ROOT:-info}
SPRING_LOG_DIRECTORY: ${SPRING_LOG_DIRECTORY:-./logs}
volumes:
- client_data:/data
networks:
- auth-service
volumes:
pg_data:
redis_data:
client_data:
networks:
auth-service:
driver: bridge