Open zulvkr opened 1 year ago
+1
Yeah, having EdgeDB as a one-click app would be nice.
@zulvkr @iron3oxide I wrote this yaml based on postgres.yml and the EdgeDB self-hosting doc and then in CapRover/Apps I selected to deploy a One-Click app, then I selected this template:
and then I pasted this yaml into the textarea. It deployed without errors, but I'm new to CapRover so I'm not sure if everything is correct. Can you check this please? :) E.g. what about volumes?
captainVersion: 4
services:
$$cap_appname:
image: edgedb/edgedb:$$cap_edgedb_version
volumes:
- $$cap_appname-data:/var/lib/edgedb/data
restart: always
environment:
EDGEDB_SERVER_PASSWORD: $$cap_edgedb_password
EDGEDB_SERVER_TLS_CERT_MODE: $$cap_edgedb_tls_mode
EDGEDB_DOCKER_APPLY_MIGRATIONS: $$cap_edgedb_apply_migrations
caproverExtra:
notExposeAsWebApp: 'true'
caproverOneClickApp:
variables:
- id: $$cap_edgedb_version
label: Version
defaultValue: 'latest'
description: Check out their Docker page for the valid tags https://hub.docker.com/r/edgedb/edgedb/tags
validRegex: /^([^\s^\/])+$/
- id: $$cap_edgedb_password
label: EdgeDB Server Password
defaultValue: $$cap_gen_random_hex(16)
description: Password for the EdgeDB server
validRegex: /.{1,}/
- id: $$cap_edgedb_tls_mode
label: TLS Certificate Mode
defaultValue: 'generate_self_signed'
description: TLS certificate mode (generate_self_signed, provide, or disable)
validRegex: /^(generate_self_signed|provide|disable)$/
- id: $$cap_edgedb_apply_migrations
label: Apply Migrations
defaultValue: 'default'
description: Whether to apply migrations (always, never, default)
validRegex: /^(always|never|default)$/
instructions:
start: |-
EdgeDB is an open-source object-relational database with a powerful query language, strict schema, and native GraphQL support.
This One-Click-App will deploy EdgeDB on your CapRover instance.
end: |-
EdgeDB is deployed and available as `srv-captain--$$cap_appname:5656` to other apps.
To connect to EdgeDB, use the following connection string:
`edgedb://edgedb:$$cap_edgedb_password@srv-captain--$$cap_appname:5656`
Note: If you want to include schema migrations, mount a volume at `/dbschema` in your application container.
displayName: EdgeDB
isOfficial: false
description: EdgeDB - The next-generation object-relational database.
documentation: https://www.edgedb.com/docs/guides/deployment/docker
Please tell us what app you'd like to see on CapRover as a one-click app.
EdgeDB is an open-source, young and modern database designed as a spiritual successor to SQL and the relational paradigm.
It aims to do: Better schema definition and migration system Better query language Ships with cli and UI
It has client in typescript, go, python and some other languages, with client codegen and type safety support like Prisma.
Do you know if there is any official Docker image for the app?
https://hub.docker.com/r/edgedb/edgedb