Files
dbstorage/INSTALLATION_GUIDE.md

3.8 KiB
Raw Blame History

Шаг 2: Применение миграций

cd dbapp
python manage.py migrate

Это создаст:

  • Таблицу lyngsatapp_lyngsat для данных Lyngsat
  • Таблицы django_celery_results_* для результатов Celery

Шаг 3: Запуск сервисов

# Запуск Redis и FlareSolver
docker-compose up -d redis flaresolverr

# Проверка
redis-cli ping  # Должно вернуть PONG
curl http://localhost:8191/v1  # Должно вернуть JSON

Шаг 4: Запуск приложения

Терминал 1 - Django:

cd dbapp
python manage.py runserver

Терминал 2 - Celery Worker:

cd dbapp
celery -A dbapp worker --loglevel=info

Шаг 5: Тестирование

  1. Откройте http://localhost:8000/actions/
  2. Нажмите "Заполнить данные Lyngsat"
  3. Выберите спутники и регионы
  4. Наблюдайте за прогрессом!

Проверка Django

python dbapp/manage.py check
# Должно вывести: System check identified no issues (0 silenced).

Проверка Celery (если установлен)

celery -A dbapp inspect ping
# Должно вывести: pong

Проверка Redis (если установлен)

redis-cli ping
# Должно вывести: PONG

Проверка FlareSolver

curl http://localhost:8191/v1
# Должно вернуть JSON с информацией о сервисе

Проблема: FlareSolver не отвечает

Решение: Запустите FlareSolver

docker-compose up -d flaresolverr
# или
docker run -d -p 8191:8191 ghcr.io/flaresolverr/flaresolverr:latest

Дополнительные инструменты

Flower - мониторинг Celery

pip install flower
celery -A dbapp flower
# Откройте http://localhost:5555

Redis Commander - GUI для Redis

docker run -d -p 8081:8081 --name redis-commander \
  --env REDIS_HOSTS=local:localhost:6379 \
  rediscommander/redis-commander
# Откройте http://localhost:8081

pgAdmin - GUI для PostgreSQL

docker run -d -p 5050:80 --name pgadmin \
  -e PGADMIN_DEFAULT_EMAIL=admin@admin.com \
  -e PGADMIN_DEFAULT_PASSWORD=admin \
  dpage/pgadmin4
# Откройте http://localhost:5050

Остановка сервисов

# Остановка Docker контейнеров
docker-compose down

# Остановка Celery Worker
pkill -f "celery worker"

Удаление данных

# Удаление Docker volumes
docker-compose down -v

# Удаление виртуального окружения
rm -rf dbapp/.venv

# Удаление миграций (опционально)
find dbapp -path "*/migrations/*.py" -not -name "__init__.py" -delete
find dbapp -path "*/migrations/*.pyc" -delete

Systemd service для запуска с хоста

[Unit] Description=Django Application After=network.target

[Service] Type=notify User=www-data Group=www-data WorkingDirectory=/path/to/your/app Environment=PATH=/path/to/venv/bin Environment=DATABASE_URL=postgresql://user:pass@localhost/geodb ExecStart=/path/to/venv/bin/python manage.py runserver 0.0.0.0:8000 ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=300 Restart=on-failure

[Install] WantedBy=multi-user.target

Поддержка

  1. Проверьте логи:
    • Django: консоль где запущен runserver
    • Celery: dbapp/logs/celery_worker.log
    • Docker: docker-compose logs