-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
65 lines (55 loc) · 2.56 KB
/
Copy pathMakefile
File metadata and controls
65 lines (55 loc) · 2.56 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
.PHONY: setup start stop restart logs logs-api status health clean
# ─── Быстрый старт ─────────────────────────────────────────────
# 1. make setup — создать .env из шаблона
# 2. Отредактировать .env (ОБЯЗАТЕЛЬНО заполнить):
# DB_HOST, DB_PASSWORD — внешний PostgreSQL
# JWT_SECRET, ENCRYPTION_KEY
# BINANCE_API_KEY / BINANCE_API_SECRET
# GEMINI_API_KEY, TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID
# 3. make start — запустить api + caddy
# ───────────────────────────────────────────────────────────────
setup:
@if [ ! -f .env ]; then \
cp .env.example .env; \
echo ""; \
echo "✅ Файл .env создан из шаблона."; \
echo ""; \
echo "Следующий шаг: откройте .env и заполните:"; \
echo " - DBCONNECTIONSTRING (полная строка Npgsql для внешнего PostgreSQL)"; \
echo " - JWT_SECRET (openssl rand -base64 32)"; \
echo " - ENCRYPTION_KEY (openssl rand -base64 32)"; \
echo " - BINANCE_API_KEY/SECRET (с биржи Binance)"; \
echo " - GEMINI_API_KEY (с aistudio.google.com)"; \
echo " - TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID"; \
echo ""; \
echo "Затем запустите: make start"; \
else \
echo "⚠️ Файл .env уже существует. Удалите его вручную если хотите пересоздать."; \
fi
start:
@echo "🚀 Запуск NetTrader..."
docker compose --env-file .env up -d --build
@echo ""
@echo "✅ Готово! Сервисы:"
@echo " API: http://localhost:5000"
@echo " Health: http://localhost:5000/health"
@echo ""
@echo "Логи: make logs"
stop:
@echo "⏹️ Остановка NetTrader..."
docker compose down
restart:
docker compose down && docker compose --env-file .env up -d --build
logs:
docker compose logs -f --tail=100
logs-api:
docker compose logs -f api --tail=100
status:
docker compose ps
health:
@curl -s http://localhost:5000/health | python3 -m json.tool 2>/dev/null || echo "API недоступен"
clean:
@echo "⚠️ Это остановит контейнеры и удалит volumes Caddy."
@read -p "Продолжить? (yes/no): " confirm && [ "$$confirm" = "yes" ] || exit 1
docker compose down -v
@echo "Очищено."