Руководство по самостоятельному размещению Stirling-PDF: мощный PDF редактор для вашего сервера
Подробное руководство по установке и настройке Stirling-PDF - лучшего open-source PDF редактора. Узнайте, как самостоятельно разместить мощный инструмент для работы с PDF файлами на вашем сервере.
Не указано
Подготовка сервера
Обновление системы и установка необходимых пакетов
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl gitУстановка Docker
Установка Docker и добавление пользователя в группу docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker ${USER}Установка Docker Compose
Установка Docker Compose плагина
sudo apt install -y docker-compose-pluginНастройка Stirling-PDF
Создание директории и файла docker-compose.yml
mkdir stirling-pdf
cd stirling-pdf
nano docker-compose.ymlКонфигурация docker-compose.yml
Базовая конфигурация контейнера с аутентификацией
version: '3.8'
services:
stirling-pdf:
container_name: stirling-pdf
image: frooodle/s-pdf:latest
restart: always
ports:
- "8080:8080"
environment:
- DOCKER_ENABLE_SECURITY=true
- SECURITY_ENABLE_LOGIN=true
- SECURITY_USER_NAME=ваше_имя_пользователя
- SECURITY_USER_PASSWORD=ваш_пароль
- TIMEZONE=Europe/Moscow
volumes:
- ./logs:/logs
networks:
- stirling-pdf-network
networks:
stirling-pdf-network:
driver: bridgeЗапуск контейнера
Запуск Stirling-PDF в фоновом режиме
docker-compose up -dНастройка SSL/TLS
Настройка обратного прокси Nginx и SSL через Let's Encrypt
sudo apt install -y nginx
sudo nano /etc/nginx/sites-available/stirling-pdf
# Конфиг Nginx:
server {
listen 80;
server_name ваше_доменное_имя;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo ln -s /etc/nginx/sites-available/stirling-pdf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
# Установка Certbot:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d ваше_доменное_имяНастройка автоматического обновления SSL
Настройка cron для автоматического обновления сертификатов
sudo crontab -e
# Добавить строку:
45 3 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"Обновление Stirling-PDF
Процесс обновления до последней версии
cd stirling-pdf
docker-compose down
docker-compose pull
docker-compose up -dРезервное копирование
Создание скрипта и настройка автоматического резервного копирования
# Скрипт ~/backup-stirling-pdf.sh:
#!/bin/bash
BACKUP_DIR=~/backups/stirling-pdf
STIRLING_DIR=~/stirling-pdf
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="stirling-pdf_$TIMESTAMP.tar.gz"
tar -czf $BACKUP_DIR/$BACKUP_FILE \
-C $STIRLING_DIR \
--exclude=logs/*.log \
--exclude=cache \
--exclude=temp \
.
find $BACKUP_DIR -name "stirling-pdf_*.tar.gz" -mtime +30 -delete
echo "Бэкап создан: $BACKUP_DIR/$BACKUP_FILE"
# Настройка cron:
crontab -e
# Добавить строку:
0 2 * * * ~/backup-stirling-pdf.sh