refactor docker compose

This commit is contained in:
2025-03-30 03:05:47 +02:00
parent 7d030204f6
commit 6ab3e63af2
12 changed files with 37 additions and 61 deletions

View File

@@ -1,12 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Compose up" type="docker-deploy" factoryName="docker-compose.yml" server-name="Docker">
<deployment type="docker-compose.yml">
<settings>
<option name="composeProjectName" value="event-demo" />
<option name="envFilePath" value="" />
<option name="sourceFilePath" value="docker/docker-compose.yaml" />
</settings>
</deployment>
<method v="2" />
</configuration>
</component>

View File

@@ -13,11 +13,19 @@ To run the stack:
docker compose -f docker\docker-compose.yaml -p event-demo up -d docker compose -f docker\docker-compose.yaml -p event-demo up -d
``` ```
Api url:
- [Backend API](http://api.traefik.me/)
- [Frontend web site](http://app.traefik.me/) (WIP)
Exposed url on test env:
- [PostgreSql](http://postgresql.traefik.me/)
- [Redis](http://redis.traefik.me/)
Admin service URL: Admin service URL:
- [Træfik](http://pgadmin.traefik.me/) - [Træfik dashboard](http://traefik.traefik.me/)
- [Redis](http://pgadmin.traefik.me/) - [Redis insight](http://insight.redis.traefik.me/)
- [pgAdmin](http://pgadmin.traefik.me/) - [pgAdmin](http://pgadmin.postgresql.traefik.me/)
- [API](http://api.traefik.me/)
What's in this demo What's in this demo
------------------- -------------------

View File

@@ -57,7 +57,7 @@ tasks.test {
tasks.named("run") { tasks.named("run") {
dependsOn("composeUp") dependsOn("composeUp")
dockerCompose.useComposeFiles.set(listOf("docker/docker-compose-dev.yaml")) dockerCompose.useComposeFiles.set(listOf("docker/docker-compose-test.yaml"))
dockerCompose.setProjectName("event-demo-dev") dockerCompose.setProjectName("event-demo-dev")
} }

View File

@@ -1,7 +0,0 @@
name: event-demo-dev
include:
- path:
- parts/docker-compose-databases.yaml
- parts/docker-compose-tools.yaml
- parts/docker-compose-traefik.yaml
- envs/docker-compose-dev.yaml

View File

@@ -2,7 +2,6 @@ name: event-demo-prod
include: include:
- path: - path:
- parts/docker-compose-databases.yaml - parts/docker-compose-databases.yaml
- parts/docker-compose-tools.yaml
- parts/docker-compose-app.yaml - parts/docker-compose-app.yaml
- parts/docker-compose-tools.yaml
- parts/docker-compose-traefik.yaml - parts/docker-compose-traefik.yaml
- envs/docker-compose-prod.yaml

View File

@@ -2,4 +2,6 @@ name: event-demo-test
include: include:
- path: - path:
- parts/docker-compose-databases.yaml - parts/docker-compose-databases.yaml
- parts/docker-compose-port.yaml - parts/docker-compose-databases-expose.yaml
- parts/docker-compose-tools.yaml
- parts/docker-compose-traefik.yaml

View File

@@ -1,14 +0,0 @@
services:
traefik:
ports:
- "81:80"
redis:
labels:
- "traefik.http.routers.redis.rule=Host(`redis.traefik.me`)"
- "traefik.http.services.redis.loadbalancer.server.port=8001"
pgadmin:
labels:
- "traefik.http.routers.pgadmin.rule=Host(`pgadmin.traefik.me`)"
- "traefik.http.services.pgadmin.loadbalancer.server.port=80"

View File

@@ -1,14 +0,0 @@
services:
traefik:
ports:
- "80:80"
redis:
labels:
- "traefik.http.routers.redis.rule=Host(`redis.traefik.me`)"
- "traefik.http.services.redis.loadbalancer.server.port=8001"
pgadmin:
labels:
- "traefik.http.routers.pgadmin.rule=Host(`pgadmin.traefik.me`)"
- "traefik.http.services.pgadmin.loadbalancer.server.port=80"

View File

@@ -1,5 +1,5 @@
services: services:
app: api:
build: build:
context: ../.. context: ../..
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
@@ -8,3 +8,6 @@ services:
condition: service_completed_successfully condition: service_completed_successfully
postgresql: postgresql:
condition: service_healthy condition: service_healthy
labels:
- "traefik.http.routers.api.rule=Host(`api.traefik.me`)"
- "traefik.http.services.api.loadbalancer.server.port=8080"

View File

@@ -8,6 +8,15 @@ services:
- pgadmin_password - pgadmin_password
volumes: volumes:
- pgadmin_data:/var/lib/pgadmin - pgadmin_data:/var/lib/pgadmin
labels:
- "traefik.http.routers.pgadmin.rule=Host(`pgadmin.postgresql.traefik.me`)"
- "traefik.http.services.pgadmin.loadbalancer.server.port=80"
redis:
labels:
- "traefik.http.routers.redisinsight.rule=Host(`insight.redis.traefik.me`)"
- "traefik.http.routers.redisinsight.service=redisinsight"
- "traefik.http.services.redisinsight.loadbalancer.server.port=8001"
secrets: secrets:
pgadmin_password: pgadmin_password:

View File

@@ -8,10 +8,12 @@ services:
- "--log.level=DEBUG" - "--log.level=DEBUG"
volumes: volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro" - "/var/run/docker.sock:/var/run/docker.sock:ro"
ports:
- "80:80"
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.api.rule=Host(`dashboard.traefik.me`)" - "traefik.http.routers.traefik.rule=Host(`traefik.traefik.me`)"
- "traefik.http.services.api.loadbalancer.server.port=8080" - "traefik.http.services.traefik.loadbalancer.server.port=8080"
- "traefik.http.routers.api.service=api@internal" - "traefik.http.routers.traefik.service=api@internal"
- "traefik.http.routers.api.middlewares=api-auth" - "traefik.http.routers.traefik.middlewares=traefik-auth"
- "traefik.http.middlewares.api-auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/" # test:test - "traefik.http.middlewares.traefik-auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/" # test:test