felicity-lims/docker-compose.dev.yml
2024-07-31 19:38:20 +02:00

128 lines
3 KiB
YAML

version: '3.5'
services:
felicity_fe:
container_name: felicity_fe
restart: unless-stopped
build:
context: ./
target: webapp
dockerfile: Dockerfile.dev
volumes:
- ./webapp:/app/webapp
environment:
- NODE_ENV=development
- VITE_NODE_ENV=development
- VITE_APP_TITLE=Felicity Dev
- VITE_BASE_URL=http://localhost:8000
ports:
- "3000:3000"
depends_on:
- felicity_pg
networks:
- felicitynet
command: bash -c "pnpm webapp:dev --host --port 3000"
felicity_be:
container_name: felicity_be
restart: unless-stopped
build:
context: ./
target: webapi
dockerfile: Dockerfile.dev
environment:
- POSTGRES_SERVER=felicity_pg
- POSTGRES_DB=felicity_lims
- POSTGRES_USER=felicity
- POSTGRES_PASSWORD=felicity
- POSTGRES_HOST_AUTH_METHOD=trust
- LOAD_SETUP_DATA=${LOAD_SETUP_DATA:-False}
- SERVE_WEBAPP=${SERVE_WEBAPP:-False}
volumes:
- ./felicity/:/app/felicity
ports:
- 8000:8000
depends_on:
- felicity_pg
networks:
- felicitynet
extra_hosts:
- "host.docker.internal:host-gateway"
command: bash -c "cd felicity && alembic upgrade head && uvicorn main:felicity --host=0.0.0.0 --port=8000"
felicity_pg:
container_name: felicity_pg
image: postgres:12
restart: unless-stopped
environment:
- POSTGRES_DB=felicity_lims
- POSTGRES_USER=felicity
- POSTGRES_PASSWORD=felicity
- POSTGRES_HOST_AUTH_METHOD=trust
volumes:
- ./services/postgres/init/:/docker-entrypoint-initdb.d/
- pg-data:/var/lib/postgresql/data
ports:
- 5434:5432
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- felicitynet
pgadmin:
container_name: felicity.pgadmin
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-admin@pgadmin.org}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
volumes:
- pgadmin:/root/.pgadmin
ports:
- "${PGADMIN_PORT:-5050}:80"
networks:
- felicitynet
restart: unless-stopped
depends_on:
- felicity_pg
minio:
image: bitnami/minio:2024.7.31
ports:
- '9000:9000'
- '9001:9001'
networks:
- felicitynet
volumes:
- 'minio_data:/data'
environment:
- MINIO_ROOT_USER=felicity
- MINIO_ROOT_PASSWORD=felicity
- MINIO_DEFAULT_BUCKET=felicity
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: felicity
MONGO_INITDB_ROOT_PASSWORD: felicity
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: felicity
ME_CONFIG_MONGODB_ADMINPASSWORD: felicity
ME_CONFIG_MONGODB_URL: mongodb://felicity:felicity@mongo:27017/
ME_CONFIG_BASICAUTH: false
volumes:
pg-data:
pgadmin:
minio_data:
networks:
felicitynet:
driver: bridge