Synology NAS может выполнять роль принт-сервера, позволяя печатать документы по сети без необходимости постоянно держать компьютер включённым. В этой статье я расскажу, как настроить печать через CUPS (Common UNIX Printing System) на примере HP LaserJet Professional M1132 MFP, подключённого по USB.
Это актуально для старых принтеров, у которых имеется только USB-порт, без LAN и WiFi.
В качестве рабочей отправной точки я использовал репозиторий: https://github.com/ziwork/synology-airprint
Перед запуском Docker Container на DSM7 Synology запустите эти команды в терминале SSH:
-
sudo synosystemctl stop cupsd
-
sudo synosystemctl stop cups-lpd
-
sudo synosystemctl stop cups-service-handler
-
sudo synosystemctl disable cupsd
-
sudo synosystemctl disable cups-lpd
-
sudo synosystemctl disable cups-service-handler
В качестве терминала я использую PuTTY
1. Подключение принтера к Synology
Подключите HP LaserJet Professional M1132 MFP к USB-порту Synology NAS и убедитесь, что устройство распознано.
Войдите в NAS через SSH и выполните команду:
lsusb
Ожидаемый вывод должен содержать строку, например:
__1-1 03f0:042a:0100 00 2.00 480MBit/s 98mA 3IFs (Hewlett-Packard HP LaserJet Professional M1132 MFP)
2. Развёртывание CUPS в Docker через Jenkins
Я использую для развертывания контейнеров Jenkins, так как он дает больше гибкости и возможностей. Я точно не помню, какой инструкцией я пользовался для его развертывания, возможно эта: https://www.christian-knedel.de/ru/post/2021/march/20210321-docker-jenkins/
Также Jenkins я использовал, так как по умолчанию у меня не выполнялись команды docker для развертывания контейнера даже через sudo и пришлось сделать много настроек, чтобы решить эту проблему. В общем Jenkins - проще :)
Тем не менее команда Docker, если не будете использовать Jenkins:
docker run --name cups --restart unless-stopped --net host
--device=/dev/bus/usb:/dev/bus/usb
--privileged
-v /volume1/docker/cups/services:/services
-v /volume1/docker/cups/config:/config
-e CUPSADMIN=admin
-e CUPSPASSWORD=password
linuxserver/cups
Шаг 1: Создание директорий для CUPS
Перед развёртыванием создадим папки для хранения конфигурации:
mkdir -p /volume1/docker/cups/services
mkdir -p /volume1/docker/cups/config
chmod -R 777 /volume1/docker/cups
Шаг 2: Настройка Jenkins Pipeline
Если CUPS должен развернуться автоматически через Jenkins, создайте Jenkins Pipeline со следующим Jenkinsfile:
pipeline {
agent any
environment {
CUPS_CONTAINER_NAME = "cups"
CUPS_IMAGE = "linuxserver/cups"
SERVICES_DIR = "/volume1/docker/cups/services"
CONFIG_DIR = "/volume1/docker/cups/config"
CUPS_ADMIN = "admin"
CUPS_PASSWORD = "password"
}
stages {
stage('Cleanup old container') {
steps {
script {
def isExisting = sh(script: "docker ps -aq -f name=${CUPS_CONTAINER_NAME}", returnStdout: true).trim()
if (isExisting) {
echo "Stopping and removing old container..."
sh "docker stop ${CUPS_CONTAINER_NAME} || true"
sh "docker rm ${CUPS_CONTAINER_NAME} || true"
} else {
echo "Container ${CUPS_CONTAINER_NAME} does not exist. Skipping removal."
}
}
}
}
stage('Deploy CUPS Container') {
steps {
script {
sh """
docker run --name ${CUPS_CONTAINER_NAME} --restart unless-stopped --net host
--device=/dev/bus/usb:/dev/bus/usb
--privileged
-v ${SERVICES_DIR}:/services
-v ${CONFIG_DIR}:/config
-e CUPSADMIN=${CUPS_ADMIN}
-e CUPSPASSWORD=${CUPS_PASSWORD}
${CUPS_IMAGE}
"""
}
}
}
stage('Verify CUPS is Running') {
steps {
script {
def isRunning = sh(script: "docker ps -q -f name=${CUPS_CONTAINER_NAME}", returnStdout: true).trim()
if (isRunning) {
echo "CUPS контейнер успешно запущен!"
} else {
error "CUPS контейнер не запустился!"
}
}
}
}
}
post {
success {
echo "CUPS успешно развернут через Jenkins!"
}
failure {
echo "Ошибка при развертывании CUPS контейнера."
}
}
}
Шаг 3: Запуск пайплайна
-
Создайте новый Jenkins Pipeline Job.
-
Вставьте код в Pipeline Script в Jenkins.
-
Запустите Pipeline – он автоматически развернёт CUPS.

После успешного запуска CUPS Web UI будет доступен по адресу: http://<IP вашего NAS>:631
3. Добавление принтера в CUPS
Шаг 1: Открываем CUPS Web UI
Перейдите в браузере на страницу CUPS:
http://<IP вашего NAS>:631
Затем войдите с admin/password.
Шаг 2: Добавление принтера
-
Перейдите в Administration → Add Printer.
-
Выберите принтер в списке usb://HP/LaserJet_Professional_M1132_MFP.
-
Выберите драйвер:
-
Если HP LaserJet Professional M1132 MFP есть в списке — выберите его.
-

После добавления выполните Print Test Page, чтобы убедиться, что печать работает.
4. Установка проприетарного плагина HP (HPLIP Plugin)
Для корректной работы драйвера HP потребуется HPLIP Plugin.
Шаг 1: Установка плагина
Войдите в контейнер:
docker exec -it cups bash
Скачайте HPLIP Plugin:
wget https://developers.hp.com/sites/default/files/hplip-3.21.12-plugin.run
chmod +x hplip-3.21.12-plugin.run
Запустите установку:
./hplip-3.21.12-plugin.run
Согласитесь с установкой плагина (Yes).
Шаг 2: Перезапуск CUPS
После установки плагина перезапустите CUPS:
docker restart cups
Теперь попробуйте снова напечатать тестовую страницу через CUPS UI.
5. Настройка печати на Windows 11
-
Откройте Параметры → Принтеры и сканеры.
-
Нажмите Добавить принтер или сканер.
-
Принтер должен быть предложен автоматически:
-
Если Windows не нашла принтер, нажмите "Принтер, который мне нужен, отсутствует в списке".
-
Выберите "Добавить принтер по IP-адресу", введите:
http://<IP Synology>:631/printers/HP_LaserJet_Professional_M1132_MFP
-
Выберите подходящий драйвер
-
Завершите настройку и попробуйте распечатать тестовую страницу.
6. Настройка печати на Android
На Android принтер должен быть доступен автоматически при выборе функции печати в любом приложении

Обо мне
Проектирую солюшн и архитектуру приложений в крупной компании Казахстана. Специализируюсь на low-code решениях, платформенном инжиниринге и DDD.
https://solution-architect.kz
Веду блог в телеграм канале на русском языке https://t.me/architectkz
Заключение
Теперь ваш Synology NAS выполняет роль принт-сервера, и вы можете печатать с любого устройства в сети, включая Windows и Android.
Если у вас другой принтер, процесс будет аналогичным, но могут понадобиться другие драйверы.
Теперь печать работает без необходимости держать ПК включённым!
Автор: manifest1