Simple web UI for OpenVPN
Написана на Kotlin + Spring Boot 2 + AngularJS.
Для авторизации использует Keycloak.
- Ставим докер
- Ставим в докер Рostgres и Keycloak, не забыв поправить настройки:
docker run --name postgres -v /docker/data/postgresql/data:/var/lib/postgresql/data -v /docker/data/postgresql/init:/docker-entrypoint-initdb.d -e POSTGRES_USER=pgadmin -e POSTGRES_PASSWORD=pgadmin -p 127.0.0.1:5432:5432 -d postgres
docker run --name keycloak -p 127.0.0.1:8000:8080 -e KEYCLOAK_USER=root -e KEYCLOAK_PASSWORD=12345 -e DB_USER=keycloak -e DB_PASSWORD=keycloak -e DB_ADDR=127.0.0.1 -e DB_VENDOR=postgres -e PROXY_ADDRESS_FORWARDING=true -e jboss.https.port=443 -d jboss/keycloak
- создаем realm и пользователей в keycloak, правим в проекте application.yml в соответствии со сделанными настройками.
- если докер локальный, то делаем mvn clean install - оно соберет проект и сразу все задеплоит в докер.
- если докер на VPS, то mvn clean package, дальше копируем папку docker на VPS и там из нее запускаем ./deploy.sh openvpn-ui 1.0
- Один нужен для поднятия https на локалхосте. Самоподписанный.
- Второй содержит сертификаты бесплатного СА letsencrypt, поскольку не везде они есть по-умолчанию. Точнее, они есть в браузерах везде, а вот в хранилище java их может не быть. Сложил в гит, чтобы скачавшему проект не морочить голову с их генерацией.