Инструкция по настройке сервиса

Шаг 1: Подготовка VPS

Вам понадобится собственный VPS. Убедитесь, что у вас есть SSH-доступ с правами root или sudo.

Шаг 2: Настройка SSH-доступа по ключу

Для безопасной и автоматической выгрузки скриншотов необходим доступ по SSH-ключу.

Создание ключа:

  • macOS / Linux: Откройте терминал и введите ssh-keygen -t ed25519. Нажимайте Enter до завершения.
  • Windows: Откройте PowerShell или командную строку и также введите ssh-keygen -t ed25519.

Установка ключа на сервер:

Выполните команду на вашем компьютере (заменив user и ip):

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@your_server_ip

Если ssh-copy-id не доступен, вручную скопируйте содержимое вашего .pub файла в файл ~/.ssh/authorized_keys на сервере.

Шаг 3: Установка Nginx, PHP и Git

Выполните команды на сервере:

sudo apt update
sudo apt install nginx php-fpm git

Шаг 4: Клонирование проекта

Перейдите в директорию веб-сервера и склонируйте проект:

cd /var/www/html
sudo git clone https://github.com/igoryakus/screenshots-uploader.git
sudo chown -R www-data:www-data /var/www/html/screenshots-uploader
sudo chmod -R 755 /var/www/html/screenshots-uploader/files

Шаг 5: Настройка Nginx

Отредактируйте конфигурацию сайта (обычно /etc/nginx/sites-available/default):

location /screenshots-uploader/ {
    try_files $uri $uri/ /screenshots-uploader/index.php?$args;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; # Проверьте вашу версию PHP
    }
}

После изменений перезапустите Nginx: sudo systemctl restart nginx

Шаг 6: Настройка клиента (macOS)

1. Скачайте скрипт загрузчика: screenshots_uploader.sh и положите этот файл в надежное место.

2. Отредактируйте в нем переменную WATCH_DIR (папка со скриншотами), а также REMOTE_HOST, REMOTE_USER и SSH_KEY.

3. Установите fswatch: brew install fswatch

4. Сделайте скрипт исполняемым: chmod +x /path/to/screenshots_uploader.sh

5. Для автозапуска скачайте файл com.user.screenshots-uploader.plist и положите его в ~/Library/LaunchAgents/.

Запустите: launchctl load ~/Library/LaunchAgents/com.user.screenshot-uploader.plist

Шаг 7: Настройка клиента (Windows)

1. Скачайте PowerShell-скрипт: screenshots_uploader.ps1.

2. Откройте его в текстовом редакторе и настройте переменные в начале файла (пути к папкам, данные сервера).

3. Для запуска откройте PowerShell и выполните скрипт. Чтобы он работал в фоне, можно создать ярлык в папке «Автозагрузка» (Win+R -> shell:startup) с командой:

powershell.exe -WindowStyle Hidden -File "C:\путь\к\screenshots_uploader.ps1"

Примечание: Убедитесь, что у вас разрешен запуск скриптов. Проверить текущую политику можно командой:

Get-ExecutionPolicy -List

Если напротив CurrentUser или LocalMachine не указано RemoteSigned или Unrestricted, разрешите запуск:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser