Files
youtube-microservice/README.md
2026-03-05 14:45:33 +05:00

127 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# youtube-microservice
### uv
```
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### Deno
```
curl -fsSL https://deno.land/install.sh | sh
```
### Redis
```
sudo apt install redis
```
### Environment
- Переименовать `.env.example` в `.env`
- Добавить конфигурацию для Redis (объязательно)
- По желанию добавить (если включен в app.core.config работу с S3 как uploader_backend) конфигурацию для S3
### Конфигурация для 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
```