============
Caprover API
============
.. image:: https://img.shields.io/pypi/v/caprover_api.svg
:target: https://pypi.python.org/pypi/caprover_api
.. image:: https://img.shields.io/travis/ak4zh/caprover_api.svg
:target: https://travis-ci.com/ak4zh/caprover_api
.. image:: https://readthedocs.org/projects/caprover-api/badge/?version=latest
:target: https://caprover-api.readthedocs.io/en/latest/?version=latest
:alt: Documentation Status
unofficial caprover api to deploy apps to caprover
* Free software: MIT license
* Full Documentation: https://caprover-api.readthedocs.io.
Features
--------
* 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 app by name
* delete app
* delete app and it's volumes
* stop app
* scale app
Usage
-----
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"
)
One Click Apps
^^^^^^^^^^^^^^^
get app name from `List of one-click-apps <https://github.com/caprover/one-click-apps/tree/master/public/v4/apps>`_
automated deploy::
app_variables = {
"$$cap_redis_password": "REDIS-PASSWORD-HERE"
}
cap.deploy_one_click_app(
one_click_app_name='redis',
namespace='new-app',
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',
namespace='new-app',
)
Custom Apps
^^^^^^^^^^^^
create a new app::
cap.create_app(
app_name="new-app",
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', ]
)
=======
History
=======
0.1.24 (2024-12-16)
-------------------
* Fix & test update from novel kwargs (#12)
* update method lets you set httpAuth (#11)
* `update()` now handles persistent directories that use hostPath (#7)
* `gen_random_hex` works across whole one-click-app YAML (#6)
* Bugfix: `update()` should not change notExposeAsWebApp (#8)
* Enable SSL on base domain (#9)
* Allow optional override one-click repository path (#5)
0.1.0 (2021-06-11)
------------------
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/ak4zh/caprover-api",
"name": "caprover-api",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "caprover_api",
"author": "Akash Agarwal",
"author_email": "agwl.akash@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/36/e4/8a9f1f39413a4b1f2b969d19c0b11400d78690d5accd2ad5ae1c161c4bf7/caprover_api-0.1.24.tar.gz",
"platform": null,
"description": "============\nCaprover API\n============\n\n\n.. image:: https://img.shields.io/pypi/v/caprover_api.svg\n :target: https://pypi.python.org/pypi/caprover_api\n\n.. image:: https://img.shields.io/travis/ak4zh/caprover_api.svg\n :target: https://travis-ci.com/ak4zh/caprover_api\n\n.. image:: https://readthedocs.org/projects/caprover-api/badge/?version=latest\n :target: https://caprover-api.readthedocs.io/en/latest/?version=latest\n :alt: Documentation Status\n\n\n\n\nunofficial caprover api to deploy apps to caprover\n\n\n* Free software: MIT license\n* Full Documentation: https://caprover-api.readthedocs.io.\n\n\nFeatures\n--------\n\n* create app\n* add custom domain\n* enable ssl\n* update app with port mappings, env variables, repo info etc\n* deploy one click apps\n* get list of all apps\n* get app by name\n* delete app\n* delete app and it's volumes\n* stop app\n* scale app\n\n\nUsage\n-----\n\nTo use Caprover API in a project::\n\n from caprover_api import caprover_api\n\n cap = caprover_api.CaproverAPI(\n dashboard_url=\"cap-dashboard-url\",\n password=\"cap-dashboard-password\"\n )\n\n\nOne Click Apps\n^^^^^^^^^^^^^^^\n\nget app name from `List of one-click-apps <https://github.com/caprover/one-click-apps/tree/master/public/v4/apps>`_\n\nautomated deploy::\n\n app_variables = {\n \"$$cap_redis_password\": \"REDIS-PASSWORD-HERE\"\n }\n cap.deploy_one_click_app(\n one_click_app_name='redis',\n namespace='new-app',\n app_variables=app_variables,\n automated=True\n )\n\n\nmanual deploy (you will be asked to enter required variables during runtime)::\n\n cap.deploy_one_click_app(\n one_click_app_name='redis',\n namespace='new-app',\n )\n\n\nCustom Apps\n^^^^^^^^^^^^\n\ncreate a new app::\n\n cap.create_app(\n app_name=\"new-app\",\n has_persistent_data=False\n )\n\n\ncreate and deploy redis app from docker hub::\n\n cap.create_and_update_app(\n app_name=\"new-app-redis\",\n has_persistent_data=False,\n image_name='redis:5',\n persistent_directories=['new-app-redis-data:/data', ]\n )\n\n\n\n=======\nHistory\n=======\n\n0.1.24 (2024-12-16)\n-------------------\n\n* Fix & test update from novel kwargs (#12)\n* update method lets you set httpAuth (#11)\n* `update()` now handles persistent directories that use hostPath (#7)\n* `gen_random_hex` works across whole one-click-app YAML (#6)\n* Bugfix: `update()` should not change notExposeAsWebApp (#8)\n* Enable SSL on base domain (#9)\n* Allow optional override one-click repository path (#5)\n\n0.1.0 (2021-06-11)\n------------------\n\n* First release on PyPI.\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "unofficial caprover api to deploy apps to caprover",
"version": "0.1.24",
"project_urls": {
"Homepage": "https://github.com/ak4zh/caprover-api"
},
"split_keywords": [
"caprover_api"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f9086006e8dc163b571fd1bbdac06cd129a3d6e9a2cfe6469d671e5818b40fa6",
"md5": "c1b9d6d41cdcb43a153e85f8f389b480",
"sha256": "c0e215744c9511801bf28e555edb3d775babed2342599698f510f4493b530461"
},
"downloads": -1,
"filename": "caprover_api-0.1.24-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c1b9d6d41cdcb43a153e85f8f389b480",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 11663,
"upload_time": "2025-02-24T04:06:13",
"upload_time_iso_8601": "2025-02-24T04:06:13.241824Z",
"url": "https://files.pythonhosted.org/packages/f9/08/6006e8dc163b571fd1bbdac06cd129a3d6e9a2cfe6469d671e5818b40fa6/caprover_api-0.1.24-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "36e48a9f1f39413a4b1f2b969d19c0b11400d78690d5accd2ad5ae1c161c4bf7",
"md5": "ee6a7f116763289857d79582f10d842a",
"sha256": "a98eb88b0b00d2d50fd96d84b6ddf95959fc65368eefe05fef045b60750507c3"
},
"downloads": -1,
"filename": "caprover_api-0.1.24.tar.gz",
"has_sig": false,
"md5_digest": "ee6a7f116763289857d79582f10d842a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 21350,
"upload_time": "2025-02-24T04:06:15",
"upload_time_iso_8601": "2025-02-24T04:06:15.242695Z",
"url": "https://files.pythonhosted.org/packages/36/e4/8a9f1f39413a4b1f2b969d19c0b11400d78690d5accd2ad5ae1c161c4bf7/caprover_api-0.1.24.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-24 04:06:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ak4zh",
"github_project": "caprover-api",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "caprover-api"
}