system/config/S3-GUIDE.md

S3 Beget — Руководство по подключению и структуре

Bucket: fe2c1d30dc11-gipir
Endpoint: https://s3.ru1.storage.beget.cloud
Credentials: system/config/credentials.yaml


Структура корня bucket'а

/mnt/beget-s3/
├── projects/               Данные проектов по серверам и клиентам
   ├── org/                Клиентские проекты (babyrisk, joker, lideravto, mcrm, pirotehnika)
   ├── lider/              Данные lideravto (парсинг, БД, промежуточные файлы)
   └── systemic-thinking/  Данные другого проекта
├── cache/                  HTML-кеш скрапера euroauto (папка euroauto/)
├── dl/                     Очереди URL и скрипты для парсера (download-списки)
├── up/                     Результаты парсинга (JSONL-файлы со scraped данными)
├── exchange/               Папка обмена файлами с Windows-машиной (Z:\)
├── git-backup/             Бэкапы git-репозиториев (tar.gz)
├── backups/                Бэкапы БД и конфигов сервера
├── _backup/                Старые бэкапы (legacy)
├── db_chunks/              Чанки БД для передачи больших SQLite-файлов
├── upload/                 Временная зона для загрузки файлов
├── euroauto_scraped.sqlite      Основная БД парсинга Евроавто (82 MB)
├── euroauto_scraped.sqlite.gz   Сжатая копия
├── supervisor.sh           Скрипт управления очередью парсера
└── queue_supervisor.log    Лог очереди

Подключение S3 на новом сервере (155 / AIPD)

Шаг 1 — Установить rclone

curl https://rclone.org/install.sh | sudo bash

Шаг 2 — Создать конфиг rclone

Взять access_key_id и secret_access_key из system/config/credentials.yaml на EU-сервере.

mkdir -p ~/.config/rclone
cat > ~/.config/rclone/rclone.conf << 'EOF'
[beget-s3]
type = s3
provider = Other
endpoint = https://s3.ru1.storage.beget.cloud
access_key_id = ПОДСТАВИТЬ_ИЗ_CREDENTIALS
secret_access_key = ПОДСТАВИТЬ_ИЗ_CREDENTIALS
acl = private
region = ru-1
no_check_bucket = true
EOF

Шаг 3 — Создать точку монтирования

mkdir -p /mnt/beget-s3

Шаг 4 — Монтировать

rclone mount beget-s3:fe2c1d30dc11-gipir /mnt/beget-s3 \
  --daemon \
  --allow-other \
  --vfs-cache-mode writes \
  --dir-cache-time 30s \
  --log-file /var/log/rclone-s3.log

Шаг 5 — Автомонтирование при старте (systemd)

cat > /etc/systemd/system/beget-s3.service << 'EOF'
[Unit]
Description=Beget S3 mount
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/rclone mount beget-s3:fe2c1d30dc11-gipir /mnt/beget-s3 \
  --allow-other \
  --vfs-cache-mode writes \
  --dir-cache-time 30s \
  --log-file /var/log/rclone-s3.log
ExecStop=/bin/fusermount -u /mnt/beget-s3
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable beget-s3
systemctl start beget-s3

Шаг 6 — Проверить

ls /mnt/beget-s3/
# Должны появиться: projects/ cache/ dl/ up/ exchange/ ...

Папка для сервера AIPD (155)

После монтирования создать свою папку:

mkdir -p /mnt/beget-s3/projects/aipd

Правило: всё что делает сервер AIPD — хранить в /mnt/beget-s3/projects/aipd/.

Рекомендуемая структура:

/mnt/beget-s3/projects/aipd/
├── lideravto/             ← Данные проекта lideravto
│   ├── backups/           ← Дампы БД lideravto-db
│   ├── imports/           ← CSV/SQLite для загрузки в Drupal
│   └── media/             ← Фото запчастей
├── cifra/                 ← Данные проекта cifra (если нужно)
└── backups/               ← Системные бэкапы сервера 155

Важно