You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.5 KiB
85 lines
2.5 KiB
services:
|
|
mysql:
|
|
image: mysql:8.0
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
|
MYSQL_DATABASE: chajia
|
|
ports:
|
|
# 宿主机 3306 常被本机 MySQL 占用,默认映射到 3307
|
|
- "${MYSQL_HOST_PORT:-3307}:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 10
|
|
|
|
next-app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
DATABASE_URL: mysql://root:${MYSQL_ROOT_PASSWORD}@mysql:3306/chajia
|
|
REDIS_URL: redis://redis:6379
|
|
JWT_SECRET: ${JWT_SECRET}
|
|
HOST_SERVICE_TOKENS: ${HOST_SERVICE_TOKENS}
|
|
NODE_ENV: production
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
|
|
rpa-worker:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.worker
|
|
environment:
|
|
DATABASE_URL: mysql://root:${MYSQL_ROOT_PASSWORD}@mysql:3306/chajia
|
|
REDIS_URL: redis://redis:6379
|
|
MOTHERSHIP_EMAIL: ${MOTHERSHIP_EMAIL}
|
|
MOTHERSHIP_PASSWORD: ${MOTHERSHIP_PASSWORD}
|
|
MOTHERSHIP_QUOTE_URLS: ${MOTHERSHIP_QUOTE_URLS}
|
|
RPA_STORAGE_STATE_PATH: ${RPA_STORAGE_STATE_PATH:-.rpa/mothership-storage.json}
|
|
RPA_MOCK_MODE: ${RPA_MOCK_MODE:-false}
|
|
RPA_HEADLESS: ${RPA_HEADLESS:-true}
|
|
RPA_USE_PATCHRIGHT: ${RPA_USE_PATCHRIGHT:-false}
|
|
RPA_WORKER_ID: ${RPA_WORKER_ID:-}
|
|
RPA_SELECTOR_PICKUP_STREET: ${RPA_SELECTOR_PICKUP_STREET:-}
|
|
RPA_SELECTOR_DELIVERY_STREET: ${RPA_SELECTOR_DELIVERY_STREET:-}
|
|
RPA_SELECTOR_ADDRESS_SUGGESTION: ${RPA_SELECTOR_ADDRESS_SUGGESTION:-}
|
|
RPA_SELECTOR_SUBMIT: ${RPA_SELECTOR_SUBMIT:-}
|
|
RPA_SELECTOR_STANDARD_TAB: ${RPA_SELECTOR_STANDARD_TAB:-}
|
|
RPA_SELECTOR_GUARANTEED_TAB: ${RPA_SELECTOR_GUARANTEED_TAB:-}
|
|
RPA_SELECTOR_LOWEST_OPTION: ${RPA_SELECTOR_LOWEST_OPTION:-}
|
|
RPA_SELECTOR_FASTEST_OPTION: ${RPA_SELECTOR_FASTEST_OPTION:-}
|
|
RPA_SELECTOR_PRICE: ${RPA_SELECTOR_PRICE:-}
|
|
volumes:
|
|
- rpa_state:/app/.rpa
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
shm_size: "1gb"
|
|
|
|
volumes:
|
|
mysql_data:
|
|
redis_data:
|
|
rpa_state:
|