unofficial caprover api to deploy apps to caprover
- Free software: MIT license
- Full Documentation: https://caprover-api.readthedocs.io.
- create app
- add custom domain
- enable ssl
- update app with port mappings, env variables, repo info etc
- deploy one click apps
- get list of all apps
- get list of all projects
- get app by name
- delete app
- delete app and it's volumes
- stop app
- scale app
To use Caprover API in a project:
from caprover_api import caprover_api
cap = caprover_api.CaproverAPI(
    dashboard_url="cap-dashboard-url",
    password="cap-dashboard-password"
)
get app name from List of one-click-apps
automated deploy:
app_variables = {
    "$$cap_redis_password": "REDIS-PASSWORD-HERE"
}
cap.deploy_one_click_app(
    one_click_app_name='redis',
    app_variables=app_variables,
    automated=True
)
manual deploy (you will be asked to enter required variables during runtime):
cap.deploy_one_click_app(
    one_click_app_name='redis'
)
rename app (to install under a different name than the name in the one-click repo):
cap.deploy_one_click_app(
    one_click_app_name='redis',
    app_name='cache'
)
create a new app (if project_id is not specified, app will be created in root <no parent project>):
cap.create_app(
    app_name="new-app",
    has_persistent_data=False
)
create a new app under an existing project:
cap.create_app(
    app_name="new-app",
    project_id="9b402fa8-423a-423a-8c2e-0c5498d21774",
    has_persistent_data=False
)
create and deploy redis app from docker hub:
cap.create_and_update_app(
    app_name="new-app-redis",
    has_persistent_data=False,
    image_name='redis:5',
    persistent_directories=['new-app-redis-data:/data', ]
)