-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
91 lines (86 loc) · 3.29 KB
/
docker-compose.yml
File metadata and controls
91 lines (86 loc) · 3.29 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
85
86
87
88
89
90
91
services:
simplex-bot-v2:
build: .
container_name: simplex-bot-v2
user: "1000:1001"
volumes:
- ./bot_profile:/app/profile
- ./logs:/app/logs
- ./media:/app/media
- ./plugins:/app/plugins
- ./config.yml:/app/config.yml:ro
- ./.env:/app/.env:ro
# Docker socket for containerized plugins
- /var/run/docker.sock:/var/run/docker.sock
# Core bot files
- ./config_manager.py:/app/config_manager.py:ro
- ./bot.py:/app/bot.py
- ./file_download_manager.py:/app/file_download_manager.py:ro
- ./message_handler.py:/app/message_handler.py
- ./message_context.py:/app/message_context.py:ro
- ./websocket_manager.py:/app/websocket_manager.py:ro
- ./xftp_client.py:/app/xftp_client.py:ro
- ./admin_manager.py:/app/admin_manager.py:ro
- ./invite_manager.py:/app/invite_manager.py:ro
- ./background_task_processor.py:/app/background_task_processor.py:ro
# Configuration files
- ./admin_config.yml:/app/admin_config.yml
- ./version.yml:/app/version.yml:ro
# Startup script
- ./start-services.sh:/app/start-services.sh
# Removed unused files:
# - connect_invitation.sh, connect.sh, check_connection.sh (standalone scripts not used by bot)
# - websocket_connect.py, simplex_utils.py (utility scripts not imported by main bot)
# - contact_id_resolver.py (not used by current bot implementation)
env_file:
- .env
environment:
# Set proper HOME directory for Docker client
- HOME=/app
# Playwright browser location
- PLAYWRIGHT_BROWSERS_PATH=/app/.cache/ms-playwright
# All bot configuration environment variables
- SMP_SERVER_1=${SMP_SERVER_1}
- SMP_SERVER_2=${SMP_SERVER_2:-}
- XFTP_SERVER_1=${XFTP_SERVER_1}
- XFTP_SERVER_2=${XFTP_SERVER_2:-}
- BOT_NAME=${BOT_NAME:-SimpleX Bot}
- DEVICE_NAME=${DEVICE_NAME:-rename_bot}
- WEBSOCKET_URL=${WEBSOCKET_URL:-ws://localhost:3030}
- AUTO_ACCEPT_CONTACTS=${AUTO_ACCEPT_CONTACTS:-true}
- LOG_LEVEL=${LOG_LEVEL:-INFO}
- LOG_RETENTION_DAYS=${LOG_RETENTION_DAYS:-30}
- MEDIA_DOWNLOAD_ENABLED=${MEDIA_DOWNLOAD_ENABLED:-true}
- MAX_FILE_SIZE=${MAX_FILE_SIZE:-100MB}
- MEDIA_STORAGE_PATH=${MEDIA_STORAGE_PATH:-./media}
- MAX_MESSAGE_LENGTH=${MAX_MESSAGE_LENGTH:-4096}
- RATE_LIMIT_MESSAGES=${RATE_LIMIT_MESSAGES:-10}
- RATE_LIMIT_WINDOW=${RATE_LIMIT_WINDOW:-60}
- XFTP_CLI_PATH=${XFTP_CLI_PATH:-/usr/local/bin/xftp}
- XFTP_TEMP_DIR=${XFTP_TEMP_DIR:-./temp/xftp}
- XFTP_TIMEOUT=${XFTP_TIMEOUT:-300}
- XFTP_MAX_FILE_SIZE=${XFTP_MAX_FILE_SIZE:-1073741824}
- XFTP_RETRY_ATTEMPTS=${XFTP_RETRY_ATTEMPTS:-3}
- XFTP_CLEANUP_ON_FAILURE=${XFTP_CLEANUP_ON_FAILURE:-true}
- PYTHONPATH=/app
restart: unless-stopped
networks:
- simplex-net
command: ["bash", "/app/start-services.sh"]
simplex-bot-test-v2:
build: .
container_name: simplex-bot-test-v2
volumes:
- ./:/app
- ./tests:/app/tests
environment:
- PYTHONPATH=/app
working_dir: /app
command: ["python", "-m", "pytest", "tests/", "-v", "--tb=short"]
networks:
- simplex-net
profiles:
- testing
networks:
simplex-net:
external: true