-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
84 lines (74 loc) · 2.63 KB
/
Copy pathdocker-compose.yml
File metadata and controls
84 lines (74 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
services:
docker-notify:
build:
context: .
dockerfile: Dockerfile
container_name: docker-notify
restart: unless-stopped
# Load environment variables from .env file
env_file:
- .env
# Mount Docker socket to access host Docker daemon
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./logs:/var/log/docker-notify
# Environment variables (these override .env file if needed)
environment:
- CHECK_INTERVAL=${CHECK_INTERVAL:-30m}
- TIMEZONE=${TIMEZONE:-UTC}
- DOCKER_SOCKET=${DOCKER_SOCKET:-unix:///var/run/docker.sock}
- DOCKER_API_VERSION=${DOCKER_API_VERSION:-}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT:-587}
- SMTP_USERNAME=${SMTP_USERNAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- SMTP_USE_TLS=${SMTP_USE_TLS:-true}
- EMAIL_FROM=${EMAIL_FROM}
- EMAIL_TO=${EMAIL_TO}
- EMAIL_SUBJECT=${EMAIL_SUBJECT:-Docker Image Updates}
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
- TELEGRAM_CHAT_IDS=${TELEGRAM_CHAT_IDS}
- TELEGRAM_PARSE_MODE=${TELEGRAM_PARSE_MODE:-HTML}
- NOTIFICATION_CHANNELS=${NOTIFICATION_CHANNELS:-telegram}
- MAX_CONCURRENCY=${MAX_CONCURRENCY:-10}
- REGISTRY_TIMEOUT=${REGISTRY_TIMEOUT:-30s}
- CHECK_LATEST=${CHECK_LATEST:-false}
- CHECK_PRIVATE=${CHECK_PRIVATE:-true}
- EXCLUDE_PRERELEASE=${EXCLUDE_PRERELEASE:-true}
- EXCLUDE_WINDOWS=${EXCLUDE_WINDOWS:-true}
- ONLY_STABLE=${ONLY_STABLE:-true}
- INCLUDE_PATTERNS=${INCLUDE_PATTERNS:-}
- EXCLUDE_PATTERNS=${EXCLUDE_PATTERNS:-*:latest,scratch:*}
- ONCE_PER_UPDATE=${ONCE_PER_UPDATE:-true}
- COOLDOWN_PERIOD=${COOLDOWN_PERIOD:-24h}
- GROUP_UPDATES=${GROUP_UPDATES:-true}
- MAX_UPDATES_PER_NOTIFICATION=${MAX_UPDATES_PER_NOTIFICATION:-10}
- CONFIG_CONTENT=${CONFIG_CONTENT:-}
- LOG_LEVEL=${LOG_LEVEL:-debug}
# Labels for container management
labels:
- "com.docker.compose.project=docker-notify"
- "description=Docker image update notification service"
# Resource limits
deploy:
resources:
limits:
memory: 128M
cpus: "0.5"
reservations:
memory: 64M
cpus: "0.1"
# No health check - relies on container exit code and restart policy
# User configuration - run as root to access Docker socket
# For production, consider adding user to docker group instead
user: "0:0"
# Network configuration
networks:
- docker-notify-network
volumes:
logs:
driver: local
networks:
docker-notify-network:
driver: bridge
name: docker-notify-net