Полный комплект для развертывания 1С:Предприятие 8.3 с PostgreSQL и USB HASP эмулятором.
- 1С:Предприятие 8.3.27.1989 (сервер + веб-клиент)
- PostgreSQL 14 (база данных)
- Apache 2.4 (веб-сервер)
- USB HASP Эмулятор (защита лицензий)
# Запустить контейнеры
docker-compose up -d
# Проверить статус
docker exec -it onec-server /opt/1cv8/x86_64/8.3.27.1989/rac cluster list onec-server:1541
# Веб-интерфейс
# http://localhost/wscd hasp-emulator-backup
sudo bash docs/install.shПодробная документация: hasp-emulator-backup/README.md
1cserver/
├── docker-compose.yml # Конфигурация Docker
├── Dockerfile # Образ 1С сервера
├── Dockerfile.postgres # Образ PostgreSQL
├── install-1c.sh # Скрипт установки 1С
├── distrib/ # Дистрибутивы 1С
├── logs/ # Логи Apache
├── hasp-emulator-backup/ # USB HASP эмулятор
│ ├── modules/ # Модули ядра
│ ├── keys/ # Ключи лицензий
│ ├── scripts/ # Исполняемые файлы
│ ├── systemd/ # Systemd службы
│ ├── docs/ # Документация
│ └── README.md # Инструкция по установке
└── hasp-emulator-backup-*.tar.gz # Архив для развертывания
| Порт | Сервис | Описание |
|---|---|---|
| 80 | Apache | HTTP веб-сервер |
| 443 | Apache | HTTPS (требует настройки SSL) |
| 1540-1541 | 1С | Центральный сервер кластера |
| 1560-1591 | 1С | Рабочие процессы |
| 5432 | PostgreSQL | База данных |
docker exec -it onec-server bash# Apache
service apache2 status
# 1С сервер
ps aux | grep ragent
# Логи
tail -f /logs/apache_access.log
tail -f /logs/wsap_debug.logdocker exec -it onec-server bash
# Получить ID кластера
CLUSTER_ID=$(/opt/1cv8/x86_64/8.3.27.1989/rac cluster list onec-server:1541 | grep "cluster" | awk '{print $3}')
# Создать базу
/opt/1cv8/x86_64/8.3.27.1989/rac infobase \
--cluster=$CLUSTER_ID \
create \
--name=test_base \
--dbms=PostgreSQL \
--db-server=postgres \
--db-name=test_db \
--db-user=postgres \
--db-pwd=postgres \
--locale=ru# Статус
sudo systemctl status usbhaspemul
# Перезапуск
sudo systemctl restart usbhaspemul
# Проверка USB устройства
lsusb | grep HASP
# Логи
sudo journalctl -u usbhaspemul -f1С контейнер настроен на использование HASP ключей через сеть:
# docker-compose.yml
environment:
HASP_REALTIME_SERVER: 172.18.0.1 # IP хоста в Docker сетиПроверка доступности:
# Проверить Sentinel LDK на хосте
sudo systemctl status hasplmd aksusbd
sudo ss -tulpn | grep 1947
# Проверить из контейнера
docker exec onec-server bash -c "timeout 2 bash -c 'cat < /dev/null > /dev/tcp/172.18.0.1/1947' && echo 'OK'"Конфигурация nethasp.ini:
Файл /opt/1cv8/conf/nethasp.ini в контейнере:
[NH_COMMON]
NH_TCPIP = Enabled
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_SERVER_ADDR = 172.18.0.1- Открыть веб-интерфейс: http://localhost/ws
- Создать информационную базу
- Проверить лицензии: Справка → О программе → Лицензии
Должно отображаться: 1C:Enterprise 8.x, 20 licenses
Если 1С еще не установлена:
docker exec -it onec-server bash /install-1c.sh
docker-compose restart onec-servercd hasp-emulator-backup
sudo bash docs/install.shПосле установки HASP эмулятора:
# Проверить, что Sentinel LDK работает
sudo systemctl status hasplmd aksusbd
# Проверить порт 1947
sudo ss -tulpn | grep 1947
# Перезапустить 1С контейнер
cd ~/1cserver
docker-compose restart onec-server
# Проверить доступность HASP из контейнера
docker exec onec-server bash -c "timeout 2 bash -c 'cat < /dev/null > /dev/tcp/172.18.0.1/1947' && echo '✅ HASP доступен' || echo '❌ HASP недоступен'"- Создать JSON файл с ключом (формат в
hasp-emulator-backup/docs/JSON_FORMAT.md) - Скопировать в
/etc/usbhaspkey/ - Перезапустить службу:
sudo systemctl restart usbhaspemul
# База данных
docker exec postgres pg_dump -U postgres test_db > backup_$(date +%Y%m%d).sql
# Конфигурация 1С
docker cp onec-server:/opt/1cv8/conf ./1c-conf-backup
# HASP ключи
sudo cp -r /etc/usbhaspkey ./hasp-keys-backup# База данных
cat backup.sql | docker exec -i postgres psql -U postgres test_db
# HASP ключи
sudo cp hasp-keys-backup/*.json /etc/usbhaspkey/
sudo systemctl restart usbhaspemul# Проверить логи
docker logs onec-server
docker exec -it onec-server tail -f /var/log/1c/rphost.log# Проверить модули
lsmod | grep vhci
# Проверить службу
sudo systemctl status usbhaspemul
# Проверить USB
lsusb | grep HASP
# Проверить Sentinel LDK
sudo systemctl status hasplmd aksusbd
sudo ss -tulpn | grep 1947
# Проверить доступность из контейнера
docker exec onec-server bash -c "timeout 2 bash -c 'cat < /dev/null > /dev/tcp/172.18.0.1/1947' && echo 'OK'"# Проверить переменную окружения
docker exec onec-server env | grep HASP
# Проверить конфигурацию
docker exec onec-server cat /opt/1cv8/conf/nethasp.ini
# Перезапустить контейнер
docker-compose restart onec-server# Проверить контейнер
docker ps | grep postgres
# Проверить логи
docker logs postgresДля настройки HTTPS:
- Добавить сертификаты в контейнер
- Обновить конфигурацию Apache
- Перезапустить контейнер
- Ubuntu 22.04 LTS
- Kernel 6.8+ (для HASP эмулятора)
- Docker & Docker Compose
- 4GB RAM минимум
- 20GB свободного места
- HASP Эмулятор - установка и настройка
- Формат ключей - создание JSON дампов
- Список файлов - описание компонентов
Версия: 1.0
Дата: 2026-03-10
Система: Ubuntu 22.04.5 LTS / Kernel 6.8.0-101