🐳 Fixing up the stack

This commit is contained in:
2025-02-25 16:08:55 -05:00
parent 24ef81f17b
commit f462a322a6
2 changed files with 90 additions and 25 deletions

View File

@@ -1,7 +1,7 @@
UNDERLYING_HOSTNAME=ghost UNDERLYING_HOSTNAME=localhost
COMICS_DIRECTORY=/mnt/unraidshare/directconnect/downloads/comics/ COMICS_DIRECTORY=/Users/rishi/work/threetwo-core-service/comics
USERDATA_DIRECTORY=/home/rishi/userdata USERDATA_DIRECTORY=/Users/rishi/work/threetwo-core-service/userdata
COMICVINE_API_KEY=foobar COMICVINE_API_KEY=foobar
@@ -13,6 +13,7 @@ UNRAR_BIN_PATH=/usr/bin/unrar
SEVENZ_BINARY_PATH=/usr/bin/7za SEVENZ_BINARY_PATH=/usr/bin/7za
MONGO_URI=mongodb://db:27017/threetwo MONGO_URI=mongodb://db:27017/threetwo
ELASTICSEARCH_URI=http://elasticsearch:9200 ELASTICSEARCH_URI=http://elasticsearch:9200
KAFKA_BROKER_URI=kafka1:9092
REDIS_URI=redis://redis:6379 REDIS_URI=redis://redis:6379
TRANSPORTER=redis://redis:6379 TRANSPORTER=redis://redis:6379
CACHER=Memory CACHER=Memory

View File

@@ -1,15 +1,11 @@
version: "3.7" x-userdata-volume: &userdata-volume
x-userdata-volume:
&userdata-volume
type: bind type: bind
source: ${USERDATA_DIRECTORY} source: ${USERDATA_DIRECTORY:?USERDATA_DIRECTORY not set}
target: /userdata target: /userdata
x-comics-volume: x-comics-volume: &comics-volume
&comics-volume
type: bind type: bind
source: ${COMICS_DIRECTORY} source: ${COMICS_DIRECTORY:?COMICS_DIRECTORY not set}
target: /comics target: /comics
services: services:
@@ -24,11 +20,12 @@ services:
ports: ports:
- "8050:8050" - "8050:8050"
- "3050:3050" - "3050:3050"
links:
- core-services
depends_on: depends_on:
- db - core-services
- kafka1
- zoo1
- elasticsearch - elasticsearch
- db
- redis - redis
networks: networks:
- proxy - proxy
@@ -45,6 +42,32 @@ services:
env_file: docker-compose.env env_file: docker-compose.env
depends_on: depends_on:
- redis - 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: docker-compose.env
depends_on:
- redis
- kafka1
- zoo1
- elasticsearch
- db
volumes: volumes:
- *comics-volume - *comics-volume
- *userdata-volume - *userdata-volume
@@ -63,6 +86,8 @@ services:
- db - db
- redis - redis
- elasticsearch - elasticsearch
- kafka1
- zoo1
environment: environment:
name: core-services name: core-services
SERVICES: api,library,importqueue,settings,search,socket,imagetransformation,opds SERVICES: api,library,importqueue,settings,search,socket,imagetransformation,opds
@@ -70,22 +95,21 @@ services:
volumes: volumes:
- *comics-volume - *comics-volume
- *userdata-volume - *userdata-volume
networks: networks:
- proxy - proxy
db: db:
image: "bitnami/mongodb:latest" image: "arm64v8/mongo:latest"
container_name: database container_name: database
networks: networks:
- proxy - proxy
ports: ports:
- "27017:27017" - "27017:27017"
volumes: volumes:
- "mongodb_data:/bitnami/mongodb" - "mongodb_data:/data/db"
redis: redis:
image: "bitnami/redis:latest" image: "redis:6.2.6-alpine3.14" # ARM64 supported version
container_name: queue container_name: queue
environment: environment:
ALLOW_EMPTY_PASSWORD: "yes" ALLOW_EMPTY_PASSWORD: "yes"
@@ -94,27 +118,67 @@ services:
ports: ports:
- "6379:6379" - "6379:6379"
zoo1:
image: "arm64v8/zookeeper:3.7.0"
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
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: elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.16.2 image: docker.elastic.co/elasticsearch/elasticsearch:7.17.26-arm64
container_name: elasticsearch container_name: elasticsearch
environment: environment:
- "discovery.type=single-node" - "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" - "xpack.security.enabled=false"
- "xpack.security.enabled=true" - "xpack.security.authc.api_key.enabled=false"
- "xpack.security.authc.api_key.enabled=true" - "ES_JAVA_OPTS="
- "ELASTIC_PASSWORD=password"
ulimits: ulimits:
memlock: memlock:
soft: -1 soft: -1
hard: -1 hard: -1
ports: ports:
- 9200:9200 - "9200:9200"
volumes:
- "elasticsearch:/usr/share/elasticsearch/data"
networks: networks:
- proxy - proxy
networks: networks:
proxy: proxy:
external: true driver: bridge
volumes: volumes:
mongodb_data: mongodb_data: