version: '3.9' services: job: image: {{ job_image }} command: ["uvicorn", "btrixcloud.swarm.crawl_job:app", "--host", "0.0.0.0", "--access-log", "--log-level", "info"] container_name: job-{{ id }}_job security_opt: - "label=disable" secrets: - btrix_shared_job_config.yaml - crawl-opts-{{ cid }} volumes: - {{ socket_src }}:{{ socket_dest }}:z networks: - btrix deploy: replicas: {{ 1 if not schedule else 0 }} labels: btrix.run.manual: "{{ manual }}" btrix.user: {{ userid }} btrix.archive: {{ aid }} btrix.crawlconfig: {{ cid }} {% if schedule %} swarm.cronjob.enable: "true" swarm.cronjob.skip-running: "true" swarm.cronjob.schedule: "{{ schedule }}" {% endif %} mode: replicated restart_policy: condition: none environment: SHARED_JOB_CONFIG: btrix_shared_job_config.yaml CUSTOM_JOB_CONFIG: crawl-opts-{{ cid }} JOB_ID: "{{ id }}" STACK_PREFIX: "crawl-" STORE_PATH: "{{ storage_path }}" STORAGE_NAME: "{{ storage_name }}" PROFILE_PATH: "{{ profile_path }}" MONGO_DB_URL: "{{ mongo_db_url }}" RUN_MANUAL: "{{ manual }}" RUNTIME: "{{ runtime }}" networks: btrix: external: name: btrix-net secrets: btrix_shared_job_config.yaml: external: true crawl-opts-{{ cid }}: external: true