diff --git a/infra/cloud/0004_immich_playbook.yaml b/infra/cloud/0004_immich_playbook.yaml index 2b38c4f..f5ec067 100644 --- a/infra/cloud/0004_immich_playbook.yaml +++ b/infra/cloud/0004_immich_playbook.yaml @@ -11,17 +11,17 @@ ansible.builtin.user: name: debian register: user - - name: Docker compose down - ansible.builtin.command: docker compose down - args: - chdir: "{{ user.home }}/{{ app }}" - ignore_errors: true - - name: Copy project - ansible.builtin.copy: - src: ./{{ app }} - dest: "{{ user.home }}" - mode: "0744" - - name: Docker compose up -d - ansible.builtin.command: docker compose up -d - args: - chdir: "{{ user.home }}/{{ app }}" + # - name: Docker compose down + # ansible.builtin.command: docker compose down + # args: + # chdir: "{{ user.home }}/{{ app }}" + # ignore_errors: true + # - name: Copy project + # ansible.builtin.copy: + # src: ./{{ app }} + # dest: "{{ user.home }}" + # mode: "0744" + # - name: Docker compose up -d + # ansible.builtin.command: docker compose up -d + # args: + # chdir: "{{ user.home }}/{{ app }}" diff --git a/infra/cloud/immich/docker-compose.yaml b/infra/cloud/immich/docker-compose.yaml index 2cd6cbf..3caaf6f 100644 --- a/infra/cloud/immich/docker-compose.yaml +++ b/infra/cloud/immich/docker-compose.yaml @@ -1,5 +1,93 @@ version: "3" services: - immich: - image: nginx + immich-server: + container_name: immich_server + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + command: [ "start.sh", "immich" ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + env_file: + - .env + depends_on: + - redis + - database + - typesense + restart: always + + immich-microservices: + container_name: immich_microservices + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + # extends: + # file: hwaccel.yml + # service: hwaccel + command: [ "start.sh", "microservices" ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + env_file: + - .env + depends_on: + - redis + - database + - typesense + restart: always + + immich-machine-learning: + container_name: immich_machine_learning + image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} + volumes: + - /mnt/data/immich-model-cache:/cache + env_file: + - .env + restart: always + + immich-web: + container_name: immich_web + image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release} + env_file: + - .env + restart: always + + typesense: + container_name: immich_typesense + image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd + environment: + - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} + - TYPESENSE_DATA_DIR=/data + # remove this to get debug messages + - GLOG_minloglevel=1 + volumes: + - /mnt/data/immich-typesense:/data + restart: always + + redis: + container_name: immich_redis + image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3 + restart: always + + database: + container_name: immich_postgres + image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441 + env_file: + - .env + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + volumes: + - /mnt/data/immich-pgdata:/var/lib/postgresql/data + restart: always + + immich-proxy: + container_name: immich_proxy + image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release} + environment: + # Make sure these values get passed through from the env file + - IMMICH_SERVER_URL + - IMMICH_WEB_URL + ports: + - 2283:8080 + depends_on: + - immich-server + - immich-web + restart: always diff --git a/infra/cloud/nextcloud/all-in-one.sh b/infra/cloud/nextcloud/all-in-one.sh index 4324cc6..fd21e5d 100644 --- a/infra/cloud/nextcloud/all-in-one.sh +++ b/infra/cloud/nextcloud/all-in-one.sh @@ -9,8 +9,11 @@ docker run \ --name nextcloud-aio-mastercontainer \ --restart unless-stopped \ --publish 8080:8080 \ +--env NEXTCLOUD_DATADIR=/mnt/data/nextcloud \ --env APACHE_PORT=11000 \ --env APACHE_IP_BINDING=0.0.0.0 \ +--env TZ=Europe/London \ +--env AIO_DISABLE_BACKUP_SECTION=true \ --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \ --volume /var/run/docker.sock:/var/run/docker.sock:ro \ -d nextcloud/all-in-one:latest