Настройка ОС для ровера "Контакт"
Для настройки образа Ubuntu Server на Orange Pi 5 для Ровера "Конатакт" можно использовать следующие шаги.
1. Установка необходимых пакетов
- Nginx используется как веб-сервер, который обслуживает статические файлы и проксирует запросы к приложениям. 
- FFmpeg используется для обработки медиапотоков, например, видео с камер робота. 
sudo apt install nginx ffmpeg2. Настройка веб-сервера Nginx
- Настройка проксирования запросов для поддержки WebRTC и API-запросов, а также обслуживания статических файлов. 
sudo nano /etc/nginx/sites-enabled/defaultНастроенное содержание файла:
server {
    root /var/www/html/front/;
    index index.html;
    location /images/ {
        root /var/www/html/assets/;
        try_files $uri $uri/ =404;
    }
    location /socket.io/ {
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://localhost:3016;
    }
    location ~/janus/* {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass http://$arg_ipcam;
    }
    location ~/webrtc/* {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass http://$arg_ipcam;
    }
    location /api {
        rewrite            ^/api/?(.*) /$1 break;
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         http://localhost:3015;
    }
    location / {
        try_files $uri $uri/ =404;
    }
   
 listen 80 default_server; # managed by Certbot
}3. Создание рабочих директорий
Создаются необходимые директории для различных компонентов системы, которые будут хранить данные приложений, настройки и статические файлы.
sudo mkdir /var/onboard-app
sudo mkdir /var/cloud
sudo mkdir /var/www/html/front
sudo chmod 777 -R /var/onboard-app
sudo chmod 777 -R /var/cloud
sudo chmod 777 -R /var/www/html/front
4. Настройка и включение служб
Служба приложения "onboard-app"
- Работает как основное приложение для управления функциями робота. 
- Использует Node.js, запускаемый через NVM. 
sudo nano /etc/systemd/system/onboard-app.serviceСодержимое файла сервиса:
[Unit]
Description="DH FRAME APP"
[Service]
Environment=NODE_VERSION=20
WorkingDirectory=/var/onboard-app
ExecStart=/home/orangepi/.nvm/nvm-exec node index.js
Restart=always
RestartSec=2
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=FRAME-APP
[Install]
WantedBy=multi-user.targetСлужба "cloud"
- Серверное приложение для обработки данных с облачными компонентами. 
sudo nano /etc/systemd/system/cloud.serviceСодержимое файла сервиса:
[Unit]
Description="DH FRAME SERVER"
[Service]
Environment=NODE_VERSION=20
WorkingDirectory=/var/cloud
ExecStart=/home/orangepi/.nvm/nvm-exec node index.js
Restart=always
RestartSec=2
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=FRAME-SERVER
[Install]
WantedBy=multi-user.target5. Включение и перезапуск сервисов
sudo systemctl enable cloud.service
sudo systemctl enable onboard-app.service
sudo systemctl restart onboard-app.service
sudo systemctl restart cloud.service
sudo systemctl restart nginxПоследнее обновление
