92 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| version: "3.7"
 | |
| 
 | |
| services:
 | |
|   bitmagnet:
 | |
|     image: ghcr.io/bitmagnet-io/bitmagnet:0.7.14
 | |
|     restart: unless-stopped
 | |
|     command:
 | |
|       - worker
 | |
|       - run
 | |
|       - --keys=http_server
 | |
|       - --keys=queue_server
 | |
|       # disable the next line to run without DHT crawler
 | |
|       - --keys=dht_crawler
 | |
|     container_name: bitmagnet
 | |
|     environment:
 | |
|       - POSTGRES_HOST=bitmagnet-db
 | |
|       - POSTGRES_NAME=bitmagnet
 | |
|       - POSTGRES_USER=tipi
 | |
|       - POSTGRES_PASSWORD=${BITMAGNENT_DB_PASSWORD}
 | |
|       - REDIS_ADDR=bitmagnet-redis:6379
 | |
|     ports:
 | |
|       - "${APP_PORT}:3333"
 | |
|       - "3334:3334/tcp"
 | |
|       - "3334:3334/udp"
 | |
|     depends_on:
 | |
|       bitmagnet-db:
 | |
|         condition: service_healthy
 | |
|       bitmagnet-redis:
 | |
|         condition: service_started
 | |
|     networks:
 | |
|       - tipi_main_network
 | |
|     labels:
 | |
|       # Main
 | |
|       traefik.enable: true
 | |
|       traefik.http.middlewares.bitmagnet-web-redirect.redirectscheme.scheme: https
 | |
|       traefik.http.services.bitmagnet.loadbalancer.server.port: 3333
 | |
|       # Web
 | |
|       traefik.http.routers.bitmagnet-insecure.rule: Host(`${APP_DOMAIN}`)
 | |
|       traefik.http.routers.bitmagnet-insecure.entrypoints: web
 | |
|       traefik.http.routers.bitmagnet-insecure.service: bitmagnet
 | |
|       traefik.http.routers.bitmagnet-insecure.middlewares: bitmagnet-web-redirect
 | |
|       # Websecure
 | |
|       traefik.http.routers.bitmagnet.rule: Host(`${APP_DOMAIN}`)
 | |
|       traefik.http.routers.bitmagnet.entrypoints: websecure
 | |
|       traefik.http.routers.bitmagnet.service: bitmagnet
 | |
|       traefik.http.routers.bitmagnet.tls.certresolver: myresolver
 | |
|       # Local domain
 | |
|       traefik.http.routers.bitmagnet-local-insecure.rule: Host(`bitmagnet.${LOCAL_DOMAIN}`)
 | |
|       traefik.http.routers.bitmagnet-local-insecure.entrypoints: web
 | |
|       traefik.http.routers.bitmagnet-local-insecure.service: bitmagnet
 | |
|       traefik.http.routers.bitmagnet-local-insecure.middlewares: bitmagnet-web-redirect
 | |
|       # Local domain secure
 | |
|       traefik.http.routers.bitmagnet-local.rule: Host(`bitmagnet.${LOCAL_DOMAIN}`)
 | |
|       traefik.http.routers.bitmagnet-local.entrypoints: websecure
 | |
|       traefik.http.routers.bitmagnet-local.service: bitmagnet
 | |
|       traefik.http.routers.bitmagnet-local.tls: true
 | |
| 
 | |
|   bitmagnet-db:
 | |
|     container_name: bitmagnet-db
 | |
|     image: docker.io/library/postgres:16-alpine
 | |
|     restart: unless-stopped
 | |
|     healthcheck:
 | |
|       test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
 | |
|       start_period: 20s
 | |
|       interval: 30s
 | |
|       retries: 5
 | |
|       timeout: 5s
 | |
|     volumes:
 | |
|       - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
 | |
|     environment:
 | |
|       POSTGRES_PASSWORD: ${BITMAGNENT_DB_PASSWORD}
 | |
|       POSTGRES_USER: tipi
 | |
|       POSTGRES_DB: bitmagnet
 | |
|     networks:
 | |
|       - tipi_main_network
 | |
| 
 | |
|   bitmagnet-redis:
 | |
|     image: docker.io/library/redis:alpine
 | |
|     command: --save 60 1 --loglevel warning
 | |
|     container_name: bitmagnet-redis
 | |
|     restart: unless-stopped
 | |
|     healthcheck:
 | |
|       test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
 | |
|       start_period: 20s
 | |
|       interval: 30s
 | |
|       retries: 5
 | |
|       timeout: 3s
 | |
|     volumes:
 | |
|       - ${APP_DATA_DIR}/data/redis:/data
 | |
|     networks:
 | |
|       - tipi_main_network
 | 
![renovate[bot]](/assets/img/avatar_default.png)