Add caprover deployment

This commit is contained in:
Daniel Egger 2022-02-02 23:42:17 +01:00
parent 82c987f541
commit 54c315dcd7
3 changed files with 59 additions and 0 deletions

57
caprover_create_app.py Normal file
View File

@ -0,0 +1,57 @@
import logging
import sys
from environs import Env
# TODO: I use a locally patched caprover api for no
sys.path.append(r'/Users/daniel/workspace/iterativ-caprover/Caprover-API')
from caprover_api import caprover_api
logging.basicConfig(level=logging.DEBUG)
env = Env()
env.read_env("./env_secrets/caprover.env")
cap = caprover_api.CaproverAPI(
dashboard_url=env.str('CAPROVER_DOMAIN'),
password=env.str('CAPROVER_PASSWORD'),
)
db_pass = env.str('POSTGRES_PASSWORD')
db_user = env.str('POSTGRES_USER')
db_name = env.str('POSTGRES_DB')
cap.deploy_one_click_app(
one_click_app_name='postgres',
namespace='vbv-lernwelt',
# check https://github.com/caprover/one-click-apps/blob/master/public/v4/apps/postgres.yml
app_variables={
'$$cap_postgres_version': '14.1',
'$$cap_pg_user': db_user,
'$$cap_pg_pass': db_pass,
'$$cap_pg_db': db_name,
},
automated=True
)
cap.create_and_update_app(
app_name='vbv-lernwelt',
enable_ssl=True,
force_ssl=True,
expose_as_web_app=True,
image_name='docker.io/iterativ/vbv-lernwelt-django',
environment_variables={
# 'DJANGO_SETTINGS_MODULE': 'config.settings.base',
'VBV_DJANGO_SECRET_KEY': env.str('VBV_DJANGO_SECRET_KEY'),
'VBV_DJANGO_ADMIN_URL': env.str('VBV_DJANGO_ADMIN_URL'),
'VBV_DJANGO_ALLOWED_HOSTS': env.str('VBV_DJANGO_ALLOWED_HOSTS'),
'POSTGRES_HOST': 'srv-captain--vbv-lernwelt-postgres-db',
'POSTGRES_PORT': 5432,
'POSTGRES_DB': db_name,
'POSTGRES_USER': db_user,
'POSTGRES_PASSWORD': db_pass,
'VBV_CAPROVER': True,
},
)

View File

@ -15,6 +15,8 @@ if [ -z "${POSTGRES_USER}" ]; then
fi
export VBV_DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}"
echo $VBV_DATABASE_URL
postgres_ready() {
python << END
import sys

BIN
env_secrets/caprover.env Normal file

Binary file not shown.