diff --git a/guacd/1.5.5/24.03-lts/Dockerfile b/guacd/1.5.5/24.03-lts/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..68225a2d9b492aa998cd334b2169cf01e73be191 --- /dev/null +++ b/guacd/1.5.5/24.03-lts/Dockerfile @@ -0,0 +1,40 @@ +ARG BASE=openeuler/openeuler:24.03-lts +FROM ${BASE} +ARG VERSION=1.5.5 +ARG PREFIX_DIR=/opt/guacamole +ARG UID=1000 +ARG GID=1000 +ARG GUACAMOLE_SERVER_OPTS="\ + --disable-guaclog" +RUN yum install -y git ffmpeg ffmpeg-devel openssl openssl-devel freerdp-plugins java-1.8.0-openjdk \ + libvncserver-devel vim libxkbfile-devel libX11-devel libXrandr-devel libXi-devel libXrender-devel \ + libXext-devel libXinerama-devel libXfixes-devel libXcursor-devel libXv-devel libXdamage-devel \ + libXtst-devel cups-devel cairo-devel pcsc-lite-devel uuid-devel libxml2-devel zlib-devel krb5-devel \ + libtiff-devel libtiff-devel libjpeg-turbo-devel giflib-devel wget cmake libusbx-devel pulseaudio-libs-devel \ + docbook-style-xsl pango-devel libvorbis-devel libwebsockets-devel libssh2-devel libwebp libwebp-devel \ + freerdp freerdp-devel libpng-devel libtool CUnit-devel nc + +ENV CFLAGS=-I${PREFIX_DIR}/include +ENV LDFLAGS=-L${PREFIX_DIR}/lib +ENV PKG_CONFIG_PATH=${PREFIX_DIR}/lib/pkgconfig + + +RUN cd /tmp && curl -fSL -o guacamole-server.tar.gz https://github.com/apache/guacamole-server/archive/refs/tags/${VERSION}.tar.gz && \ + mkdir guacamole-server && tar -zxvf guacamole-server.tar.gz -C guacamole-server --strip-components=1 && \ + cd guacamole-server && autoreconf -fi && \ + ./configure --prefix="$PREFIX_DIR" $GUACAMOLE_SERVER_OPTS && \ + make -j $(nproc) && make check && make install + +ENV LC_ALL=C.UTF-8 +ENV LD_LIBRARY_PATH=${PREFIX_DIR}/lib +ENV GUACD_LOG_LEVEL=info + +HEALTHCHECK --interval=5m --timeout=5s CMD nc -z 127.0.0.1 4822 || exit 1 + +RUN groupadd --gid $GID guacd +RUN useradd --system --create-home --shell /sbin/nologin --uid $UID --gid $GID guacd + +USER guacd +EXPOSE 4822 + +CMD /opt/guacamole/sbin/guacd -b 0.0.0.0 -L $GUACD_LOG_LEVEL -f \ No newline at end of file diff --git a/guacd/README.md b/guacd/README.md new file mode 100644 index 0000000000000000000000000000000000000000..89aa180e978cdc91521c32c125effa649190a004 --- /dev/null +++ b/guacd/README.md @@ -0,0 +1,50 @@ +# Quick reference + +- The official guacd docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# Guacd | openEuler +Current guacd docker images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +Guacd is the native server-side proxy used by the Apache Guacamole web application. If you wish to deploy Guacamole, or an application using the Guacamole core APIs, you will need a copy of guacamole-server running. + +Learn more on [Apache Guacamole-server Website](https://guacamole.apache.org/doc/gug/)⁠. + +# Supported tags and respective Dockerfile links +The tag of each `guacd` docker image is consist of the version of `guacd` and the version of basic image. The details are as follows +| Tag | Currently | Architectures | +|----------|-------------|------------------| +|[1.5.5-oe2403lts](https://gitee.com/openeuler/openeuler-docker-images/blob/master/guacd/1.5.5/24.03-lts/Dockerfile)| Apache guacamole-server 1.5.5 on openEuler 24.03-LTS | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` and `container startup options` based on their requirements. + +- Pull the `openeuler/guacd` image from docker + + ```bash + docker pull openeuler/guacd:{Tag} + ``` + +- Start a guacd instance + + ```bash + docker run -d --name my-guacd openeuler/guacd:{Tag} + ``` + After the instance `my-guacd` is started, guacd will be listening on port 4822, but this port will only be available to Docker containers that have been explicitly linked to my-guacd. + +- View container running logs + + ```bash + docker logs -f my-guacd + ``` + +- To get an interactive shell + + ```bash + docker exec -it my-guacd /bin/bash + ``` +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/guacd/doc/image-info.yml b/guacd/doc/image-info.yml new file mode 100644 index 0000000000000000000000000000000000000000..ff5b5fc595d156e034b5464c91bfb4b40c3f683f --- /dev/null +++ b/guacd/doc/image-info.yml @@ -0,0 +1,50 @@ +name: guacd +category: others +description: Guacd是Apache Guacamole项目的后端核心组件,负责实现客户端与远程计算机之间的连接与协议处理。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + Guacd镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[1.5.5-oe2403lts](https://gitee.com/openeuler/openeuler-docker-images/blob/master/guacd/1.5.5/24.03-lts/Dockerfile)| Apache guacamole-server 1.5.5 on openEuler 24.03-LTS | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/guacd:{Tag} + ``` + +usage: | + - 启动容器 + ``` + docker run -d --name my-guacd openeuler/guacd:{Tag} + ``` + 用户可根据自身需求选择对应版本的{Tag}。容器启动之后,guacd 将监听端口 4822,但该端口仅对已明确链接到 my-guacd 的 Docker 容器可用。。 + + - 容器测试 + + 查看运行日志 + ``` + docker logs -f my-guacd + ``` + + 使用shell交互 + ``` + docker exec -it my-guacd /bin/bash + ``` + +license: Apache-2.0 license +similar_packages: + - NoVNC: 提供基于浏览器的 VNC 客户端,通过 WebSocket 和 HTTP 进行通信。 + - XRDP: 一个支持 Remote Desktop Protocol (RDP) 的开源服务器。 +dependency: + - Cairo + - libjpeg-turbo + - libpng + - OSSP UUID + - nc diff --git a/guacd/doc/picture/logo.png b/guacd/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..00c325071ed0629f4a8eb43822388be41b0fad52 Binary files /dev/null and b/guacd/doc/picture/logo.png differ diff --git a/guacd/meta.yml b/guacd/meta.yml new file mode 100644 index 0000000000000000000000000000000000000000..0ced6f578f6bf54986512e0f7e63dd5e99e5705b --- /dev/null +++ b/guacd/meta.yml @@ -0,0 +1,2 @@ +1.5.5-oe2403lts: + path: guacd/1.5.5/24.03-lts/Dockerfile \ No newline at end of file