Use a new bdd docker compose

This commit is contained in:
Fang-Pen Lin
2025-11-10 14:22:34 -08:00
parent bea8ea828e
commit 8e1209092d
2 changed files with 73 additions and 4 deletions

View File

@@ -65,7 +65,7 @@ jobs:
uses: docker/bake-action@v5
timeout-minutes: 30
with:
files: docker-compose.dev.yml
files: docker-compose.bdd.yml
targets: backend
load: true
# Uncomment this to force a rebuild of the image
@@ -74,7 +74,7 @@ jobs:
*.cache-from=type=gha,scope=infisical-backend-bdd-tests
*.cache-to=type=gha,mode=max,scope=infisical-backend-bdd-tests
- name: Start Infisical
run: docker compose -f docker-compose.dev.yml up -d
run: docker compose -f docker-compose.bdd.yml up -d
- name: Wait for API to be ready
uses: nick-fields/retry@v3
with:
@@ -90,12 +90,12 @@ jobs:
BOOTSTRAP_INFISICAL: "1"
- name: cleanup
run: |
docker compose -f "docker-compose.dev.yml" down
docker compose -f "docker-compose.bdd.yml" down
- name: Dump backend logs
if: always() # Ensures this runs even if previous steps fail
run: |
mkdir -p logs
docker compose -f docker-compose.dev.yml logs backend > logs/backend.log 2>&1 || true
docker compose -f docker-compose.bdd.yml logs backend > logs/backend.log 2>&1 || true
- name: Upload backend logs as artifact
if: always() # Always upload, even on failure/cancellation
uses: actions/upload-artifact@v4

69
docker-compose.bdd.yml Normal file
View File

@@ -0,0 +1,69 @@
version: "3.9"
services:
nginx:
container_name: infisical-dev-nginx
image: nginx
restart: "always"
ports:
- 8080:80
- 8443:443
volumes:
- ./nginx/default.dev.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- backend
db:
image: postgres:14-alpine
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: infisical
POSTGRES_USER: infisical
POSTGRES_DB: infisical
redis:
image: redis
container_name: infisical-dev-redis
environment:
- ALLOW_EMPTY_PASSWORD=yes
ports:
- 6379:6379
volumes:
- redis_data:/data
backend:
container_name: infisical-dev-api
build:
context: ./backend
dockerfile: Dockerfile.dev
depends_on:
db:
condition: service_started
redis:
condition: service_started
env_file:
- .env
ports:
- 4000:4000
- 9464:9464 # for OTEL collection of Prometheus metrics
environment:
- NODE_ENV=development
- DB_CONNECTION_URI=postgres://infisical:infisical@db/infisical?sslmode=disable
- TELEMETRY_ENABLED=false
volumes:
- ./backend/src:/app/src
- softhsm_tokens:/etc/softhsm2/tokens # SoftHSM tokens are stored in a volume to persist across container restarts
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
postgres-data:
driver: local
redis_data:
driver: local
softhsm_tokens:
driver: local