{"owner":"neondatabase","repo":"neon","hasDocker":true,"hasCompose":true,"hasDockerfile":false,"composePath":"docker-compose/docker-compose.yml","servicesCount":10,"services":[{"name":"minio","image":"quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","restart":"always","command":"server /data --address :9000 --console-address \":9001\"","ports":["9000:9000","9001:9001"],"environment":["MINIO_ROOT_USER=minio","MINIO_ROOT_PASSWORD=password"]},{"name":"minio_create_buckets","image":"minio/mc","command":"until (/usr/bin/mc alias set minio http://minio:9000 $$MINIO_ROOT_USER $$MINIO_ROOT_PASSWORD) do echo 'Waiting to start minio...' && sleep 1; done; /usr/bin/mc mb minio/neon --region=eu-north-1; exit 0;","environment":["MINIO_ROOT_USER=minio","MINIO_ROOT_PASSWORD=password"],"depends_on":["minio"]},{"name":"pageserver","image":"${REPOSITORY:-ghcr.io/neondatabase}/neon:${TAG:-latest}","restart":"always","ports":["9898:9898"],"environment":["AWS_ACCESS_KEY_ID=minio","AWS_SECRET_ACCESS_KEY=password"],"volumes":["./pageserver_config:/data/.neon/"],"depends_on":["storage_broker","minio_create_buckets"]},{"name":"safekeeper1","image":"${REPOSITORY:-ghcr.io/neondatabase}/neon:${TAG:-latest}","restart":"always","command":"safekeeper --listen-pg=$$SAFEKEEPER_ADVERTISE_URL --listen-http='0.0.0.0:7676' --id=$$SAFEKEEPER_ID --broker-endpoint=$$BROKER_ENDPOINT -D /data --remote-storage=\"{endpoint='http://minio:9000', bucket_name='neon', bucket_region='eu-north-1', prefix_in_bucket='/safekeeper/'}\"","ports":["7676:7676"],"environment":["SAFEKEEPER_ADVERTISE_URL=safekeeper1:5454","SAFEKEEPER_ID=1","BROKER_ENDPOINT=http://storage_broker:50051","AWS_ACCESS_KEY_ID=minio","AWS_SECRET_ACCESS_KEY=password"],"depends_on":["storage_broker","minio_create_buckets"]},{"name":"safekeeper2","image":"${REPOSITORY:-ghcr.io/neondatabase}/neon:${TAG:-latest}","restart":"always","command":"safekeeper --listen-pg=$$SAFEKEEPER_ADVERTISE_URL --listen-http='0.0.0.0:7676' --id=$$SAFEKEEPER_ID --broker-endpoint=$$BROKER_ENDPOINT -D /data --remote-storage=\"{endpoint='http://minio:9000', bucket_name='neon', bucket_region='eu-north-1', prefix_in_bucket='/safekeeper/'}\"","ports":["7677:7676"],"environment":["SAFEKEEPER_ADVERTISE_URL=safekeeper2:5454","SAFEKEEPER_ID=2","BROKER_ENDPOINT=http://storage_broker:50051","AWS_ACCESS_KEY_ID=minio","AWS_SECRET_ACCESS_KEY=password"],"depends_on":["storage_broker","minio_create_buckets"]},{"name":"safekeeper3","image":"${REPOSITORY:-ghcr.io/neondatabase}/neon:${TAG:-latest}","restart":"always","command":"safekeeper --listen-pg=$$SAFEKEEPER_ADVERTISE_URL --listen-http='0.0.0.0:7676' --id=$$SAFEKEEPER_ID --broker-endpoint=$$BROKER_ENDPOINT -D /data --remote-storage=\"{endpoint='http://minio:9000', bucket_name='neon', bucket_region='eu-north-1', prefix_in_bucket='/safekeeper/'}\"","ports":["7678:7676"],"environment":["SAFEKEEPER_ADVERTISE_URL=safekeeper3:5454","SAFEKEEPER_ID=3","BROKER_ENDPOINT=http://storage_broker:50051","AWS_ACCESS_KEY_ID=minio","AWS_SECRET_ACCESS_KEY=password"],"depends_on":["storage_broker","minio_create_buckets"]},{"name":"storage_broker","image":"${REPOSITORY:-ghcr.io/neondatabase}/neon:${TAG:-latest}","restart":"always","command":"storage_broker --listen-addr=0.0.0.0:50051","ports":["50051:50051"]},{"name":"compute1","image":"built-compute","build":{"context":"./compute_wrapper/"},"restart":"always","ports":["55433:55433","3080:3080"],"environment":["PG_VERSION=${PG_VERSION:-16}","TENANT_ID=${TENANT_ID:-}","TIMELINE_ID=${TIMELINE_ID:-}"],"volumes":["./compute_wrapper/var/db/postgres/configs/:/var/db/postgres/configs/","./compute_wrapper/shell/:/shell/"],"depends_on":["safekeeper1","safekeeper2","safekeeper3","pageserver"]},{"name":"compute_is_ready","image":"postgres:latest","command":"for i in $(seq 1 $${PARALLEL_COMPUTES}); do until pg_isready -h compute$$i -p 55433 -U cloud_admin ; do sleep 1; done; done; echo All computes are started","environment":["PARALLEL_COMPUTES=1"],"depends_on":["compute1"]},{"name":"neon-test-extensions","image":"${REPOSITORY:-ghcr.io/neondatabase}/neon-test-extensions-v${PG_TEST_VERSION:-${PG_VERSION:-16}}:${TEST_EXTENSIONS_TAG:-${TAG:-latest}}","command":"sleep 3600","environment":["PGUSER=${PGUSER:-cloud_admin}","PGPASSWORD=${PGPASSWORD:-cloud_admin}"],"depends_on":["compute1"]}],"exposedPorts":["9000","9001","9898","7676","7677","7678","50051","55433","3080"],"dockerRunCommand":"docker run -d --name neon -p 9000:9000 --restart always quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","podmanRunCommand":"podman run -d --name neon -p 9000:9000 --restart always quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","skopeoInspectCommand":"skopeo inspect docker://quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","orasPullCommand":"oras pull quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","registryMeta":{"provider":"quay","image":"quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","canonicalImage":"quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","latestTag":"RELEASE.2022-10-20T00-55-09Z","multiArch":["linux/amd64","linux/arm64"],"cliCommands":{"dockerRun":"docker run -d --name neon -p 9000:9000 --restart always quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","dockerPull":"docker pull quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","podmanRun":"podman run -d --name neon -p 9000:9000 --restart always quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","skopeoInspect":"skopeo inspect docker://quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","orasPull":"oras pull quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z","composeYaml":"services:\n  neon:\n    image: quay.io/minio/minio:RELEASE.2022-10-20T00-55-09Z\n    restart: unless-stopped\n    ports:\n      - \"9000:9000\""}}}