services: web: image: ghcr.io/hoarder-app/hoarder:release restart: unless-stopped dns: - 1.1.1.1 networks: - default - reverse_proxy volumes: - hoarder:/data env_file: - .env environment: MEILI_ADDR: http://tasks.meilisearch:7700 BROWSER_WEB_URL: http://tasks.chrome:9222 DATA_DIR: /data # DON'T CHANGE THIS deploy: rollback_config: failure_action: continue update_config: delay: 2s failure_action: rollback order: start-first placement: constraints: - node.labels.services_kind==${SERVICE_KIND:-common} labels: - traefik.enable=true - traefik.http.routers.hoarder.rule=Host(`hoarder.alecodes.page`) - traefik.http.services.hoarder.loadbalancer.server.port=3000 chrome: image: gcr.io/zenika-hub/alpine-chrome:123 restart: unless-stopped command: - --no-sandbox - --disable-gpu - --disable-dev-shm-usage - --remote-debugging-address=0.0.0.0 - --remote-debugging-port=9222 - --hide-scrollbars deploy: rollback_config: failure_action: continue update_config: delay: 2s failure_action: rollback order: start-first placement: constraints: - node.labels.services_kind==${SERVICE_KIND:-common} meilisearch: image: getmeili/meilisearch:v1.11.1 restart: unless-stopped env_file: - .env environment: MEILI_NO_ANALYTICS: "true" volumes: - meilisearch:/meili_data deploy: rollback_config: failure_action: continue update_config: delay: 2s failure_action: rollback order: start-first placement: constraints: - node.labels.services_kind==${SERVICE_KIND:-common} volumes: hoarder: driver: rclone driver_opts: remote: 'homelab-s3:docker-volume-hoarder' allow_other: 'true' vfs_cache_mode: full poll_interval: 0 meilisearch: driver: rclone driver_opts: remote: 'homelab-s3:docker-volume-meilisearch' allow_other: 'true' vfs_cache_mode: full poll_interval: 0 networks: reverse_proxy: external: true