Skip to content

Commit de6b27c

Browse files
committed
[DOP-25282] Add profiles to docker-compose
1 parent 814e419 commit de6b27c

File tree

3 files changed

+38
-26
lines changed

3 files changed

+38
-26
lines changed

Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
include .env.local
44

5+
VERSION = develop
56
PIP = .venv/bin/pip
67
POETRY = .venv/bin/poetry
78

@@ -158,13 +159,13 @@ prod-build-scheduler: ##@Application Build docker image for scheduler
158159
prod-build-worker: ##@Application Build docker image for worker
159160
docker build --progress=plain -t mtsrus/syncmaster-worker:develop -f ./docker/Dockerfile.worker --target=prod $(ARGS) .
160161

161-
prod-build: prod-build-server prod-build-worker ##@Application Build docker images
162+
prod-build: prod-build-server prod-build-scheduler prod-build-worker ##@Application Build docker images
162163

163164
prod: ##@Application Run production server (with docker)
164-
docker compose up -d
165+
docker compose -f docker-compose.yml --profile all up -d $(ARGS)
165166

166167
prod-stop: ##@Application Stop production server
167-
docker compose down $(ARGS)
168+
docker compose -f docker-compose.yml --profile all down --remove-orphans $(ARGS)
168169

169170

170171
.PHONY: docs

docker-compose.test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
services:
22
db:
3-
image: postgres
3+
image: postgres:17
44
restart: unless-stopped
55
environment:
66
TZ: UTC
@@ -19,7 +19,7 @@ services:
1919
retries: 3
2020

2121
rabbitmq:
22-
image: rabbitmq
22+
image: rabbitmq:4
2323
restart: unless-stopped
2424
ports:
2525
- 5672:5672

docker-compose.yml

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
services:
22
db:
3-
image: postgres
3+
image: postgres:17
44
restart: unless-stopped
55
environment:
66
POSTGRES_DB: syncmaster
@@ -17,8 +17,21 @@ services:
1717
timeout: 5s
1818
retries: 3
1919

20+
db-migrations:
21+
image: mtsrus/syncmaster-server:${VERSION:-develop}
22+
restart: no
23+
build:
24+
dockerfile: docker/Dockerfile.server
25+
context: .
26+
target: prod
27+
entrypoint: [python, -m, syncmaster.db.migrations, upgrade, head]
28+
env_file: .env.docker
29+
depends_on:
30+
db:
31+
condition: service_healthy
32+
2033
rabbitmq:
21-
image: rabbitmq
34+
image: rabbitmq:4
2235
restart: unless-stopped
2336
ports:
2437
- 5672:5672
@@ -31,21 +44,8 @@ services:
3144
timeout: 5s
3245
retries: 3
3346

34-
migrations:
35-
image: mtsrus/syncmaster-server:${TAG:-develop}
36-
restart: no
37-
build:
38-
dockerfile: docker/Dockerfile.server
39-
context: .
40-
target: prod
41-
entrypoint: [python, -m, syncmaster.db.migrations, upgrade, head]
42-
env_file: .env.docker
43-
depends_on:
44-
db:
45-
condition: service_healthy
46-
4747
server:
48-
image: mtsrus/syncmaster-server:${TAG:-develop}
48+
image: mtsrus/syncmaster-server:${VERSION:-develop}
4949
restart: unless-stopped
5050
build:
5151
dockerfile: docker/Dockerfile.server
@@ -66,7 +66,7 @@ services:
6666
depends_on:
6767
db:
6868
condition: service_healthy
69-
migrations:
69+
db-migrations:
7070
condition: service_completed_successfully
7171
rabbitmq:
7272
condition: service_healthy
@@ -76,25 +76,33 @@ services:
7676
timeout: 5s
7777
retries: 3
7878
start_period: 5s
79+
profiles:
80+
- server
81+
- frontend
82+
- all
7983

8084
worker:
81-
image: mtsrus/syncmaster-worker:${TAG:-develop}
85+
image: mtsrus/syncmaster-worker:${VERSION:-develop}
8286
restart: unless-stopped
8387
build:
8488
dockerfile: docker/Dockerfile.worker
8589
context: .
8690
target: prod
8791
env_file: .env.docker
92+
command: --loglevel=info -Q test_queue
8893
depends_on:
8994
db:
9095
condition: service_healthy
91-
migrations:
96+
db-migrations:
9297
condition: service_completed_successfully
9398
rabbitmq:
9499
condition: service_healthy
100+
profiles:
101+
- worker
102+
- all
95103

96104
scheduler:
97-
image: mtsrus/syncmaster-scheduler:${TAG:-develop}
105+
image: mtsrus/syncmaster-scheduler:${VERSION:-develop}
98106
restart: unless-stopped
99107
build:
100108
dockerfile: docker/Dockerfile.scheduler
@@ -104,10 +112,13 @@ services:
104112
depends_on:
105113
db:
106114
condition: service_healthy
107-
migrations:
115+
db-migrations:
108116
condition: service_completed_successfully
109117
rabbitmq:
110118
condition: service_healthy
119+
profiles:
120+
- scheduler
121+
- all
111122

112123
volumes:
113124
postgres_data:

0 commit comments

Comments
 (0)