services: admin: image: ${ADMIN_IMAGE:-qms-fe-admin}:${IMAGE_TAG:-local} build: context: ./admin-app dockerfile: Dockerfile args: VITE_API_URL: ${VITE_API_URL:-http://localhost:8080} VITE_BRANCH_QR_BASE_URL: ${VITE_BRANCH_QR_BASE_URL:-http://localhost:3000} container_name: qms-fe-admin restart: unless-stopped ports: - "${ADMIN_HOST_PORT:-5000}:80" teller: image: ${TELLER_IMAGE:-qms-fe-teller}:${IMAGE_TAG:-local} build: context: ./teller-app dockerfile: Dockerfile args: VITE_API_URL: ${VITE_API_URL:-http://localhost:8080} VITE_GOLD_PRICE_URL: ${VITE_GOLD_PRICE_URL:-https://apiujrah.erahn.com.my/api/harga_emas} container_name: qms-fe-teller restart: unless-stopped ports: - "${TELLER_HOST_PORT:-3001}:80" customer: image: ${CUSTOMER_IMAGE:-qms-fe-customer}:${IMAGE_TAG:-local} build: context: ./customer-app dockerfile: Dockerfile args: NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL:-http://localhost:8080} container_name: qms-fe-customer restart: unless-stopped ports: - "${CUSTOMER_HOST_PORT:-3000}:3000" environment: QR_TOKEN_SECRET: ${QR_TOKEN_SECRET:-qms-branch-qr-v1}