恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Rundeck 官方 Docker 镜像部署与配置实战指南:持久化、安全、SSH 密钥与全部环境变量详解

  • 首页
  • 资讯中心
  • /
  • Rundeck 官方 Docker 镜像部署与配置实战指南:持久化、安全、SSH 密钥与全部环境变量详解

相关资讯

Android 向后兼容 UI 实战:为 Action Bar Tabs 抽象出新 API 层(android-training-course-in-chinese 课程解析) 2026/10/6 12:07:53
Haraka dkim_verify 插件指南:RFC 6376 签名验证、Authentication-Results 头生成与命令行调试 2026/10/6 12:07:53
CodeQL C++ 未初始化局部变量查询(cpp/uninitialized-local)的误报治理:0.8.3 改进与 MustFlow 实现原理 2026/10/6 12:07:53

最新资讯

从导通角到供电策略:功率放大器A/B/AB/D/G/H类全解析
海塔尔服务器存档迁移全攻略:备份、替换、配置与验证
SeaTunnel配置案例:MySQL实时同步ClickHouse全流程
美团API对接Java时区问题排查:从时间戳到Docker配置
Mac mini 搭建家庭本地 AI 工作流:Ollama + n8n 实战指南
Agent-Reach:本地轻量级Agent数据获取枢纽

今日推荐

2026 AI 开发全家桶落地指南:TaoToken 统一 Key 打通 IDE 插件、Agent 与自动化代码审查全链路配置实测
MR25H40CDF+STM32F031C6工业级高可靠数据存储方案
MRAM+STM32工业断电数据保全实战指南

本周热门

MR25H40CDF + PIC18F65K40:工业记录仪高可靠存储实战
基于STM32的数控恒压恒流电源设计:从硬件到PID调参全解析
LT9211 MIPI重定时器原理与双路扇出实战指南

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

Rundeck 官方 Docker 镜像部署与配置实战指南:持久化、安全、SSH 密钥与全部环境变量详解

