FR code delivery
This commit is contained in:
@@ -2,28 +2,126 @@ version: '3.9'
|
||||
|
||||
services:
|
||||
|
||||
fetcher_app_selenium:
|
||||
image: fetcher_app_selenium
|
||||
build:
|
||||
context: ./app_selenium
|
||||
args:
|
||||
- ARCH=${ARCH} # arm64, amd64
|
||||
container_name: fetcher_app_selenium
|
||||
duckdns:
|
||||
image: lscr.io/linuxserver/duckdns:latest
|
||||
container_name: duckdns
|
||||
restart: unless-stopped
|
||||
shm_size: 512mb
|
||||
environment:
|
||||
- SELENIUM_SLEEP_PER_PAGE=${SELENIUM_SLEEP_PER_PAGE}
|
||||
- PATH_LOGS_DIRECTORY=${PATH_LOGS_DIRECTORY}
|
||||
- PUID=1000 #optional
|
||||
- PGID=1000 #optional
|
||||
- TZ=Europe/London
|
||||
- SUBDOMAINS=${DUCKDNS_SUBDOMAINS}
|
||||
- TOKEN=${DUCKDNS_TOKEN}
|
||||
- LOG_FILE=true #optional
|
||||
volumes:
|
||||
- ${PATH_DB_DATA}/duckdns_config:/config
|
||||
|
||||
traefik:
|
||||
image: "traefik:v3.3"
|
||||
container_name: "traefik"
|
||||
restart: unless-stopped
|
||||
command:
|
||||
- "--api.insecure=true"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
# Logs for fail2ban
|
||||
- "--log.level=INFO"
|
||||
- "--accesslog=true"
|
||||
- "--accesslog.filepath=/var/log/traefik/access.log"
|
||||
# HTTPS
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
# HTTPS -> Timeouts
|
||||
- "--entrypoints.websecure.transport.respondingTimeouts.readTimeout=1200s"
|
||||
- "--entrypoints.websecure.transport.respondingTimeouts.idleTimeout=1200s"
|
||||
- "--entrypoints.websecure.transport.respondingTimeouts.writeTimeout=1200s"
|
||||
# HTTP -> HTTPS
|
||||
- "--entryPoints.web.address=:80"
|
||||
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
|
||||
# Let's Encrypt
|
||||
- "--certificatesresolvers.myresolver.acme.email=${TRAEFIK_MAIL}"
|
||||
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
|
||||
# TLS challenge to request new certificate
|
||||
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
|
||||
ports:
|
||||
- 80
|
||||
dns:
|
||||
- 1.1.1.1
|
||||
- 1.0.0.1
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '${DEPLOY_CPUS}'
|
||||
memory: ${DEPLOY_RAM}
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- "${PATH_DB_DATA}/letsencrypt:/letsencrypt"
|
||||
- "${PATH_DB_DATA}/traefik_logs:/var/log/traefik"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
|
||||
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
container_name: ollama
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- '11434:11434'
|
||||
volumes:
|
||||
- ${PATH_DB_DATA}/ollama:/root/.ollama
|
||||
#deploy:
|
||||
# resources:
|
||||
# limits:
|
||||
# memory: 6G
|
||||
# cpus: 6 # 80% for 8 cores
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.ollama-secure.rule=Host(`${OLLAMA_REVERSE_PROXY_URL}`)"
|
||||
- "traefik.http.routers.ollama.entrypoints=websecure"
|
||||
- "traefik.http.routers.ollama-secure.tls.certresolver=myresolver"
|
||||
- "traefik.http.services.ollama.loadbalancer.server.port=11434"
|
||||
|
||||
ollama-webui:
|
||||
image: ghcr.io/ollama-webui/ollama-webui:main
|
||||
container_name: ollama-webui
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- ${PATH_DB_DATA}/ollama-webui:/app/backend/data
|
||||
depends_on:
|
||||
- ollama
|
||||
environment:
|
||||
- 'OLLAMA_API_BASE_URL=http://ollama:11434/api'
|
||||
- 'ENABLE_SIGNUP=false'
|
||||
#- 'ENABLE_RAG_WEB_SEARCH=true'
|
||||
#- 'RAG_WEB_SEARCH_ENGINE=brave'
|
||||
#- 'ENABLE_IMAGE_GENERATION=true'
|
||||
#- 'IMAGE_GENERATION_ENGINE=comfyui'
|
||||
#- 'COMFYUI_BASE_URL=comfyui.matitos.org'
|
||||
#- 'COMFYUI_API_KEY='
|
||||
#- 'COMFYUI_WORKFLOW=' # https://docs.openwebui.com/getting-started/env-configuration#comfyui_workflow
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.ollamawebui-secure.rule=Host(`${OLLAMA_WEBUI_REVERSE_PROXY_URL}`)"
|
||||
- "traefik.http.routers.ollamawebui.entrypoints=websecure"
|
||||
- "traefik.http.routers.ollamawebui-secure.tls.certresolver=myresolver"
|
||||
- "traefik.http.services.ollamawebui.loadbalancer.server.port=8080"
|
||||
|
||||
|
||||
#fetcher_app_selenium:
|
||||
# image: fetcher_app_selenium
|
||||
# build:
|
||||
# context: ./app_selenium
|
||||
# args:
|
||||
# - ARCH=${ARCH} # arm64, amd64
|
||||
# container_name: fetcher_app_selenium
|
||||
# restart: unless-stopped
|
||||
# shm_size: 512mb
|
||||
# environment:
|
||||
# - SELENIUM_SLEEP_PER_PAGE=${SELENIUM_SLEEP_PER_PAGE}
|
||||
# - PATH_LOGS_DIRECTORY=${PATH_LOGS_DIRECTORY}
|
||||
# ports:
|
||||
# - 80
|
||||
# dns:
|
||||
# - 1.1.1.1
|
||||
# - 1.0.0.1
|
||||
# deploy:
|
||||
# resources:
|
||||
# limits:
|
||||
# cpus: '${DEPLOY_CPUS}'
|
||||
# memory: ${DEPLOY_RAM}
|
||||
|
||||
fetcher_app_urls:
|
||||
image: fetcher_app_urls
|
||||
@@ -73,7 +171,7 @@ services:
|
||||
# - ./app_urls:/opt/app
|
||||
########################
|
||||
ports:
|
||||
- 8000 # :8000
|
||||
- 8000:8000
|
||||
depends_on:
|
||||
- fetcher_db
|
||||
- fetcher_redis
|
||||
@@ -89,11 +187,8 @@ services:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.fetcher.rule=Host(`${REVERSE_PROXY_URL}`)"
|
||||
- "traefik.http.routers.fetcher.entrypoints=websecure"
|
||||
- "traefik.http.routers.fetcher.tls.certresolver=myresolvercd"
|
||||
- "traefik.http.routers.fetcher.tls.certresolver=myresolver"
|
||||
- "traefik.http.services.fetcher.loadbalancer.server.port=8000"
|
||||
networks:
|
||||
- default # This network
|
||||
- docker_default # Reverse proxy network
|
||||
|
||||
fetcher_db:
|
||||
image: postgres:17
|
||||
@@ -117,7 +212,3 @@ services:
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 6379 #:6379
|
||||
|
||||
networks:
|
||||
docker_default:
|
||||
external: true
|
||||
|
||||
Reference in New Issue
Block a user