component {
form(name = settings, on_submit = settings_save, class = form) {
scrollable(direction = vertical, class = u-fill-all) {
column(class = form-panel) {
text("{t('settings_web.public_api_url')}", class = u-label-cap)
row(class = kv-list__row) {
text("@server_settings_public_base", class = "kv-list__val kv-list__val--compact")
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:server_settings_public_base,
text = "{t('common.copy')}",
)
}
text(
"{t('settings_web.derived_from_api_domain_port_in')}",
class = u-muted,
)
text("{t('settings_web.connection_token')}", class = u-label-cap)
row(class = kv-list__row) {
text("@server_access_key_short", class = "kv-list__val kv-list__val--compact")
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:server_access_key,
text = "{t('common.copy')}",
)
}
text(
"{t('settings_web.base64_of_host_port_token_server')}",
class = u-muted,
)
text("{t('settings_web.connect_an_ai_agent_mcp')}", class = u-label-cap)
text("{t('settings_web.claude_code')}", class = u-label-cap)
row(class = kv-list__row) {
text(
"{t('settings_web.claude_mcp_add_rustploy_mcp')}",
class = "kv-list__val kv-list__val--compact"
)
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:server_mcp_command,
text = "{t('common.copy')}",
)
}
text("{t('settings_web.codex_codex_config_toml')}", class = u-label-cap)
row(class = kv-list__row) {
text(
"{t('settings_web.mcp_servers_rustploy_url_mcp')}",
class = "kv-list__val kv-list__val--compact"
)
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:server_mcp_command_codex,
text = "{t('common.copy')}",
)
}
text("{t('settings_web.gemini_cli')}", class = u-label-cap)
row(class = kv-list__row) {
text(
"{t('settings_web.gemini_mcp_add_rustploy_mcp')}",
class = "kv-list__val kv-list__val--compact"
)
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:server_mcp_command_gemini,
text = "{t('common.copy')}",
)
}
text(
"{t('settings_web.each_button_copies_this_server_s')}",
class = u-muted,
)
text(
"{t('settings_web.let_s_encrypt_email_automatic')}",
class = u-label-cap,
)
input(
placeholder = "{t('settings_web.you_example_com')}",
class = field__input,
form_control = server_settings_email,
)
text(
"@error_server_settings_email",
if = @error_server_settings_email,
not_equals = "",
class = u-error,
)
text(
"{t('settings_web.tls_certificates_issued_automatically_requires_a')}",
class = u-muted,
)
text(
"{t('settings_web.registry_domain_public_exposure')}",
class = u-label-cap,
)
input(
placeholder = "{t('settings_web.registry_mysite_com')}",
class = field__input,
form_control = server_settings_registry_domain,
)
text(
"{t('settings_web.exposes_the_built_in_docker_registry')}",
class = u-muted,
)
row(class = env__add) {
button(
class = "btn btn--primary",
on_click = settings_save,
disabled = @busy_settings_save,
text = "{t('common.save_2')}"
)
text("@settings_message", class = u-muted)
}
}
}
}
}