diff --git a/README.md b/README.md index f1a3a50..e4ac0e1 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,106 @@ curl -LsSf https://astral.sh/uv/install.sh | sh ### Deno ``` curl -fsSL https://deno.land/install.sh | sh -``` \ No newline at end of file +``` + +### Конфигурация для systemd + +* **Получить полный путь к директории проекта** + +```bash +pwd +# /home/.../youtube-microservice +``` + +* **Получить полный путь к uv** + +```bash +which uv +# /home/.../.local/bin/uv +``` + +#### Для FastAPI (`/etc/systemd/system/fastapi-service.service`): + +```ini +[Unit] +Description=FastAPI Service +After=network.target + +[Service] +Type=simple +User=your_username # Замените на имя вашего пользователя +WorkingDirectory=/path/to/your/project # Замените на путь к проекту +ExecStart=/usr/bin/uv run fastapi run --host 0.0.0.0 --port 1234 +Restart=always +RestartSec=10 +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target + +``` + +#### Для Celery (``): + +```ini +[Unit] +Description=Celery Worker +After=network.target fastapi-service.service # Зависимость от FastAPI (опционально) + +[Service] +Type=simple +User=your_username # Замените на имя вашего пользователя +WorkingDirectory=/path/to/your/project # Замените на путь к проекту +ExecStart=/usr/bin/uv run celery -A app.core.celery.celery_app worker --loglevel=info +Restart=always +RestartSec=10 +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target +``` + +#### Активация и запуск + +```bash +# Перезагружаем конфигурацию systemd +sudo systemctl daemon-reload + +# Включаем автозапуск при загрузке системы +sudo systemctl enable fastapi-service.service +sudo systemctl enable celery-worker.service + +# Запускаем сервисы +sudo systemctl start fastapi-service.service +sudo systemctl start celery-worker.service +``` + +#### Мониторинг и управление + +* **Проверить статус**: + +```bash +sudo systemctl status fastapi-service.service +sudo systemctl status celery-worker.service +``` + +* **Посмотреть логи**: + +```bash +sudo journalctl -u fastapi-service.service -f +sudo journalctl -u celery-worker.service -f +``` + +* **Остановить сервис**: + +```bash +sudo systemctl stop fastapi-service.service +``` + +* **Перезапустить сервис**: + +```bash +sudo systemctl restart celery-worker.service +```