From 421260f297ef0ade394312ac9b3eed49d4b8c583 Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Wed, 26 Feb 2025 12:08:04 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=BB=20Added=20an=20amd64=20compose=20f?= =?UTF-8?q?ile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.amd64.yml | 186 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 docker-compose.amd64.yml diff --git a/docker-compose.amd64.yml b/docker-compose.amd64.yml new file mode 100644 index 0000000..ca06dd1 --- /dev/null +++ b/docker-compose.amd64.yml @@ -0,0 +1,186 @@ +x-userdata-volume: &userdata-volume + type: bind + source: ${USERDATA_DIRECTORY:?USERDATA_DIRECTORY not set} + target: /userdata + +x-comics-volume: &comics-volume + type: bind + source: ${COMICS_DIRECTORY:?COMICS_DIRECTORY not set} + target: /comics + +services: + threetwo: + build: + context: https://github.com/rishighan/threetwo.git + dockerfile: Dockerfile + image: frishi/threetwo + container_name: threetwo-ui + env_file: /mnt/user/appdata/threetwo/docker-compose.env + restart: unless-stopped + ports: + - "5173:5173" + depends_on: + - core-services + - kafka1 + - zoo1 + - elasticsearch + - db + - redis + networks: + - proxy + + metadata-service: + build: + context: https://github.com/rishighan/threetwo-metadata-service.git + image: frishi/threetwo-metadata-service + container_name: metadata-service + ports: + - "3080:3080" + environment: + SERVICES: api,comicvine + env_file: /mnt/user/appdata/threetwo/docker-compose.env + depends_on: + - redis + - kafka1 + - zoo1 + - elasticsearch + - db + volumes: + - *comics-volume + - *userdata-volume + networks: + - proxy + + acquisition-service: + build: + context: https://github.com/rishighan/threetwo-acquisition-service.git + image: frishi/threetwo-acquisition-service + container_name: acquisition-service + ports: + - "3060:3060" + environment: + SERVICES: api,autodownload,comicProcessor,prowlarr,qbittorrent + env_file: /mnt/user/appdata/threetwo/docker-compose.env + depends_on: + - redis + - kafka1 + - zoo1 + - elasticsearch + - db + volumes: + - *comics-volume + - *userdata-volume + networks: + - proxy + + core-services: + build: + context: https://github.com/rishighan/threetwo-core-service.git + image: frishi/threetwo-core-service + container_name: core-services + ports: + - "3000:3000" + - "3001:3001" + depends_on: + - db + - redis + - elasticsearch + - kafka1 + - zoo1 + environment: + name: core-services + SERVICES: api,library,importqueue,settings,search,socket,imagetransformation,opds + env_file: /mnt/user/appdata/threetwo/docker-compose.env + volumes: + - *comics-volume + - *userdata-volume + networks: + - proxy + + db: + image: "mongo:latest" # Switched to amd64-compatible image + container_name: database + networks: + - proxy + ports: + - "27017:27017" + volumes: + - "mongodb_data:/data/db" + + redis: + image: "redis:latest" # Using a safe amd64-supported version + container_name: queue + environment: + ALLOW_EMPTY_PASSWORD: "yes" + networks: + - proxy + ports: + - "6379:6379" + + zoo1: + image: "zookeeper:3.7.0" # Switched from arm64v8 to standard amd64-compatible image + hostname: zoo1 + container_name: zoo1 + ports: + - "2181:2181" + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_SERVER_ID: 1 + ZOOKEEPER_SERVERS: zoo1:2888:3888 + networks: + - proxy + + kafka1: + image: "bitnami/kafka:latest" # Ensures multi-arch support + hostname: kafka1 + container_name: kafka1 + ports: + - "9092:9092" + - "29092:29092" + - "9999:9999" + environment: + ALLOW_PLAINTEXT_LISTENER: "yes" + KAFKA_CFG_LISTENERS: PLAINTEXT://0.0.0.0:9092 + KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 + KAFKA_CFG_ZOOKEEPER_CONNECT: zoo1:2181 + KAFKA_CFG_INTER_BROKER_LISTENER_NAME: PLAINTEXT + KAFKA_ZOOKEEPER_PROTOCOL: PLAINTEXT + KAFKA_CFG_BROKER_ID: 1 + KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 + KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR: 1 + KAFKA_CFG_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO" + KAFKA_CFG_JMX_PORT: 9999 + depends_on: + - zoo1 + networks: + - proxy + + elasticsearch: + image: "docker.elastic.co/elasticsearch/elasticsearch:7.17.26" # Using amd64-compatible image + container_name: elasticsearch + environment: + - "discovery.type=single-node" + - "xpack.security.enabled=false" + - "xpack.security.authc.api_key.enabled=false" + - "ES_JAVA_OPTS=" + ulimits: + memlock: + soft: -1 + hard: -1 + ports: + - "9200:9200" + volumes: + - "elasticsearch:/usr/share/elasticsearch/data" + networks: + - proxy + +networks: + proxy: + driver: bridge + +volumes: + mongodb_data: + driver: local + elasticsearch: + driver: local