2025-04-01 18:03:17 +00:00
|
|
|
version: '3.6'
|
|
|
|
|
services:
|
|
|
|
|
mail:
|
|
|
|
|
image: 'boky/postfix'
|
|
|
|
|
container_name: core_mail
|
|
|
|
|
networks:
|
|
|
|
|
internal_traffic:
|
|
|
|
|
ipv4_address: 192.168.2.20
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
cpus: '0.50'
|
|
|
|
|
memory: 128M
|
|
|
|
|
environment:
|
|
|
|
|
- RELAYHOST=smtp.gmail.com:587
|
|
|
|
|
- RELAYHOST_USERNAME=${RELAYHOST_USERNAME}
|
|
|
|
|
- RELAYHOST_PASSWORD=${RELAYHOST_PASSWORD}
|
2025-06-22 19:11:39 +00:00
|
|
|
- ALLOWED_SENDER_DOMAINS=gmail.com gierwialo.com eldorado.city radziel.com
|
|
|
|
|
- XOAUTH2_CLIENT_ID=${XOAUTH2_CLIENT_ID}
|
|
|
|
|
- XOAUTH2_SECRET=${XOAUTH2_SECRET}
|
|
|
|
|
- XOAUTH2_INITIAL_ACCESS_TOKEN=${XOAUTH2_INITIAL_ACCESS_TOKEN}
|
|
|
|
|
- XOAUTH2_INITIAL_REFRESH_TOKEN=${XOAUTH2_INITIAL_REFRESH_TOKEN}
|
2025-04-01 18:03:17 +00:00
|
|
|
http_proxy:
|
|
|
|
|
image: 'jc21/nginx-proxy-manager:2.9.14'
|
|
|
|
|
container_name: core_proxy
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
cpus: '0.50'
|
|
|
|
|
memory: 256M
|
|
|
|
|
networks:
|
|
|
|
|
internal_traffic:
|
|
|
|
|
ipv4_address: 192.168.2.253
|
|
|
|
|
volumes:
|
|
|
|
|
- data_nginx_manager:/data
|
|
|
|
|
- data_letsencrypt:/etc/letsencrypt
|
|
|
|
|
depends_on:
|
|
|
|
|
- syslog
|
|
|
|
|
|
|
|
|
|
syslog:
|
|
|
|
|
image: rgsyslog
|
|
|
|
|
hostname: syslog
|
|
|
|
|
container_name: core_syslog
|
|
|
|
|
network_mode: host
|
|
|
|
|
restart: always
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
cpus: '0.50'
|
|
|
|
|
memory: 128M
|
|
|
|
|
volumes:
|
|
|
|
|
- data_logs:/var/log
|
|
|
|
|
ports:
|
|
|
|
|
- 514:514
|
|
|
|
|
- 514:514/udp
|
|
|
|
|
cap_add:
|
|
|
|
|
- SYSLOG
|
|
|
|
|
|
|
|
|
|
ups:
|
|
|
|
|
image: instantlinux/nut-upsd
|
|
|
|
|
container_name: core_ups
|
|
|
|
|
network_mode: host
|
|
|
|
|
privileged: true
|
|
|
|
|
restart: always
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
cpus: '0.50'
|
|
|
|
|
memory: 128M
|
|
|
|
|
devices:
|
|
|
|
|
- /dev/bus/usb:/dev/bus/usb
|
|
|
|
|
environment:
|
|
|
|
|
- PORT=auto
|
|
|
|
|
- NAME=eaton3s
|
|
|
|
|
- API_USER=upsmon
|
|
|
|
|
- API_PASSWORD=pass
|
|
|
|
|
- VENDORID=0463
|
|
|
|
|
- PRODUCTID=ffff
|
|
|
|
|
- POLLINTERVAL=5
|
|
|
|
|
- SDORDER=-1
|
|
|
|
|
cap_add:
|
|
|
|
|
- SYS_ADMIN
|
|
|
|
|
volumes:
|
|
|
|
|
- data_ups:/etc/nut
|
2026-01-18 11:36:25 +00:00
|
|
|
|
|
|
|
|
llmproxy:
|
|
|
|
|
image: ghcr.io/berriai/litellm:main-stable
|
|
|
|
|
container_name: core_llmproxy
|
|
|
|
|
deploy:
|
|
|
|
|
resources:
|
|
|
|
|
limits:
|
|
|
|
|
cpus: '0.75'
|
|
|
|
|
memory: 512M
|
|
|
|
|
networks:
|
|
|
|
|
internal_traffic:
|
|
|
|
|
ipv4_address: 192.168.2.30
|
|
|
|
|
environment:
|
|
|
|
|
DATABASE_URL: "postgresql://litellm:litellm@192.168.3.41:5432/litellm"
|
|
|
|
|
STORE_MODEL_IN_DB: "True" # allows adding models to proxy via UI
|
|
|
|
|
env_file:
|
|
|
|
|
- .env # Load local .env file
|
|
|
|
|
healthcheck: # Defines the health check configuration for the container
|
|
|
|
|
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 http://localhost:4000/health/liveliness || exit 1" ] # Command to execute for health check
|
|
|
|
|
interval: 30s # Perform health check every 30 seconds
|
|
|
|
|
timeout: 10s # Health check command times out after 10 seconds
|
|
|
|
|
retries: 3 # Retry up to 3 times if health check fails
|
|
|
|
|
start_period: 40s # Wait 40 seconds after container start before beginning health check
|
2025-04-01 18:03:17 +00:00
|
|
|
volumes:
|
|
|
|
|
data_nginx_manager:
|
|
|
|
|
external: true
|
|
|
|
|
|
|
|
|
|
data_letsencrypt:
|
|
|
|
|
external: true
|
|
|
|
|
|
|
|
|
|
data_logs:
|
|
|
|
|
external: true
|
|
|
|
|
|
|
|
|
|
data_ups:
|
|
|
|
|
external: true
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
internal_traffic:
|
|
|
|
|
external: true
|