mirror of
https://github.com/beak-insights/felicity-lims.git
synced 2025-02-21 07:22:53 +08:00
161 lines
4 KiB
YAML
161 lines
4 KiB
YAML
version: '3.5'
|
|
|
|
services:
|
|
|
|
felicity-webapp:
|
|
container_name: felicity-webapp
|
|
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-postgres
|
|
networks:
|
|
- felicitynet
|
|
command: bash -c "pnpm webapp:dev --host --port 3000"
|
|
|
|
felicity-api:
|
|
container_name: felicity-api
|
|
restart: unless-stopped
|
|
build:
|
|
context: ./
|
|
target: webapi
|
|
dockerfile: Dockerfile.dev
|
|
environment:
|
|
- POSTGRES_SERVER=felicity-postgres
|
|
- 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}
|
|
- REDIS_SERVER=felicity-dragonfly:6379
|
|
- MONGODB_SERVER=felicity-mongo:27017
|
|
- MONGODB_USER=felicity
|
|
- MONGODB_PASS=felicity
|
|
- MINIO_SERVER=felicity-minio:9000
|
|
- MINIO_ACCESS=felicity
|
|
- MINIO_SECRET=felicity
|
|
volumes:
|
|
- ./felicity/:/app/felicity
|
|
ports:
|
|
- 8000:8000
|
|
depends_on:
|
|
- felicity-postgres
|
|
networks:
|
|
- felicitynet
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
command: bash -c "cd felicity && uvicorn main:felicity --reload --host=0.0.0.0 --port=8000"
|
|
|
|
felicity-minio:
|
|
container_name: felicity-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
|
|
|
|
felicity-dragonfly:
|
|
container_name: felicity-dragonfly
|
|
image: 'docker.dragonflydb.io/dragonflydb/dragonfly'
|
|
ulimits:
|
|
memlock: -1
|
|
ports:
|
|
- "6379:6379"
|
|
# For better performance, consider `host` mode instead `port` to avoid docker NAT.
|
|
# `host` mode is NOT currently supported in Swarm Mode.
|
|
# https://docs.docker.com/compose/compose-file/compose-file-v3/#network_mode
|
|
# network_mode: "host"
|
|
volumes:
|
|
- dragonflydata:/data
|
|
networks:
|
|
- felicitynet
|
|
|
|
felicity-postgres:
|
|
container_name: felicity-postgres
|
|
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
|
|
|
|
felicity-mongo:
|
|
container_name: felicity-mongo
|
|
image: mongo
|
|
restart: always
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: felicity
|
|
MONGO_INITDB_ROOT_PASSWORD: felicity
|
|
ports:
|
|
- '27027:27017'
|
|
networks:
|
|
- felicitynet
|
|
|
|
felicity-dbgate:
|
|
container_name: felicity-dbgate
|
|
image: dbgate/dbgate
|
|
restart: always
|
|
ports:
|
|
- 8051:3000
|
|
volumes:
|
|
- dbgate-data:/root/.dbgate
|
|
environment:
|
|
LOGIN: felicity
|
|
PASSWORD: felicity
|
|
CONNECTIONS: pg,mg
|
|
LABEL_pg: Felicity Postgres
|
|
SERVER_pg: felicity-postgres
|
|
USER_pg: felicity
|
|
PASSWORD_pg: felicity
|
|
DATABASE_pg: felicity_lims
|
|
PORT_pg: 5432
|
|
ENGINE_pg: postgres@dbgate-plugin-postgres
|
|
READONLY_pg: 1
|
|
LABEL_mg: Felicity Mongo
|
|
URL_mg: mongodb://felicity:felicity@felicity-mongo:27017/
|
|
DATABASE_mg: felicity
|
|
ENGINE_mg: mongo@dbgate-plugin-mongo
|
|
READONLY_mg: 1
|
|
networks:
|
|
- felicitynet
|
|
|
|
volumes:
|
|
pg-data:
|
|
pgadmin:
|
|
minio_data:
|
|
dragonflydata:
|
|
dbgate-data:
|
|
driver: local
|
|
|
|
networks:
|
|
felicitynet:
|
|
driver: bridge
|