tremolosecurity/openunisons2idockerThis image is the base "builder" image for OpenUnison. It is intended to be used with Source-To-Image (S2I).
S2I generates a new Docker image using source code and a builder Docker image. As the name implies, Source-To-Image is responsible for transforming application source into an executable Docker image. The builder image contains the specific intelligence required to produce that executable image.
More information on how to use and create builder images with S2I can be found here: [***]
OpenUnison is an open source identity management solution from Tremolo Security ([***] that provides:
Documentation is available at [***]
To use this image with S2I, one of the following must be passed to the s2i script:
This document makes the following assumptions about the deployment. Each of these is covered in more detail in the next section.
The OpenUnison build process follows a simple workflow that uses Apache Maven and the overlay plugin to combine your specific configurations and the standard OpenUnison build into a WAR file that is unique to your deployment. The WAR file is then integrated into the final container image.
!OpenUnison build diagram
There are a number of quick starts available in the Tremolo Security github repositories - [***] Each one has its own set of configuration variables and pre-requisites. This document uses the openunison-qs-simple project.
First, clone the quick start GitHub repository:
bash$ git clone [***]
Next, create a directory to hold the configuration files:
bash$ mkdir local $ cd local
Create Keystore and TLS Key
NOTE: Be sure to set the key password the same as the keystore password
bash$ keytool -genkeypair -storetype PKCS12 -alias unison-tls -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -keystore ./unisonKeyStore.p12 -validity 3650 Enter keystore password: Re-enter new password: What is your first and last name? [Unknown]: localhost.localdomain What is the name of your organizational unit? [Unknown]: demo What is the name of your organization? [Unknown]: demo What is the name of your City or Locality? [Unknown]: demo What is the name of your State or Province? [Unknown]: demo What is the two-letter country code for this unit? [Unknown]: demo Is CN=localhost.localdomain, OU=demo, O=demo, L=demo, ST=demo, C=demo correct? [no]: yes Enter key password for <unison-tls> (RETURN if same as keystore password):
Create the OpenUnison Session Key
NOTE: Be sure to set the key password the same as the keystore password
bash$ keytool -genseckey -alias session-unison -keyalg AES -keysize 256 -storetype PKCS12 -keystore ./unisonKeyStore.p12
Create a file called ou.env using the example below as a template. Enter the password used in the steps above to create the keystore/keys on the appropriate lines.
ou.env File
propertiesOU_HOST=localhost.localdomain TEST_USER_NAME=testuser TEST_USER_PASSWORD=secret_password unisonKeystorePassword=start123 unisonKeystorePath=/etc/openunison/unisonKeyStore.p12
Create the openunison.yaml file using the example below as a template:
NOTE: Do not change the path values in the openunison.yaml file below. Configuration changes in this file should be limited to the TLS configuration (i.e. changing the ciphers, adding client authentication, etc).
openunison.yaml
yaml--- open_port: 8080 open_external_port: 80 secure_port: 8443 secure_external_port: 443 secure_key_alias: "unison-tls" force_to_secure: true activemq_dir: "/tmp/amq" quartz_dir: "/tmp/quartz" client_auth: none allowed_client_names: [] ciphers: - TLS_RSA_WITH_RC4_128_SHA - TLS_RSA_WITH_AES_128_CBC_SHA - TLS_RSA_WITH_AES_256_CBC_SHA - TLS_RSA_WITH_3DES_EDE_CBC_SHA - TLS_RSA_WITH_AES_128_CBC_SHA256 - TLS_RSA_WITH_AES_256_CBC_SHA256 path_to_deployment: "/usr/local/openunison/work" path_to_env_file: "/etc/openunison/ou.env"
Before building the container image, download the S2I binary for your platform and add it to your path - [***]
Build the container image:
bash$ s2i build /path/to/my/root/myproject tremolosecurity/openunisons2idocker local/openunison
An image called 'local/openunison' will be created and added to your local Docker instance. The image contains OpenUnison and your configuration. Launch a container using the image with the following command. Be sure to replace /path/to/local with the appropriate value for your environment.
bash$ docker run -p 8443:8443 -v /path/to/local:/etc/openunison:Z -e JAVA_OPTS='-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' --name openunison local/openunison
OpenUnison should now be running. Access it by visiting https://localhost.localdomain:8443/ with the username testuser and the password secret_password (or the values used in the ou.env file, if different than the sample above):
!OpenUnison Login Page
After logging in:
!OpenUnison Login Page
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务