x-common-configs: &common-config extra_hosts: - "dev.sriphat.com:192.168.100.9" pull_policy: ${DOCKER_PULL_POLICY:-missing} services: apiservice: #build: . image: 03-apiservice-apiservice:latest container_name: apiservice env_file: - .env environment: - TZ=${TZ:-Asia/Bangkok} - DB_HOST=${DB_HOST} - DB_PORT=${DB_PORT} - DB_USER=${DB_USER} - DB_PASSWORD=${DB_PASSWORD} - DB_NAME=${DB_NAME} - DB_SSLMODE=${DB_SSLMODE} - ROOT_PATH=${ROOT_PATH} - APP_NAME=${APP_NAME} - ADMIN_SECRET_KEY=${ADMIN_SECRET_KEY} - ADMIN_USERNAME=${ADMIN_USERNAME} - ADMIN_PASSWORD=${ADMIN_PASSWORD} - API_KEY_ENC_SECRET=${ADMIN_SECRET_KEY} - DEBUG_AUTH=${DEBUG_AUTH:-false} - KEYCLOAK_SERVER_URL=${KEYCLOAK_SERVER_URL} - KEYCLOAK_REALM=${KEYCLOAK_REALM} - KEYCLOAK_CLIENT_ID=${API_KEYCLOAK_CLIENT_ID} - KEYCLOAK_CLIENT_SECRET=${API_KEYCLOAK_CLIENT_SECRET} - KEYCLOAK_REDIRECT_URI=${API_KEYCLOAK_REDIRECT_URI} - MINIO_ENDPOINT=${MINIO_ENDPOINT:-192.168.100.9:9000} - MINIO_ACCESS_KEY=${MINIO_SVC_ACCESS_KEY} - MINIO_SECRET_KEY=${MINIO_SVC_SECRET_KEY} - MINIO_BUCKET_FINANCE=${MINIO_BUCKET_FINANCE:-finance} - MINIO_USE_SSL=${MINIO_USE_SSL:-false} - LOG_LEVEL=debug ports: - "8040:8040" networks: - shared_data_network volumes: - ./app:/app/app - .env:/app/.env - ./data/uploads:/data/uploads restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8040/apiservice/docs"] interval: 30s timeout: 10s retries: 3 start_period: 40s # extra_hosts: # - "dev.sriphat.com:192.168.100.9" <<: *common-config networks: shared_data_network: external: true