веб-панель в Docker для внутреннего центра сертификации
646
🚀 Быстрый старт
mkdir -p /opt/ca/db
docker run -d \
--name ca \
-p 5000:5000 \
-v /opt/ca/db:/app/ca \
alex89102/ca-web:latest
⚡ При первом запуске:
🧩 docker-compose пример
services:
ca-web:
image: alex89102/ca-web:latest
container_name: ca
restart: always
ports:
- "5000:5000"
volumes:
- /opt/ca:/app/ca
env_file:
- .env
Запуск:
docker compose up -d
📁 Структура каталога после запуска
/ca/
├── certs/
├── crl/
├── newcerts/
├── private/
├── serial
├── index.txt
├── openssl.cnf
├── config.json ← настройки DN и промежуточных CA
└── audit.log ← журнал действий пользователей
🔧 Пример конфигурации config.json
{
"DEFAULT_DN": {
"C": "RU",
"ST": "",
"L": "",
"O": "",
"OU": ""
},
"INTERMEDIATES": {
"ICA1": {
"CN": "Intermediate CA"
}
}
}
🧠 Основные возможности
🌐 Доступ
После запуска открой браузер:
http://<IP_сервера>:5000
или локально:
🔐 Авторизация администратора
Для входа в веб-панель используется переменная окружения CA_USERS, в которой указываются логин и пароль администратора через двоеточие.
Пример .env:
CA_USERS=admin:admin
⚠️ Файл .env должен находиться в том же каталоге, что и docker-compose.yml.
Дополнительные замечания
Можно указать несколько пользователей через запятую:
CA_USERS=admin:admin,user1:pass123,user2:qwerty
Если .env не указан, будет создана учётная запись admin:admin по умолчанию.
Переменная CA_USERS автоматически читается приложением при старте.
💡 Совет: Для безопасности рекомендуется задать сложные пароли и хранить .env вне публичного доступа (например, в /opt/ca/.env с правами 600).
🔄 Обновление контейнера
docker compose pull
docker compose up -d
Все данные (Root / Intermediate / Certificates / Logs / Config) сохраняются в ca
🧱 Сброс CA
Если нужно полностью переинициализировать CA:
docker compose down
rm -rf /opt/ca
docker compose up -d
🧰 Полезные команды
Просмотреть действующие сертификаты:
docker exec -it ca ls /app/ca/certs
Посмотреть текущий config.json:
docker exec -it ca cat /app/ca/config.json
Просмотреть журнал действий:
docker exec -it ca tail -f /app/ca/audit.log
🧩 Информация
Content type
Image
Digest
sha256:3501084c5…
Size
53.1 MB
Last updated
3 months ago
docker pull alex89102/ca-web