zitadel: Zitadel giving "404 not found" on deployment

Description: Using default values, if I run docker-compose up -d causes the application to load but when I visit the url on port 8080 I get the following: image If I visit the /ui/console address I get the following on the webpage: image Text displayed is ID=QUERY-n0wng Message=Instance not found

I used the default setup on Zitadel to do this: https://docs.zitadel.com/docs/guides/deploy/compose

My docker-compose version is Docker Compose version v2.10.2

Has this happened to anyone else? Not sure if it’s broken or if there is a step that I didn’t see. To note, I also tried doing the full deployment with values for everything and got the same result.

Here are logs for example-deploy-zitadel-1

time="2022-09-11T16:16:16Z" level=info msg="initialization started" caller="/home/runner/work/zitadel/zitadel/cmd/initialise/init.go:54"
time="2022-09-11T16:16:16Z" level=info msg="verify user" caller="/home/runner/work/zitadel/zitadel/cmd/initialise/verify_user.go:44" username=zitadel
time="2022-09-11T16:16:16Z" level=info msg="verify grant" caller="/home/runner/work/zitadel/zitadel/cmd/initialise/verify_grant.go:39" database=zitadel user=zitadel
time="2022-09-11T16:16:16Z" level=info msg="verify zitadel" logrus_error="can not add field \"database\"" caller="/home/runner/work/zitadel/zitadel/cmd/initialise/verify_zitadel.go:97"
time="2022-09-11T16:16:16Z" level=info msg="setup started" caller="/home/runner/work/zitadel/zitadel/cmd/setup/setup.go:57"
time="2022-09-11T16:16:16Z" level=info msg="verify migration 01_tables" caller="/home/runner/work/zitadel/zitadel/internal/migration/migration.go:33"
time="2022-09-11T16:16:16Z" level=info msg="starting migration 01_tables" caller="/home/runner/work/zitadel/zitadel/internal/migration/migration.go:43"
time="2022-09-11T16:16:17Z" level=info msg="verify migration 02_assets" caller="/home/runner/work/zitadel/zitadel/internal/migration/migration.go:33"
time="2022-09-11T16:16:17Z" level=info msg="starting migration 02_assets" caller="/home/runner/work/zitadel/zitadel/internal/migration/migration.go:43"
time="2022-09-11T16:16:17Z" level=info msg="verify migration 03_default_instance" caller="/home/runner/work/zitadel/zitadel/internal/migration/migration.go:33"
time="2022-09-11T16:16:17Z" level=info msg="starting migration 03_default_instance" caller="/home/runner/work/zitadel/zitadel/internal/migration/migration.go:43"
time="2022-09-11T16:16:22Z" level=info msg="verify migration config_change" caller="/home/runner/work/zitadel/zitadel/internal/migration/migration.go:33"
time="2022-09-11T16:16:23Z" level=info msg="starting migration config_change" caller="/home/runner/work/zitadel/zitadel/internal/migration/migration.go:43"
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.orgs
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.orgs
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.actions
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.actions
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.flows_triggers
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.flows_triggers
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.projects
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.projects
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.password_complexity_policies
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.password_complexity_policies
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.password_age_policies
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.password_age_policies
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.lockout_policies
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.lockout_policies
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.privacy_policies
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.privacy_policies
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.domain_policies
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.domain_policies
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.label_policies
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.label_policies
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.project_grants
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.project_grants
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.project_roles
time="2022-09-11T16:16:23Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.project_roles
time="2022-09-11T16:16:23Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.org_domains
time="2022-09-11T16:16:24Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.org_domains
time="2022-09-11T16:16:24Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.login_policies
time="2022-09-11T16:16:24Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.login_policies
time="2022-09-11T16:16:24Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.idps
time="2022-09-11T16:16:24Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.idps
time="2022-09-11T16:16:24Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.apps
time="2022-09-11T16:16:24Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.apps
time="2022-09-11T16:16:24Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.idp_user_links
time="2022-09-11T16:16:24Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.idp_user_links
time="2022-09-11T16:16:24Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.idp_login_policy_links
time="2022-09-11T16:16:24Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.idp_login_policy_links
time="2022-09-11T16:16:24Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.mail_templates
time="2022-09-11T16:16:24Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.mail_templates
time="2022-09-11T16:16:24Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.message_texts
time="2022-09-11T16:16:24Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.message_texts
time="2022-09-11T16:16:24Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.custom_texts
time="2022-09-11T16:16:24Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.custom_texts
time="2022-09-11T16:16:24Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.users2
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.users2
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.login_names
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.login_names
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.org_members
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.org_members
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.instance_domains
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.instance_domains
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.instance_members
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.instance_members
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.project_members
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.project_members
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.project_grant_members
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.project_grant_members
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.authn_keys
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.authn_keys
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.personal_access_tokens
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.personal_access_tokens
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.user_grants
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.user_grants
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.user_metadata2
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.user_metadata2
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.user_auth_methods
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.user_auth_methods
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.instances
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.instances
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.secret_generators
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.secret_generators
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.smtp_configs
time="2022-09-11T16:16:25Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.smtp_configs
time="2022-09-11T16:16:25Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.sms_configs
time="2022-09-11T16:16:26Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.sms_configs
time="2022-09-11T16:16:26Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.oidc_settings
time="2022-09-11T16:16:26Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.oidc_settings
time="2022-09-11T16:16:26Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.notification_providers
time="2022-09-11T16:16:26Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.notification_providers
time="2022-09-11T16:16:26Z" level=debug msg="executing check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:200" execute=0 projection=projections.keys
time="2022-09-11T16:16:26Z" level=debug msg="skipping next check" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/handler/crdb/init.go:207" execute=0 projection=projections.keys
time="2022-09-11T16:16:26Z" level=info msg="spooler started" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/v1/spooler/spooler.go:63" lockerID=178538076925067267 workers=1
time="2022-09-11T16:16:26Z" level=info msg="spooler started" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/v1/spooler/spooler.go:63" lockerID=178538076925132803 workers=1
time="2022-09-11T16:16:26Z" level=debug msg="locker changed" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/v1/locker/lock.go:44" locker=178538076925067267--0 logID=LOCKE-lOgbg view=auth.user_external_idps
time="2022-09-11T16:16:26Z" level=debug msg="locker changed" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/v1/locker/lock.go:44" locker=178538076925132803--0 logID=LOCKE-lOgbg view=adminapi.styling
time="2022-09-11T16:16:26Z" level=debug msg="load canceled" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/v1/spooler/spooler.go:135" error="ID=MODEL-pF3DR Message=no filters set" logID=SPOOL-OT8di view=auth.user_external_idps worker=178538076925067267--0
time="2022-09-11T16:16:26Z" level=debug msg="load canceled" caller="/home/runner/work/zitadel/zitadel/internal/eventstore/v1/spooler/spooler.go:135" error="ID=MODEL-pF3DR Message=no filters set" logID=SPOOL-OT8di view=adminapi.styling worker=178538076925132803--0
time="2022-09-11T16:16:27Z" level=info msg="server is listening on [::]:8080" caller="/home/runner/work/zitadel/zitadel/cmd/start/start.go:243"

