version: '3' name: zeppelin-lightweight services: migrate: build: &build context: . args: # Used at compile-time by dashboard API_URL: environment: &env - NODE_ENV=production - DB_HOST=${LIGHTWEIGHT_DB_HOST} - DB_PORT=${LIGHTWEIGHT_DB_PORT} - DB_USER=${LIGHTWEIGHT_DB_USER} - DB_PASSWORD=${LIGHTWEIGHT_DB_PASSWORD} - DB_DATABASE=${LIGHTWEIGHT_DB_DATABASE} - API_PATH_PREFIX=${LIGHTWEIGHT_API_PATH_PREFIX} env_file: - .env working_dir: /zeppelin/backend command: ["npm", "run", "migrate-prod"] api: depends_on: migrate: condition: service_completed_successfully build: *build restart: on-failure environment: *env env_file: - .env ports: - "${LIGHTWEIGHT_API_PORT}:3001" working_dir: /zeppelin/backend command: ["npm", "run", "start-api-prod"] bot: depends_on: migrate: condition: service_completed_successfully build: *build restart: on-failure environment: *env env_file: - .env working_dir: /zeppelin/backend command: ["npm", "run", "start-bot-prod"] dashboard: depends_on: migrate: condition: service_completed_successfully build: *build restart: on-failure environment: *env env_file: - .env ports: - "${LIGHTWEIGHT_DASHBOARD_PORT}:3002" working_dir: /zeppelin/dashboard command: ["node", "serve.js"]