Skip to main content

Create docker-compose.yml

 Create docker-compose.yml and post bellow text (make sure you removed quote from begging)

 

# This file is auto-generated by the Mailu configuration wizard.
# WARNING:Please Toread installthe Immich,documentation followbefore ourattempting guide:any https://immich.app/docs/install/docker-compose
#change.
# MakeGenerated sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# Thefor compose file on main may not be compatible with the latest release.

name: immichflavor

services:

  # External dependencies
  immich-server:
    container_name: immich_serverredis:
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}redis:alpine
    #restart: extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcodingalways
    volumes:
      #- Do"/opt/mailu/redis:/data"
 not   edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env filedepends_on:
      - ${UPLOAD_LOCATION}:/usr/src/app/uploadresolver
    dns:
      - 192.168.203.254

  # Core services
  front:
    image: ${DOCKER_ORG:-ghcr.io/mailu}/etc/localtime:/etc/localtime:ro${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-master}
    restart: always
    env_file: mailu.env
    -logging:
 .env     driver: journald
      options:
        tag: mailu-front
    ports:
      - '2283:2283'"127.0.0.1:9080:80"
      - "127.0.0.1:9443:443"
      - "0.0.0.0:25:25"
      - "0.0.0.0:465:465"
      - "127.0.0.1:587:587"
      - "127.0.0.1:110:110"
      - "127.0.0.1:995:995"
      - "127.0.0.1:143:143"
      - "0.0.0.0:993:993"
      - "127.0.0.1:4190:4190"
    networks:
      - default
      - webmail
      - radicale
    volumes:
      - "/opt/mailu/certs:/certs"
      - "/opt/mailu/overrides/nginx:/overrides:ro"
    depends_on:
      - resolver
    dns:
      - 192.168.203.254
    environment:
      VIRTUAL_HOST: mail.hrdtechnology.com
      LETSENCRYPT_HOST: mail.hrdtechnology.com

  resolver:
    image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}unbound:${MAILU_VERSION:-master}
    env_file: mailu.env
    logging:
      driver: journald
      options:
        tag: mailu-resolver
    restart: always
    networks:
      default:
        ipv4_address: 192.168.203.254

  admin:
    image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-master}
    restart: always
    env_file: mailu.env
    logging:
      driver: journald
      options:
        tag: mailu-admin
    volumes:
      - "/opt/mailu/data:/data"
      - "/opt/mailu/dkim:/dkim"
    depends_on:
      - redis
      - databaseresolver
    dns:
      - 192.168.203.254

  imap:
    image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-master}
    restart: always
    healthcheck:env_file: mailu.env
    disable: false

  immich-machine-learning:logging:
      container_name:driver: immich_machine_learningjournald
      # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.options:
        # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicablemailu-imap
    volumes:
      - model-cache:"/cache
    env_file:opt/mailu/mail:/mail"
      - .env"/opt/mailu/overrides/dovecot:/overrides:ro"
    networks:
      - default
    depends_on:
      - front
      - resolver
    dns:
      - 192.168.203.254

  smtp:
    image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-master}
    restart: always
    healthcheck:env_file: mailu.env
    disable: false

  redis:logging:
      container_name:driver: immich_redisjournald
      image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884options:
        healthcheck:
tag:     test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
      # DB_STORAGE_TYPE: 'HDD'mailu-smtp
    volumes:
      #- Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file"/opt/mailu/mailqueue:/queue"
      - "/opt/mailu/overrides/postfix:/overrides:ro"
    depends_on:
      - front
      - resolver
    dns:
      - 192.168.203.254

  oletools:
    image: ${DB_DATA_LOCATION}:DOCKER_ORG:-ghcr.io/mailu}/var/lib/postgresql/data${DOCKER_PREFIX:-}oletools:${MAILU_VERSION:-master}
    hostname: oletools
    logging:
      driver: journald
      options:
        tag: mailu-oletools
    restart: always
    networks:
      - oletools
    depends_on:
      - resolver
    dns:
      - 192.168.203.254


  antispam:
    image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}rspamd:${MAILU_VERSION:-master}
    hostname: antispam
    restart: always
    env_file: mailu.env
    logging:
      driver: journald
      options:
        tag: mailu-antispam
    networks:
      - default
      - oletools
    volumes:
      model-cache:- "/opt/mailu/filter:/var/lib/rspamd"
      - "/opt/mailu/overrides/rspamd:/overrides:ro"
    depends_on:
      - front
      - redis
      - oletools
      - resolver
    dns:
      - 192.168.203.254

  # Optional services

  webdav:
    image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}radicale:${MAILU_VERSION:-master}
    restart: always
    logging:
      driver: journald
      options:
        tag: mailu-webdav
    volumes:
      - "/opt/mailu/dav:/data"
    networks:
      - radicale

  fetchmail:
    image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}fetchmail:${MAILU_VERSION:-master}
    restart: always
    env_file: mailu.env
    logging:
      driver: journald
      options:
        tag: mailu-fetchmail
    volumes:
      - "/opt/mailu/data/fetchmail:/data"
    depends_on:
      - admin
      - smtp
      - imap
      - resolver
    dns:
      - 192.168.203.254

  # Webmail
  webmail:
    image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}webmail:${MAILU_VERSION:-master}
    restart: always
    env_file: mailu.env
    logging:
      driver: journald
      options:
        tag: mailu-webmail
    volumes:
      - "/opt/mailu/webmail:/data"
      - "/opt/mailu/overrides/snappymail:/overrides:ro"
    networks:
      - webmail
    depends_on:
      - front

networks:
  default:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 192.168.203.0/24
  radicale:
    driver: bridge
  webmail:
    driver: bridge
  oletools:
    driver: bridge
    internal: true