{"openapi":"3.1.0","info":{"title":"AppManae API","description":"This documentation describes the AppManage API.","version":"0.0.1"},"paths":{"/apps/catalog/{locale}":{"get":{"tags":["apps"],"summary":"List Catalogs","description":"List all app's catalogs","operationId":"get_catalog_apps_apps_catalog__locale__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"locale","in":"path","required":true,"schema":{"type":"string","pattern":"^(zh|en)$","description":"Language to get catalogs from","title":"Locale"},"description":"Language to get catalogs from"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppCatalogResponse"},"title":"Response 200 Get Catalog Apps Apps Catalog Locale Get"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/apps/available/{locale}":{"get":{"tags":["apps"],"summary":"List Available Apps","description":"List all available apps","operationId":"get_available_apps_apps_available__locale__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"locale","in":"path","required":true,"schema":{"type":"string","pattern":"^(zh|en)$","description":"Language to get available apps from","title":"Locale"},"description":"Language to get available apps from"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppAvailableResponse"},"title":"Response 200 Get Available Apps Apps Available Locale Get"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/apps":{"get":{"tags":["apps"],"summary":"List Installed Apps","description":"List all installed apps","operationId":"get_apps_apps_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AppResponse"},"type":"array","title":"Response 200 Get Apps Apps Get"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"APIKeyHeader":[]}]}},"/apps/{app_id}":{"get":{"tags":["apps"],"summary":"Inspect App","description":"Retrieve details about an app","operationId":"get_app_by_id_apps__app_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to get details from","title":"App Id"},"description":"App ID to get details from"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to get app details from. If not set, get details from the local endpoint","title":"Endpointid"},"description":"Endpoint ID to get app details from. If not set, get details from the local endpoint"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponse"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/apps/install":{"post":{"tags":["apps"],"summary":"Install App","description":"Install an app on an endpoint","operationId":"apps_install_apps_install_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to install app on,if not set, install on the local endpoint","title":"Endpointid"},"description":"Endpoint ID to install app on,if not set, install on the local endpoint"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/appInstall"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/apps/{app_id}/start":{"post":{"tags":["apps"],"summary":"Start App","description":"Start an app on an endpoint","operationId":"app_start_apps__app_id__start_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to start","title":"App Id"},"description":"App ID to start"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to start app on. If not set, start on the local endpoint","title":"Endpointid"},"description":"Endpoint ID to start app on. If not set, start on the local endpoint"}],"responses":{"204":{"description":"App started successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/apps/{app_id}/stop":{"post":{"tags":["apps"],"summary":"Stop App","description":"Stop an app on an endpoint","operationId":"app_stop_apps__app_id__stop_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to stop","title":"App Id"},"description":"App ID to stop"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to stop app on. If not set, stop on the local endpoint","title":"Endpointid"},"description":"Endpoint ID to stop app on. If not set, stop on the local endpoint"}],"responses":{"204":{"description":"App stopped successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/apps/{app_id}/restart":{"post":{"tags":["apps"],"summary":"Restart App","description":"Restart an app on an endpoint","operationId":"app_restart_apps__app_id__restart_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to restart","title":"App Id"},"description":"App ID to restart"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to Restart app on. If not set, Restart on the local endpoint","title":"Endpointid"},"description":"Endpoint ID to Restart app on. If not set, Restart on the local endpoint"}],"responses":{"204":{"description":"App restarted successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/apps/{app_id}/redeploy":{"put":{"tags":["apps"],"summary":"Redeploy App","description":"Redeploy an app on an endpoint","operationId":"app_redeploy_apps__app_id__redeploy_put","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to redeploy","title":"App Id"},"description":"App ID to redeploy"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to redeploy app on. If not set, redeploy on the local endpoint","title":"Endpointid"},"description":"Endpoint ID to redeploy app on. If not set, redeploy on the local endpoint"},{"name":"pullImage","in":"query","required":true,"schema":{"type":"boolean","description":"Whether to pull the image when redeploying the app","title":"Pullimage"},"description":"Whether to pull the image when redeploying the app"}],"responses":{"204":{"description":"App redeploy successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/apps/{app_id}/uninstall":{"delete":{"tags":["apps"],"summary":"Uninstall App","description":"Uninstall an app on an endpoint","operationId":"apps_uninstall_apps__app_id__uninstall_delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to uninstall","title":"App Id"},"description":"App ID to uninstall"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to uninstall app on,if not set, uninstall on the local endpoint","title":"Endpointid"},"description":"Endpoint ID to uninstall app on,if not set, uninstall on the local endpoint"},{"name":"purge_data","in":"query","required":true,"schema":{"type":"boolean","description":"Whether to purge data when uninstalling the app","title":"Purge Data"},"description":"Whether to purge data when uninstalling the app"}],"responses":{"204":{"description":"App uninstalled successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/apps/{app_id}/remove":{"delete":{"tags":["apps"],"summary":"Remove App","description":"Remove an app on an endpoint where the app is empty(status is 'inactive')","operationId":"app_remove_apps__app_id__remove_delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to remove","title":"App Id"},"description":"App ID to remove"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to remove app on. If not set, remove on the local endpoint","title":"Endpointid"},"description":"Endpoint ID to remove app on. If not set, remove on the local endpoint"}],"responses":{"204":{"description":"App removed successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/settings":{"get":{"tags":["settings"],"summary":"Get settings","description":"Get settings","operationId":"get_settings_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppSettings"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"APIKeyHeader":[]}]}},"/settings/{section}":{"get":{"tags":["settings"],"summary":"Get settings","description":"Get settings by section","operationId":"get_setting_by_section_settings__section__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"section","in":"path","required":true,"schema":{"type":"string","description":"Section name to update settings from","title":"Section"},"description":"Section name to update settings from"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppSettings"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}},"put":{"tags":["settings"],"summary":"Update Settings","description":"Update settings","operationId":"update_settings_settings__section__put","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"section","in":"path","required":true,"schema":{"type":"string","description":"Section name to update settings from","title":"Section"},"description":"Section name to update settings from"},{"name":"key","in":"query","required":true,"schema":{"type":"string","description":"Key name to update settings from","title":"Key"},"description":"Key name to update settings from"},{"name":"value","in":"query","required":true,"schema":{"type":"string","description":"Key value to update settings from","title":"Value"},"description":"Key value to update settings from"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppSettings"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/proxys/{app_id}":{"get":{"tags":["proxys"],"summary":"Get Proxys","description":"Get proxys by app","operationId":"get_proxys_proxys__app_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to get proxys from","title":"App Id"},"description":"App ID to get proxys from"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to get proxys from. If not set, get proxys from the local endpoint","title":"Endpointid"},"description":"Endpoint ID to get proxys from. If not set, get proxys from the local endpoint"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProxyHost"},"title":"Response 200 Get Proxys Proxys App Id Get"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}},"post":{"tags":["proxys"],"summary":"Create Proxy","description":"Create a proxy host","operationId":"create_proxys_proxys__app_id__post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to create proxys from","title":"App Id"},"description":"App ID to create proxys from"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to create proxys from. If not set, create proxys from the local endpoint","title":"Endpointid"},"description":"Endpoint ID to create proxys from. If not set, create proxys from the local endpoint"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DomainNames"}],"description":"Domain names to create proxys from","title":"Domain Names"},"example":{"domain_names":["example1.com","example2.com"]}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProxyHost"},"title":"Response 200 Create Proxys Proxys App Id Post"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/proxys/{app_id}}":{"put":{"tags":["proxys"],"summary":"Update Proxys","description":"Update proxys by app","operationId":"update_proxys_proxys__app_id___put","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to create proxys from","title":"App Id"},"description":"App ID to create proxys from"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to create proxys from. If not set, create proxys from the local endpoint","title":"Endpointid"},"description":"Endpoint ID to create proxys from. If not set, create proxys from the local endpoint"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ProxyHost"}],"description":"Proxy host to update proxys from","title":"Proxyhost"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProxyHost"},"title":"Response 200 Update Proxys Proxys App Id Put"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/proxys/app/{app_id}":{"delete":{"tags":["proxys"],"summary":"Delete Proxys","description":"Delete proxys by app","operationId":"delete_proxys_by_app_proxys_app__app_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","description":"App ID to create proxys from","title":"App Id"},"description":"App ID to create proxys from"},{"name":"endpointId","in":"query","required":false,"schema":{"type":"integer","description":"Endpoint ID to create proxys from. If not set, create proxys from the local endpoint","title":"Endpointid"},"description":"Endpoint ID to create proxys from. If not set, create proxys from the local endpoint"}],"responses":{"204":{"description":"Delete Proxys Success"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}},"/proxys/{proxy_id}":{"delete":{"tags":["proxys"],"summary":"Delete Proxys","description":"Delete proxys by proxy_id","operationId":"delete_proxys_by_id_proxys__proxy_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"proxy_id","in":"path","required":true,"schema":{"type":"integer","description":"Proxy ID to delete proxys from","title":"Proxy Id"},"description":"Proxy ID to delete proxys from"}],"responses":{"204":{"description":"Delete Proxys Success"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad Request"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal Server Error"}}}}},"components":{"schemas":{"AppAvailableResponse":{"properties":{"sys":{"additionalProperties":{"type":"string"},"type":"object","title":"Sys","description":"System info","example":{"id":"2KY3eyxKkWDp2ZDTS66aP4"}},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key","description":"Key","example":"wordpress"},"hot":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hot","description":"Hot","default":0,"example":1000},"trademark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trademark","description":"Trademark","example":"WordPress"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"Summary","example":"WordPress is a free and open-source content management system written in PHP and paired with a MySQL or MariaDB database."},"overview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Overview","description":"Overview","example":"WordPress is a free and open-source content management system written in PHP and paired with a MySQL or MariaDB database."},"websiteurl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Websiteurl","description":"Website URL","example":"https://wordpress.org/"},"screenshots":{"items":{"type":"object"},"type":"array","title":"Screenshots","description":"Screenshots","example":[{"id":"8248371f-a25f-4ae6-82be-7c6d8f7b9bb0","key":"gui start","value":"https://libs.websoft9.com/Websoft9/DocsPicture/zh/gogs/gogs-guistart-websoft9.png"}]},"distribution":{"items":{"type":"object"},"type":"array","title":"Distribution","description":"Distribution","example":[{"id":"ff8ceafb-dd7f-4dfc-b523-f13edefa88a7","key":"Community","value":"0.13"}]},"vcpu":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vcpu","description":"VCPU","example":1},"memory":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory","description":"Memory(GB)","example":1},"storage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Storage","description":"Storage(GB)","example":1},"logo":{"additionalProperties":{"type":"string"},"type":"object","title":"Logo","description":"Logo","example":{"imageurl":"https://libs.websoft9.com/Websoft9/logo/product/gogs-websoft9.png"}},"catalogCollection":{"type":"object","title":"Catalogcollection","description":"Catalog Collection","example":{"items":[{"catalogCollection":{"items":[{"key":"itdeveloper","title":"IT Developer"}]},"key":"repository","title":"Code Repository"}]}}},"type":"object","required":["sys","key"],"title":"AppAvailableResponse"},"AppCatalogResponse":{"properties":{"key":{"type":"string","title":"Key","description":"Key","example":"analytics"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position","description":"Position","default":0,"example":0},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"Title","example":"Data Analytics"},"linkedFrom":{"additionalProperties":{"type":"object"},"type":"object","title":"Linkedfrom","description":"Linked From","example":{"items":[{"key":"itdeveloper","title":"IT Developer"}]}}},"type":"object","required":["key","linkedFrom"],"title":"AppCatalogResponse"},"AppMediaSetting":{"properties":{"path":{"type":"string","title":"The path of app media"}},"type":"object","required":["path"],"title":"AppMediaSetting"},"AppResponse":{"properties":{"app_id":{"type":"string","title":"App Id","description":"App ID","default":"","example":"wordpress"},"endpointId":{"type":"integer","title":"Endpointid","description":"Endpoint ID(-1:Not install on app store)","default":-1,"example":1},"app_name":{"type":"string","title":"App Name","description":"App name","default":"","example":"wordpress"},"app_port":{"type":"integer","title":"App Port","description":"App port","default":0,"example":80},"app_dist":{"type":"string","title":"App Dist","description":"App dist","default":"","example":"community"},"app_version":{"type":"string","title":"App Version","description":"App version","default":"","example":"1.0.0"},"app_official":{"type":"boolean","title":"App Official","description":"App official","default":true,"example":true},"proxy_enabled":{"type":"boolean","title":"Proxy Enabled","description":"Proxy enabled","default":false,"example":false},"status":{"type":"integer","title":"Status","description":"App status(0:unknown,1:active,2:inactive)","default":0,"example":0},"creationDate":{"type":"integer","title":"Creationdate","description":"Creation date","default":0,"example":0},"domain_names":{"items":{"type":"object"},"type":"array","title":"Domain Names","description":"Domain names","default":[]},"env":{"items":{"type":"string"},"type":"array","title":"Env","description":"Environment variables","default":[]},"gitConfig":{"type":"object","title":"Gitconfig","description":"Git configuration","default":{}},"containers":{"items":{"type":"object"},"type":"array","title":"Containers","description":"Containers","default":[]},"volumes":{"items":{"type":"object"},"type":"array","title":"Volumes","description":"Volumes","default":[]}},"type":"object","title":"AppResponse"},"AppSettings":{"properties":{"nginx_proxy_manager":{"$ref":"#/components/schemas/NginxProxyManagerSetting"},"gitea":{"$ref":"#/components/schemas/GiteaSetting"},"portainer":{"$ref":"#/components/schemas/PortainerSetting"},"docker_library":{"$ref":"#/components/schemas/DockerLibrarySetting"},"app_media":{"$ref":"#/components/schemas/AppMediaSetting"}},"type":"object","required":["nginx_proxy_manager","gitea","portainer","docker_library","app_media"],"title":"AppSettings"},"DockerLibrarySetting":{"properties":{"path":{"type":"string","title":"The path of docker library"}},"type":"object","required":["path"],"title":"DockerLibrarySetting"},"DomainNames":{"properties":{"domain_names":{"items":{"type":"string"},"type":"array","title":"Domain Names"}},"type":"object","required":["domain_names"],"title":"DomainNames"},"Edition":{"properties":{"dist":{"type":"string","title":"Dist","description":"The edition of the app","examples":["community"]},"version":{"type":"string","title":"Version","description":"The version of the app","examples":["1.0.0","latest"]}},"type":"object","required":["dist","version"],"title":"Edition"},"ErrorResponse":{"properties":{"message":{"type":"string","title":"Message"},"details":{"type":"string","title":"Details"}},"type":"object","required":["message","details"],"title":"ErrorResponse"},"GiteaSetting":{"properties":{"base_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"The base url for gitea"},"user_name":{"type":"string","title":"The user name for gitea"},"user_pwd":{"type":"string","title":"The user password for gitea"}},"type":"object","required":["base_url","user_name","user_pwd"],"title":"GiteaSetting"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"NginxProxyManagerSetting":{"properties":{"base_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"The base url for nginx proxy manager"},"user_name":{"type":"string","title":"The user name for nginx proxy manager"},"user_pwd":{"type":"string","title":"The user password for nginx proxy manager"}},"type":"object","required":["base_url","user_name","user_pwd"],"title":"NginxProxyManagerSetting"},"PortainerSetting":{"properties":{"base_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"The base url for portainer"},"user_name":{"type":"string","title":"The user name for portainer"},"user_pwd":{"type":"string","title":"The user password for portainer"}},"type":"object","required":["base_url","user_name","user_pwd"],"title":"PortainerSetting"},"ProxyHost":{"properties":{"proxy_id":{"type":"integer","title":"Proxy Id"},"domain_names":{"items":{"type":"string"},"type":"array","title":"Domain Names"}},"type":"object","required":["proxy_id","domain_names"],"title":"ProxyHost"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"appInstall":{"properties":{"app_name":{"type":"string","title":"App Name","description":"The name of the app","examples":["wordpress","mysql"]},"edition":{"allOf":[{"$ref":"#/components/schemas/Edition"}],"description":"The edition of the app","example":{"dist":"community","version":"1.0.0"}},"app_id":{"type":"string","title":"App Id","description":"The custom identifier for the application. It must be a combination of 2 to 20 lowercase letters and numbers, and cannot start with a number.","example":"wordpress"},"proxy_enabled":{"type":"boolean","title":"Proxy Enabled","description":"Whether to enable proxy for the app: \n If true,the app will be accessed through the proxy server, \n If false, the app will be accessed through the port of the host machine.","example":true},"domain_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Domain Names","description":"The domain or IP for the app: \n If proxy_enabled is true, provide the domain name.The first domain name will be used as the primary domain name.(e.g., [\"wordpress.example1.com\", \"wordpress.example2.com\"])\n If proxy_enabled is false, provide the host machine's IP address.(e.g., [\"192.168.1.1\"])","example":["wordpress.example1.com","wordpress.example2.com"]}},"type":"object","required":["app_name","edition","app_id","proxy_enabled","domain_names"],"title":"appInstall"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"api_key"}}}}