发布时间:2026/10/6 12:07:53
Rundeck 官方 Docker 镜像部署与配置实战指南:持久化、安全、SSH 密钥与全部环境变量详解 运维任务调度后端【免费下载链接】rundeckEnable Self-Service Operations: Give specific users access to your existing tools, services, and scripts项目地址https://gitcode.com/gh_mirrors/ru/rundeck点击查看免费下载本篇技术指南以仓库中 docker/official/README.md 为核心系统讲解 Rundeck 官方 Docker 镜像rundeck/rundeck的部署方式、数据持久化、安全加固、SSH 密钥注入、JVM 堆内存控制、Key Storage 加密、JAAS 用户认证、容器插件加载以及 Remco 模板化配置扩展。读者学完后可以独立完成一个生产可用的 Rundeck 容器环境的搭建与调优并理解镜像内部配置生成机制的底层原理。一、镜像概览与支持的 Tag官方镜像rundeck/rundeck维护在仓库的 docker/official 目录下其 Dockerfile 从rundeck/ubuntu-base基础镜像构建核心逻辑分为三步COPY --chownrundeck:root .build . RUN java -jar rundeck.war --installonly --basedir /home/rundeck即将构建好的rundeck.war拷贝进镜像通过--installonly模式完成一次性的安装展开生成server/config、server/data等目录之后以非 root 用户rundeck运行。镜像暴露4440端口入口点为tini监督下的docker-lib/entry.sh见 Dockerfile。镜像支持的 Tag 如下SNAPSHOTmain 分支的最新构建产物3.0.20当前最新 3.0 稳定版本3.0.19、3.0.18、3.0.17、3.0.16、3.0.15、3.0.14、3.0.13、3.0.12、3.0.11、3.0.9、3.0.8、3.0.7、3.0.6、3.0.5、3.0.3历史维护版本。注意Tag 列表是快照性质的发布新版本后会滚动更新日常使用建议固定到具体的 3.0.x 版本号避免使用SNAPSHOT带来的不确定性。二、启动 Rundeck 容器最简命令最简启动方式只需一条命令Docker 会自动从仓库拉取镜像并运行docker run -p 4440:4440 rundeck/rundeck启动完成后浏览器访问http://宿主机IP:4440即可进入 Rundeck Web 界面。默认管理员账户为admin/admin首次登录后建议立即修改密码。镜像内置了两条匿名卷声明见 DockerfileVOLUME [/home/rundeck/server/data] VOLUME [/home/rundeck/var/logs]这意味着即使不显式挂载Docker 也会为这两个路径分配匿名卷用于保存数据库文件与运行日志。三、数据持久化命名卷与自定义挂载Rundeck 的核心状态H2 数据库文件、Key Storage、项目配置等都落在/home/rundeck/server/data下。若不做持久化容器删除后所有数据将随之丢失。官方推荐使用 Docker 命名卷这是最简洁、最不易出错的持久化方式docker run --name some-rundeck \ -v data:/home/rundeck/server/data \ -p 4440:4440 \ rundeck/rundeck该命令会创建一个名为data的命名卷并挂载到/home/rundeck/server/data。后续容器升级更换镜像 Tag时只要复用同一个命名卷数据即可完整保留。需要把数据存放在宿主机指定目录时也可以替换为 bind mountdocker run --name some-rundeck \ -v /opt/rundeck/data:/home/rundeck/server/data \ -p 4440:4440 \ rundeck/rundeck从 rundeck-config.properties 模板 可以看到默认数据库正是落在此目录下的 H2 文件库dataSource.url jdbc:h2:file:/home/rundeck/server/data/grailsdb;DB_CLOSE_ON_EXITFALSE四、安全说明环境变量与本地任务执行容器内本地执行的 Job 以rundeck用户身份运行与服务器进程是同一个用户因此这些 Job 有可能读取到启动服务器时携带的环境变量。为了降低安全风险镜像默认在启动 Rundeck 之前清除所有以RUNDECK_开头的环境变量。这一行为在入口脚本 entry.sh 中有明确实现# Unset all RUNDECK_* environment variables if [[ ${RUNDECK_ENVARS_UNSETALL:-true} true ]] ; then unset env | awk -F {print $1} | grep -e ^RUNDECK_ fi即RUNDECK_ENVARS_UNSETALL默认为true会一次性清空所有RUNDECK_*变量。如果你需要精细控制哪些变量保留、哪些清除可将其设为false再用RUNDECK_ENVARS_UNSETS指定需要清除的变量列表详见下文环境变量章节。五、注入 SSH 私钥Rundeck 通过 SSH 执行远程节点上的命令与文件分发。镜像默认的 SSH 密钥路径是/home/rundeck/.ssh/id_rsa见 framework.properties 模板。将宿主机的私钥目录挂载进该路径即可docker run --name some-rundeck \ -v /home/protip/.ssh:/home/rundeck/.ssh \ rundeck/rundeck适用于两种典型场景Kubernetes 部署可将私钥通过 Secret 挂载进 Pod实现密钥与容器生命周期解耦使用 Rundeck Key Storage将私钥存入 Rundeck 自身的密钥库Key Storage由 SSH 插件在运行时读取私钥不会直接出现在宿主机文件系统或容器镜像层中。六、控制 JVM 堆内存分配Rundeck 运行在 JVM 之上容器环境下的堆内存需要通过 cgroup 感知来合理分配。镜像入口脚本entry.sh启动 Java 时显式传入exec java \ -XX:MaxRAMPercentage${JVM_MAX_RAM_PERCENTAGE} \ ... -jar rundeck.warJVM_MAX_RAM_PERCENTAGE的默认值由 100_defaults.sh 定义为75即 JVM 最多使用容器内存限制的 75% 作为堆内存。这意味着docker run -m 1024m rundeck/rundeck会得到一个上限约 768MB 的 Java 堆。若希望堆更小可设置-e JVM_MAX_RAM_PERCENTAGE50此时堆上限约为容器限制的一半。早期版本的镜像使用JVM_MAX_RAM_FRACTIONRAM 比率默认 1控制堆大小而当前仓库使用的JVM_MAX_RAM_PERCENTAGE与之语义不同百分比。以当前镜像实际支持的变量为准。七、Key Storage 安全启用加密转换器Key Storage 用于保存 SSH 私钥、密码等敏感凭据。默认情况下Key Storage 的数据存储在数据库db类型的 provider中且加密转换器处于禁用状态——即凭据以明文形式入库。要启用加密只需为默认的 AES-GCM 加密转换器提供密码docker run ... \ -e RUNDECK_STORAGE_CONVERTER_1_CONFIG_PASSWORDsupersecret \ -e RUNDECK_CONFIG_STORAGE_CONVERTER_1_CONFIG_PASSWORDsupersecret \ rundeck/rundeck其中RUNDECK_STORAGE_CONVERTER_1_CONFIG_PASSWORD为 Key Storagerundeck.storage.converter.1提供加密密码RUNDECK_CONFIG_STORAGE_CONVERTER_1_CONFIG_PASSWORD为项目配置存储rundeck.config.storage.converter.1提供加密密码。两者可只设置其一也可以同时设置。从 rundeck-config-storage.properties 模板 可以看出其底层映射关系rundeck.storage.converter.1.type aes-gcm-encryption rundeck.storage.converter.1.pathkeys rundeck.storage.converter.1.config.passwordRUNDECK_STORAGE_CONVERTER_1_CONFIG_PASSWORD而默认存储 provider 则回退为db类型rundeck.storage.provider.1.typedb rundeck.storage.provider.1.pathkeys重要警告不建议在项目已经初始化之后再开启/关闭加密。因为加密状态变更后历史明文数据与加密数据的存取路径与格式不再一致可能导致已有凭据无法读取。请在首次启动、创建项目之前就规划好加密策略。八、用户认证Authentication8.1 默认方式realm.properties 属性文件默认认证方案基于/home/rundeck/server/config/realm.properties文件PropertyFileLoginModule。容器启动时可通过挂载或替换该文件来管理更多用户docker run ... \ -v /path/to/realm.properties:/home/rundeck/server/config/realm.properties \ rundeck/rundeck从 jaas-loginmodule.conf 模板 可以看到当未显式指定任何 JAAS 模块时模板会回退写入一个默认的PropertyFileLoginModuleorg.rundeck.jaas.PropertyFileLoginModule required debugtrue file/home/rundeck/server/config/realm.properties;8.2 JAAS 模块组合镜像支持通过环境变量组合多个 JAAS 登录模块。约定如下模块列表按顺序用RUNDECK_JAAS_MODULES_N列出要加载的模块名例如RUNDECK_JAAS_MODULES_0JettyCombinedLdapLoginModule RUNDECK_JAAS_MODULES_1PropertyFileLoginModule配置键前缀RUNDECK_JAAS_LDAP_* # LDAP 模块的配置 RUNDECK_JAAS_FILE_* # 属性文件模块的配置命名约定模块名与官方文档中的名称保持一致配置键对应官方文档中列出的配置项全部转为大写、且合并为一个单词。模板 jaas-loginmodule.conf 支持以下模块模块名底层实现类说明JettyCachingLdapLoginModulecom.dtolabs.rundeck.jetty.jaas.JettyCachingLdapLoginModuleLDAP 认证带缓存JettyCombinedLdapLoginModulecom.dtolabs.rundeck.jetty.jaas.JettyCombinedLdapLoginModuleLDAP 认证 角色查询JDBCLoginModuleorg.eclipse.jetty.security.jaas.spi.JDBCLoginModule数据库表认证PropertyFileLoginModuleorg.rundeck.jaas.PropertyFileLoginModulerealm.properties 文件认证ReloadablePropertyFileLoginModuleorg.rundeck.jaas.ReloadablePropertyFileLoginModule可热重载的属性文件认证JettyRolePropertyFileLoginModuleorg.rundeck.jaas.jetty.JettyRolePropertyFileLoginModule角色来源为属性文件的认证LDAP 模块支持RUNDECK_JAAS_LDAP_*下的丰富配置项例如providerurlLDAP 服务地址、binddn/bindpassword绑定账号、userbasedn、userrdnattribute默认cn、rolebasedn、rolememberattribute默认uniqueMember、roleprefix、cachedurationmillis默认600000即 10 分钟缓存、nestedgroups嵌套组支持等。8.3 预认证模式Preauthenticated Mode镜像还内置了对预认证反向代理认证模式的支持相关配置项将在下文环境变量章节完整列出其模板映射位于 rundeck-config.properties 模板 中rundeck.security.authorization.preauthenticated.enabledRUNDECK_PREAUTH_ENABLED rundeck.security.authorization.preauthenticated.attributeNameRUNDECK_PREAUTH_ATTRIBUTE_NAME rundeck.security.authorization.preauthenticated.delimiterRUNDECK_PREAUTH_DELIMITER rundeck.security.authorization.preauthenticated.userNameHeaderRUNDECK_PREAUTH_USERNAME_HEADER rundeck.security.authorization.preauthenticated.userRolesHeaderRUNDECK_PREAUTH_ROLES_HEADER rundeck.security.authorization.preauthenticated.redirectLogoutRUNDECK_PREAUTH_REDIRECT_LOGOUT rundeck.security.authorization.preauthenticated.redirectUrlRUNDECK_PREAUTH_REDIRECT_URL九、Container Plugins容器插件的加载对于将 Rundeck 动态文件系统部分挂载到独立卷的容器化部署可以通过/home/rundeck/container-plugins/目录注入外部插件。镜像启动时会将该目录下的内容自动纳入libext插件目录docker run ... \ -v /path/to/plugins:/home/rundeck/container-plugins \ rundeck/rundeck其实现位于 110_sideload_container_plugins.shfind /home/rundeck/container-plugins/ -mindepth 1 -name * -exec cp -r {} /home/rundeck/libext/ \;注意这里使用cp复制而非移动注释中给出的原因是复制所需的文件系统权限更少且在容器环境中通常也并不会真正节省空间。十、Remco 模板化配置扩展配置的机制镜像的核心配置framework.properties、rundeck-config.properties、jaas-loginmodule.conf、log4j2.properties等均由 Remco 从模板生成。Remco 支持多种 key/value 来源如 Vault、etcd、DynamoDB 等而官方镜像默认使用环境变量作为配置来源。配置文件 remco/config.toml 定义了加载方式retries 0 include_dir ${REMCO_RESOURCE_DIR} [default_backends] [default_backends.env] onetime true keys [/rundeck]即一次性onetime从以/rundeck为前缀的环境变量读取配置。入口脚本 entry.sh 先运行remco -config /etc/remco/config.toml再把生成的各个配置片段合并到最终文件cat ${REMCO_TMP_DIR}/framework/* etc/framework.properties cat ${REMCO_TMP_DIR}/rundeck-config/* server/config/rundeck-config.properties cat ${REMCO_TMP_DIR}/artifact-repositories/* server/config/artifact-repositories.yaml扩展配置的方式如果你需要的配置项不在镜像提供的环境变量映射表中需要构建一个派生镜像在/etc/remco/templates/下追加自己的模板文件并在resources.d/中注册对应的资源配置。仓库中已有全套模板可供参考remco/templates 与 remco/resources.d。模板生成体系覆盖的配置面非常广例如framework.properties服务器地址、端口、SSH 默认参数、全局变量rundeck-config.properties数据库、预认证、API token 时长、GUI 起始页、指标等jaas-loginmodule.conf登录模块组合log4j2.properties日志策略与各类专项日志rundeck-config-storage.propertiesKey Storage 的 provider 与 converterrundeck-config-quartz.propertiesQuartz 调度线程池rundeck-config-mail.properties邮件通知rundeck-config-csp.propertiesCSP 等安全响应头。十一、环境变量完整参考官方文档中列出的 Rundeck 配置并非全部都能通过环境变量设置完整可用的变量以 remco/templates 下的模板为准。以下是 README 中列举的全部环境变量。11.1 JVM 与运行参数JVM_MAX_RAM_PERCENTAGE75JVM 使用容器内存上限的x%作为堆内存。例如设置为50则堆最多使用容器限制的一半。默认值为75。此值直接注入-XX:MaxRAMPercentage见 entry.sh。RUNDECK_SERVER_UUID用于标识集群中运行的多个 Rundeck 实例。为方便快速上手镜像内置了一个固定默认值见 100_defaults.sh硬编码为a14bc3e6-75e8-4fe4-a90d-a16dcc976bf6。多节点/高级部署时必须手动为每个实例设置唯一 UUID。另外若设置RUNDECK_SERVER_UUIDRANDOM入口脚本会在启动时调用uuidgen生成新 UUID 并写入配置见 entry.sh。11.2 网络与服务地址RUNDECK_GRAILS_URLhttp://127.0.0.1:4440控制应用生成链接、重定向等场景使用的基准 URL即用户访问站点所用的地址。部署在反向代理后或修改对外端口时必须设置为外部可达地址。RUNDECK_SERVER_CONTEXTPATH/设置 Rundeck 运行所在的路径例如http://localhost/rundeck对应的 context-path 为/rundeck。适用于在反向代理下按主机名子路径托管 Rundeck 的场景。RUNDECK_SERVER_FORWARDEDfalse运行在反向代理之后时设为true。若代理承担 TLS 终止还必须正确设置X-Forwarded-Proto请求头。该值在 entry.sh 中被保存后以-Drundeck.jetty.connector.forwarded传给 JVM且会在环境变量清理后依然生效。RUNDECK_SERVER_ADDRESS0.0.0.0容器内应用尝试绑定的地址或主机名默认监听所有网卡接口。11.3 上传与文件RUNDECK_GRAILS_UPLOAD_MAXSIZE同时控制 Grails 控制器的maxFileSize与maxRequest以及 Rundeck fileUploadService 临时文件配置中的maxsize。内部默认约为25MiB即26214400字节。11.4 数据库RUNDECK_DATABASE_URL默认值为jdbc:h2:file:/home/rundeck/server/data/grailsdb;DB_CLOSE_ON_EXITFALSE即默认使用 H2 文件数据库文件位于持久化数据目录下。从 rundeck-config.properties 模板 可见实际模板还追加了NON_KEYWORDSMONTH,HOUR,MINUTE,YEAR,SECONDS参数以避免 SQL 保留字冲突。RUNDECK_DATABASE_DRIVER使用 H2 之外的后端数据库时设置驱动类名官方支持的取值org.postgresql.DriverPostgreSQLorg.mariadb.jdbc.DriverMariaDBcom.mysql.jdbc.DriverMySQLRUNDECK_DATABASE_USERNAME/RUNDECK_DATABASE_PASSWORD数据库认证凭据。RUNDECK_DATABASE_MIGRATE_ONSTART控制启动时是否执行数据库迁移Liquibase/Grails Database Migration取值true或false默认跟随 Rundeck 自身默认值。模板中对应的键为grails.plugin.databasemigration.updateOnStart。11.5 日志RUNDECK_LOGGING_STRATEGYCONSOLE默认CONSOLE策略将 log4j 的全部输出发往 stdout由容器日志驱动统一收集。设为FILE则写入/home/rundeck/server/logs目录该目录已在镜像中声明为卷。模板实现在 log4j2.propertiesFILE策略下追加器切换为 RollingFile并按天滚动压缩rundeck.log.%d{yyyy-MM-dd}.gz。RUNDECK_LOGGING_AUDIT_ENABLED设置任意值即启用审计日志。审计日志内容可能非常冗长生产环境需谨慎开启。开启后模板会为com.dtolabs.rundeck.core.authorization与预认证过滤器org.rundeck.security.RundeckPreauthenticationRequestHeaderFilter配置专门的审计追加器。RUNDECK_LOGGING_LEVEL_*按模块调整日志级别。示例一将大部分默认 logger 与 root logger 调为debugRUNDECK_LOGGING_LOGLEVEL_DEFAULTdebug RUNDECK_LOGGING_LOGLEVEL_ROOTdebug示例二将所有 logger 调为debugRUNDECK_LOGGING_LOGLEVEL_DEFAULTdebug RUNDECK_LOGGING_LOGLEVEL_ROOTdebug RUNDECK_LOGGING_LOGLEVEL_HIBERNATEdebug RUNDECK_LOGGING_LOGLEVEL_SPRINGdebug RUNDECK_LOGGING_LOGLEVEL_SPRINGBEANdebug RUNDECK_LOGGING_LOGLEVEL_INTERNALSdebug RUNDECK_LOGGING_LOGLEVEL_GRAILSdebug RUNDECK_LOGGING_LOGLEVEL_JETTYdebug合法取值包括debug、info、warn、error等。模板中可见更细粒度的专用 loggerRUNDECK_LOGGING_LOGLEVEL_AUDITEVENTS、RUNDECK_LOGGING_LOGLEVEL_CLEANUP、RUNDECK_LOGGING_LOGLEVEL_OPTIONS、RUNDECK_LOGGING_LOGLEVEL_JOBCHANGES、RUNDECK_LOGGING_LOGLEVEL_EXECEVENTS、RUNDECK_LOGGING_LOGLEVEL_APIREQUESTS、RUNDECK_LOGGING_LOGLEVEL_ACCESS、RUNDECK_LOGGING_LOGLEVEL_PROJECT、RUNDECK_LOGGING_LOGLEVEL_STORAGE、RUNDECK_LOGGING_LOGLEVEL_MIGRATION、RUNDECK_LOGGING_LOGLEVEL_PRJMANAGER等分别对应 Job 变更、执行事件、API 请求、Web 访问、存储事件、项目事件等专项日志文件。11.6 Key Storage存储设施RUNDECK_STORAGE_PROVIDER_#_[[TYPE|PATH]|CONFIG_[...]]RUNDECK_STORAGE_CONVERTER_#_[[TYPE|PATH]|CONFIG_[...]]Key Storage 的 provider 与 converter 配置#为序号。映射到 Storage Facility 文档中的存储设施配置模板实现在 rundeck-config-storage.properties。provider 支持db与file两种类型db存储在数据库中path为键路径前缀默认keysfile存储在文件系统CONFIG_BASEDIR指定基目录默认/home/rundeck/var/storage/。converter 默认类型为aes-gcm-encryption支持CONFIG_PASSWORD必填、CONFIG_ENCRYPTORTYPE、CONFIG_ALGORITHM、CONFIG_PROVIDER等可选项。示例RUNDECK_STORAGE_PROVIDER_1_TYPEdb RUNDECK_STORAGE_PROVIDER_1_PATHkeys RUNDECK_STORAGE_CONVERTER_1_CONFIG_PASSWORDsupersecret11.7 预认证Preauthenticated ModeRUNDECK_PREAUTH_ENABLEDfalse是否启用预认证模式RUNDECK_PREAUTH_ATTRIBUTE_NAMEREMOTE_USER_GROUPS角色属性名RUNDECK_PREAUTH_DELIMITER,多个角色之间的分隔符RUNDECK_PREAUTH_USERNAME_HEADERX-Forwarded-Uuid携带用户名的请求头RUNDECK_PREAUTH_ROLES_HEADERX-Forwarded-Roles携带角色列表的请求头RUNDECK_PREAUTH_REDIRECT_LOGOUTfalse登出时是否重定向到上游RUNDECK_PREAUTH_REDIRECT_URL/oauth2/sign_in登出重定向地址。模板还支持额外的用户同步配置RUNDECK_PREAUTH_USERSYNC_ENABLED、RUNDECK_PREAUTH_USERSYNC_FIRSTNAME默认X-Forwarded-User-FirstName、RUNDECK_PREAUTH_USERSYNC_LASTNAME默认X-Forwarded-User-LastName、RUNDECK_PREAUTH_USERSYNC_EMAIL默认X-Forwarded-User-Email。11.8 Token 与安全响应头RUNDECK_TOKENS_FILE指定静态 token 文件的存放位置从 framework.properties 模板 映射为rundeck.tokens.file。安全响应头CSP 等全部映射到 rundeck-config-csp.propertiesRUNDECK_SECURITY_HTTPHEADERS_ENABLEDtrueRUNDECK_SECURITY_HTTPHEADERS_PROVIDER_XCTO_ENABLEDtrueX-Content-Type-OptionsRUNDECK_SECURITY_HTTPHEADERS_PROVIDER_XXSSP_ENABLEDtrueX-XSS-ProtectionRUNDECK_SECURITY_HTTPHEADERS_PROVIDER_XFO_ENABLEDtrueX-Frame-OptionsRUNDECK_SECURITY_HTTPHEADERS_PROVIDER_CACHECONTROL_ENABLEDtrueCache-ControlRUNDECK_SECURITY_HTTPHEADERS_PROVIDER_CSP_ENABLEDtrueContent-Security-PolicyRUNDECK_SECURITY_HTTPHEADERS_PROVIDER_CSP_CONFIG_INCLUDEXCSPHEADERfalseRUNDECK_SECURITY_HTTPHEADERS_PROVIDER_CSP_CONFIG_INCLUDEXWKCSPHEADERfalseRUNDECK_SECURITY_HTTPHEADERS_PROVIDER_CSP_CONFIG_POLICY自定义 CSP 策略内容。此外模板还支持 CSP 的细粒度指令配置RUNDECK_SECURITY_HTTPHEADERS_PROVIDER_CSP_CONFIG_DEFAULTSRC、CONNECTSRC、STYLESRC、SCRIPTSRC、FONTSRC、IMGSRC、FORMACTION分别对应default-src、connect-src、style-src、script-src、font-src、img-src、form-action。11.9 邮件通知映射到 rundeck-config-mail.propertiesRUNDECK_MAIL_SMTP_HOSTSMTP 服务器地址RUNDECK_MAIL_SMTP_PORT端口模板默认587RUNDECK_MAIL_SMTP_USERNAME/RUNDECK_MAIL_SMTP_PASSWORDSMTP 认证凭据RUNDECK_MAIL_FROM默认发件地址grails.mail.default.fromRUNDECK_MAIL_DEFAULT_TEMPLATE_SUBJECT通知邮件默认主题RUNDECK_MAIL_DEFAULT_TEMPLATE_FILE通知邮件默认模板文件RUNDECK_MAIL_DEFAULT_TEMPLATE_LOG_FORMATTED是否在邮件中格式化输出日志RUNDECK_MAIL_PROPS透传给 Grails 的邮件属性JSON 格式。典型用途是启用 StartTLSAWS SES 等许多邮件服务都要求RUNDECK_MAIL_PROPS[mail.smtp.starttls.enable:true,mail.smtp.port:587]11.10 环境变量清理RUNDECK_ENVARS_UNSETALLtrue启动 Rundeck 前清除所有以RUNDECK_开头的环境变量。设为false可改用RUNDECK_ENVARS_UNSETS精细控制。RUNDECK_ENVARS_UNSETS以空格分隔的、需要在启动前清除的环境变量列表。例如RUNDECK_ENVARS_UNSETALLfalse RUNDECK_ENVARS_UNSETSSECRET_KEY API_TOKEN11.11 Quartz 调度线程池RUNDECK_QUARTZ_THREADPOOL_THREADCOUNT设置最大并发执行线程数。未设置时默认值为10。映射到 rundeck-config-quartz.properties 中的quartz.threadPool.threadCount。该值直接决定 Rundeck 同时能运行多少个 Job需要根据实际并发负载调大或调小。十二、完整实战示例一个生产化启动命令综合以上配置一个包含持久化、数据库、加密 Key Storage、SSH 密钥、外部数据库与日志策略的生产化启动命令如下docker run -d --name rundeck \ --restartunless-stopped \ -p 4440:4440 \ -m 2048m \ -e JVM_MAX_RAM_PERCENTAGE75 \ -e RUNDECK_GRAILS_URLhttp://rundeck.example.com \ -e RUNDECK_SERVER_FORWARDEDtrue \ -e RUNDECK_SERVER_UUID6f1b4f2a-9c3e-4a5d-8b6e-1d2c3b4a5f6e \ -e RUNDECK_DATABASE_URLjdbc:postgresql://db.example.com:5432/rundeck \ -e RUNDECK_DATABASE_DRIVERorg.postgresql.Driver \ -e RUNDECK_DATABASE_USERNAMErundeck \ -e RUNDECK_DATABASE_PASSWORDchange-me \ -e RUNDECK_STORAGE_CONVERTER_1_CONFIG_PASSWORDsupersecret \ -e RUNDECK_CONFIG_STORAGE_CONVERTER_1_CONFIG_PASSWORDsupersecret \ -e RUNDECK_LOGGING_STRATEGYFILE \ -e RUNDECK_QUARTZ_THREADPOOL_THREADCOUNT20 \ -v data:/home/rundeck/server/data \ -v /etc/rundeck/.ssh:/home/rundeck/.ssh \ rundeck/rundeck:3.0.20十三、故障排查与进阶指引日志查看RUNDECK_LOGGING_STRATEGYCONSOLE时执行docker logs -f some-rundeck切换为FILE后可在挂载的/home/rundeck/var/logs或容器内/home/rundeck/server/logs中查看rundeck.log、rundeck.audit.log等文件。配置检查容器启动后进入容器查看实际生成的配置文件docker exec -it some-rundeck cat /home/rundeck/etc/framework.properties docker exec -it some-rundeck cat /home/rundeck/server/config/rundeck-config.properties扩展配置当内置环境变量覆盖不足时参考 remco/templates 与 remco/resources.d 的现有模板构建派生镜像并追加模板文件。测试参考仓库 docker/official/test/remco 提供了 remco 配置的测试脚本test.sh与测试配置test.yml可作为验证模板渲染行为的最小参考。更多部署形态仓库 test/docker 中提供了 LDAP、PAM、SSL、Ansible、多节点等不同场景的 Docker Compose 编排文件与测试脚本例如 docker-compose-ldap-test.yaml 与 docker-compose-multinode-test.yml可直接作为对应场景的配置起点。赞分享运维任务调度后端【免费下载链接】rundeckEnable Self-Service Operations: Give specific users access to your existing tools, services, and scripts项目地址https://gitcode.com/gh_mirrors/ru/rundeck点击查看免费下载相关推荐MLflow 官方 Docker 镜像部署指南镜像变体、环境变量配置与实战示例MLflow 官方 Docker 镜像部署指南镜像变体、环境变量配置与实战示例 MLflow 官方在仓库 docker/ 目录下维护了用于容器化部署的 DocMLOpsLLMOps人工智能大模型模型评测LLM 网关可观测性Argilla Server 官方 Docker 镜像部署指南环境变量、启动流程与实战配置Argilla Server 官方 Docker 镜像部署指南环境变量、启动流程与实战配置 Argilla 是面向 AI 工程师与领域专家的高质量数据集协作平数据标注人工智能NLPMLOpsRAGVPet 桌宠MOD完全手作指南从一张透明图到可发布的创意作品VPet 桌宠MOD完全手作指南从一张透明图到可发布的创意作品 VPet虚拟桌宠模拟器是一款开源免费的桌宠软件支持投喂、摸头、打工等互动并完整开放了创桌面应用游戏开发上一篇MegaBeam-Mistral-7B-512k应用场景大全从文档分析到代码生成的终极指南下一篇Frappe Charts 使用教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号