- name: Start Frigate hosts: Barad-dur tasks: - name: Create temporary Docker Compose directory ansible.builtin.tempfile: state: directory register: docker_compose_dir - name: Copy docker-compose.yaml ansible.builtin.copy: src: conf/docker-compose.yaml dest: '{{docker_compose_dir.path}}/docker-compose.yaml' mode: preserve - name: Read homelab config ansible.builtin.slurp: src: '{{ansible_user_dir}}/.homelab.json' register: homelab_config_file - name: Set homelab_config variable ansible.builtin.set_fact: homelab_config: '{{homelab_config_file.content|b64decode|from_json}}' - name: Get Frigate config community.postgresql.postgresql_query: login_host: '{{homelab_config.database.host}}' login_user: '{{homelab_config.database.user}}' login_password: '{{homelab_config.database.password}}' db: '{{homelab_config.database.name}}' query: 'SELECT config FROM service WHERE name = %s;' positional_args: - frigate register: frigate_config_query - name: Set frigate_config variable ansible.builtin.set_fact: frigate_config: '{{frigate_config_query.query_result[0].config}}' - name: Docker Compose up Frigate environment: IPGEOLOCATION_API_KEY: '{{frigate_config.ipgeolocation.api_key}}' WYZE_EMAIL: '{{frigate_config.wyze.email}}' WYZE_PASSWORD: '{{frigate_config.wyze.password}}' WYZE_API_ID: '{{frigate_config.wyze.api_id}}' WYZE_API_KEY: '{{frigate_config.wyze.api_key}}' FRIGATE_GARAGE_RTSP_PASSWORD: '{{frigate_config.rtsp.garage.password}}' FRIGATE_FRONT_DOOR_RTSP_PASSWORD: '{{frigate_config.rtsp.front_door.password}}' FRIGATE_DOORBELL_RTSP_PASSWORD: '{{frigate_config.rtsp.doorbell.password}}' FRIGATE_DRIVEWAY_RTSP_PASSWORD: '{{frigate_config.rtsp.driveway.password}}' FRIGATE_BACK_DOOR_RTSP_PASSWORD: '{{frigate_config.rtsp.back_door.password}}' FRIGATE_FAMILY_ROOM_RTSP_PASSWORD: '{{frigate_config.rtsp.family_room.password}}' community.docker.docker_compose: project_name: frigate project_src: '{{docker_compose_dir.path}}' state: present - name: Remove temporary Docker Compose directory ansible.builtin.file: path: '{{docker_compose_dir.path}}' state: absent