Here are logs for for example-deploy-crdb-1

ls: cannot access 'cockroach-data': No such file or directory
certificate dir "certs" is successfully set up
starting node for the initialization process. This could take a couple seconds...
*
* WARNING: ALL SECURITY CONTROLS HAVE BEEN DISABLED!
* 
* This mode is intended for non-production testing only.
* 
* In this mode:
* - Your cluster is open to any client that can access any of your IP addresses.
* - Intruders with access to your machine or network can observe client-server traffic.
* - Intruders can log in without password and read or write any data in the cluster.
* - Intruders can consume all your server's resources and cause unavailability.
*
*
* INFO: To start a secure server without mandating TLS for clients,
* consider --accept-sql-without-tls instead. For other options, see:
* 
* - https://go.crdb.dev/issue-v/53404/v22.1
* - https://www.cockroachlabs.com/docs/v22.1/secure-a-cluster.html
*
init node successfully started
CockroachDB node starting at 2022-09-11 16:16:09.221894119 +0000 UTC (took 0.8s)
build:               CCL v22.1.3 @ 2022/07/11 14:04:38 (go1.17.11)
webui:               http://127.0.0.1:8080
sql:                 postgresql://root@127.0.0.1:26257/defaultdb?sslmode=disable
sql (JDBC):          jdbc:postgresql://127.0.0.1:26257/defaultdb?sslmode=disable&user=root
RPC client flags:    /cockroach/cockroach <client cmd> --host=127.0.0.1:26257 --insecure
logs:                /cockroach/cockroach-data/logs
temp dir:            /cockroach/cockroach-data/cockroach-temp245647067
external I/O path:   /cockroach/cockroach-data/extern
store[0]:            path=/cockroach/cockroach-data
storage engine:      pebble
clusterID:           15950eda-548c-42a6-a7c5-98ea03d591d7
status:              initialized new cluster
nodeID:              1
database "defaultdb" already exists
start running init files from /docker-entrypoint-initdb.d
/cockroach/cockroach.sh: ignoring /docker-entrypoint-initdb.d/*

end running init files from /docker-entrypoint-initdb.d
"${start_node_query[@]}"

Thank you, hopefully it’s something simple. I’d highly appreciate any help.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (7 by maintainers)

Most upvoted comments

Okay I got it figured out, I needed to read the manual properly. So I got Non-SSL working through caddy with adding:

  • ‘ZITADEL_EXTERNALPORT=80’

And subsequently for SSL with caddy

  • ‘ZITADEL_EXTERNALPORT=443’

So working configuration as of now with docker-compose and Caddy reverse proxy:

version: '3.8'

services:
  zitadel:
    container_name: zitadel
    restart: 'always'
    hostname: zitadel
    networks:
      - zitadel
    image: 'ghcr.io/zitadel/zitadel:latest'
    command: 'start-from-init --masterkey "MasterkeyNeedsToHave32Characters" --tlsMode external'
    environment:
      - 'ZITADEL_DATABASE_COCKROACH_HOST=crdb'
      - 'ZITADEL_EXTERNALSECURE=true'
      - 'ZITADEL_EXTERNALPORT=443'
      - 'ZITADEL_EXTERNALDOMAIN=shiny'
    ports:
      - '8080:8080'

  crdb:
    restart: 'always'
    container_name: crdb
    hostname: crdb
    networks:
      - zitadel
    image: 'cockroachdb/cockroach:v22.1.3'
    command: 'start-single-node --insecure'
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health?ready=1"]
      interval: '10s'
      timeout: '30s'
      retries: 5
      start_period: '20s'
    ports:
      - '9090:8080'
      - '26257:26257'

  caddy:
    image: caddy:2-alpine
    restart: unless-stopped
    networks:
      - zitadel
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile

volumes:
  caddy_config:


networks:
  zitadel:
    external: true

And Caddyfile:

{
  debug
}
https://shiny {
    tls internal #only non production
    reverse_proxy h2c://zitadel:8080
}