chore: update to Docker Compose v2 commands
- docker-compose -> docker compose - updates file format to latest
- docker-compose -> docker compose - updates file format to latest
## Overview
Cross-platform, _typed_, and **queryable** API for Cardano. The project contains multiple [packages] for composing
GraphQL services to meet specific application demands, and a [docker-compose stack] serving the included
GraphQL services to meet specific application demands, and a [docker compose stack] serving the included
[cardano-graphql-server Dockerfile], the extended [hasura Dockerfile], [cardano-node-ogmios]. The [schema] is defined in
native `.graphql`, and used to generate a [TypeScript package for client-side static typing]. A mutation is available to
submit a signed and serialized transaction to the local node.
Choose **one** of the following:
#### A) Build and Run via Docker Compose
Boot the [docker-compose stack] using a convention for container and volume scoping based on the network, as well as
Boot the [docker compose stack] using a convention for container and volume scoping based on the network, as well as
optionally hitting the remote cache to speed up the build. The containers are detached, so you can terminate the log
console session freely. See [Docker Compose docs] to tailor for your use-case
DOCKER_BUILDKIT=1 \
COMPOSE_DOCKER_CLI_BUILD=1 \
RESTORE_SNAPSHOT=https://update-cardano-mainnet.iohk.io/cardano-db-sync/13/db-sync-snapshot-schema-13-block-8291499-x86_64.tgz \
docker-compose up -d --build &&\
docker-compose logs -f
docker compose up -d --build &&\
docker compose logs -f
```
</details>
OGMIOS_PORT=1338 \
POSTGRES_PORT=5433 \
METADATA_SERVER_URI="https://metadata.cardano-testnet.iohkdev.io" \
docker-compose -p preprod up -d --build &&\
docker-compose -p preprod logs -f
docker compose -p preprod up -d --build &&\
docker compose -p preprod logs -f
```
</details>
OGMIOS_PORT=1339 \
POSTGRES_PORT=5434 \
METADATA_SERVER_URI="https://metadata.cardano-testnet.iohkdev.io" \
docker-compose -p preview up -d --build &&\
docker-compose -p preview logs -f
docker compose -p preview up -d --build &&\
docker compose -p preview logs -f
```
</details>
docker pull inputoutput/cardano-graphql-hasura:7.0.2 &&\
docker pull cardanosolutions/cardano-node-ogmios:v5.5.8_1.35.5-${NETWORK} &&\
RESTORE_SNAPSHOT=https://update-cardano-mainnet.iohk.io/cardano-db-sync/13/db-sync-snapshot-schema-13-block-8291499-x86_64.tgz \
docker-compose up -d &&\
docker-compose logs -f
docker compose up -d &&\
docker compose logs -f
```
</details>
HASURA_PORT=8091 \
OGMIOS_PORT=1338 \
POSTGRES_PORT=5433 \
docker-compose -p ${NETWORK} up -d &&\
docker-compose -p ${NETWORK} logs -f
docker compose -p ${NETWORK} up -d &&\
docker compose -p ${NETWORK} logs -f
```
</details>
docker pull inputoutput/cardano-graphql-hasura:7.0.2 &&\
docker pull cardanosolutions/cardano-node-ogmios:v5.5.8_1.35.5-${NETWORK} &&\
API_PORT=3102 \
HASURA_PORT=8092 \
HASURA_PORT=8092 \
OGMIOS_PORT=1339 \
POSTGRES_PORT=5434 \
docker-compose -p ${NETWORK} up -d &&\
docker-compose -p ${NETWORK} logs -f
docker compose -p ${NETWORK} up -d &&\
docker compose -p ${NETWORK} logs -f
```
</details>
<summary><i>mainnet</i></summary>
``` console
docker-compose down
docker compose down
```
</details>
<details>
<summary><i>preprod</i></summary>
``` console
docker-compose -p preprod down
docker compose -p preprod down
```
</details>
<summary><i>preview</i></summary>
``` console
docker-compose -p preview down
docker compose -p preview down
```
</details>
http://localhost:3100/graphql
```
:information_source: _Wait for `initialized` to be `true` to ensure the epoch dataset is complete. After the first sync
you may need to restart the services using `docker-compose restart cardano-graphql` if the GraphQL server isn't
you may need to restart the services using `docker compose restart cardano-graphql` if the GraphQL server isn't
running._
### Query the full dataset
[img_src_CI]: https://github.com/input-output-hk/cardano-graphql/workflows/CI/badge.svg
[workflow_CI]: https://github.com/input-output-hk/cardano-graphql/actions?query=workflow%3ACI
[packages]: ./packages
[docker-compose stack]: ./docker-compose.yml
[docker compose stack]: ./docker-compose.yml
[Docker Compose docs]: https://docs.docker.com/compose/
[cardano-graphql-server Dockerfile]: ./Dockerfile
[hasura Dockerfile]: ./packages/api-cardano-db-hasura/hasura/Dockerfile
version: "3.5"
version: "3.8"
services:
postgres:
"cli:uninstall": "yarn workspace @cardano-graphql/cli global:remove",
"dev:init": "./scripts/dev_init.sh",
"dev:cleanup": "shx rm -rf ./state ./bin",
"mainnet:stack": "CONTEXT=$PWD NETWORK=mainnet . ./scripts/export_env.sh && docker-compose -p mainnet up --build -d",
"mainnet:stack": "CONTEXT=$PWD NETWORK=mainnet . ./scripts/export_env.sh && docker compose -p mainnet up --build -d",
"mainnet:dev": "CONTEXT=$PWD NETWORK=mainnet . ./scripts/export_env.sh && yarn service-dependencies -p mainnet up --build",
"mainnet:up": "yarn mainnet:stack && docker-compose -p mainnet logs -f",
"mainnet:down": "docker-compose -p mainnet down --remove-orphans",
"mainnet:up": "yarn mainnet:stack && docker compose -p mainnet logs -f",
"mainnet:down": "docker compose -p mainnet down --remove-orphans",
"mainnet:server": "CONTEXT=$PWD NETWORK=mainnet . ./scripts/export_env.sh && yarn workspace @cardano-graphql/server start",
"preprod:stack": "CONTEXT=$PWD NETWORK=preprod . ./scripts/export_env.sh && docker-compose -p preprod up --build -d",
"preprod:stack": "CONTEXT=$PWD NETWORK=preprod . ./scripts/export_env.sh && docker compose -p preprod up --build -d",
"preprod:dev": "CONTEXT=$PWD NETWORK=preprod . ./scripts/export_env.sh && yarn service-dependencies -p preprod up --build",
"preprod:up": "yarn preprod:stack && docker-compose -p preprod logs -f",
"preprod:down": "docker-compose -p preprod down --remove-orphans",
"preprod:up": "yarn preprod:stack && docker compose -p preprod logs -f",
"preprod:down": "docker compose -p preprod down --remove-orphans",
"preprod:server": "CONTEXT=$PWD NETWORK=preprod . ./scripts/export_env.sh && yarn workspace @cardano-graphql/server start",
"preview:stack": "CONTEXT=$PWD NETWORK=preview . ./scripts/export_env.sh && docker-compose -p preview up --build -d",
"preview:stack": "CONTEXT=$PWD NETWORK=preview . ./scripts/export_env.sh && docker compose -p preview up --build -d",
"preview:dev": "CONTEXT=$PWD NETWORK=preview . ./scripts/export_env.sh && yarn service-dependencies -p preview up --build",
"preview:up": "yarn preview:stack && docker-compose -p preview logs -f",
"preview:down": "docker-compose -p preview down --remove-orphans",
"preview:up": "yarn preview:stack && docker compose -p preview logs -f",
"preview:down": "docker compose -p preview down --remove-orphans",
"preview:server": "CONTEXT=$PWD NETWORK=preview . ./scripts/export_env.sh && yarn workspace @cardano-graphql/server start",
"testnet:stack": "CONTEXT=$PWD NETWORK=testnet . ./scripts/export_env.sh && docker-compose -p testnet up --build -d",
"testnet:stack": "CONTEXT=$PWD NETWORK=testnet . ./scripts/export_env.sh && docker compose -p testnet up --build -d",
"testnet:dev": "CONTEXT=$PWD NETWORK=testnet . ./scripts/export_env.sh && yarn service-dependencies -p testnet up --build",
"testnet:up": "yarn testnet:stack && docker-compose -p testnet logs -f",
"testnet:down": "docker-compose -p testnet down --remove-orphans",
"testnet:up": "yarn testnet:stack && docker compose -p testnet logs -f",
"testnet:down": "docker compose -p testnet down --remove-orphans",
"testnet:server": "CONTEXT=$PWD NETWORK=testnet . ./scripts/export_env.sh && yarn workspace @cardano-graphql/server start",
"vasil-dev:stack": "CONTEXT=$PWD NETWORK=vasil-dev . ./scripts/export_env.sh && docker-compose -p vasil-dev up --build -d",
"vasil-dev:stack": "CONTEXT=$PWD NETWORK=vasil-dev . ./scripts/export_env.sh && docker compose -p vasil-dev up --build -d",
"vasil-dev:dev": "CONTEXT=$PWD NETWORK=vasil-dev . ./scripts/export_env.sh && yarn service-dependencies -p vasil-dev up --build",
"vasil-dev:up": "yarn vasil-dev:stack && docker-compose -p vasil-dev logs -f",
"vasil-dev:down": "docker-compose -p vasil-dev down --remove-orphans",
"vasil-dev:up": "yarn vasil-dev:stack && docker compose -p vasil-dev logs -f",
"vasil-dev:down": "docker compose -p vasil-dev down --remove-orphans",
"vasil-dev:server": "CONTEXT=$PWD NETWORK=vasil-dev . ./scripts/export_env.sh && yarn workspace @cardano-graphql/server start",
"lint": "yarn workspaces run lint",
"loadtest:byron-staging": "artillery run test/loadtest/byron-staging-config.yml",
"publish-packages": "yarn workspaces run publish",
"service-dependencies": "docker-compose config --services | grep -v \"cardano-graphql\" | xargs docker-compose",
"service-dependencies": "docker compose config --services | grep -v \"cardano-graphql\" | xargs docker compose",
"test": "yarn workspaces run test"
},
"contributors": [
private async up (): Promise<IDockerComposeResult> {
const currentState = await this.currentState()
if (currentState === StackState.up) return
this.logger.info('docker-compose up')
this.logger.info('docker compose up')
return upAll({
composeOptions: ['-p', this.projectName]
})
private async down (): Promise<void> {
const currentState = await this.currentState()
if (currentState === StackState.down) return
this.logger.info('docker-compose down')
this.logger.info('docker compose down')
await down({
composeOptions: ['-p', this.projectName]
})
private async stop (): Promise<void> {
const currentState = await this.currentState()
if (currentState === StackState.stopped || currentState === StackState.down) return
this.logger.info('docker-compose stop')
this.logger.info('docker compose stop')
await stop({
composeOptions: ['-p', this.projectName]
})
beforeAll(setup)
afterAll(teardown)
describe('booting the docker-compose stack after initialising via docker command', () => {
describe('booting the docker compose stack after initialising via docker command', () => {
beforeAll(dockerCommandCleanup)
afterEach(dockerCommandCleanup)
cgqlInit.stdin.write(acceptDefault)
})
cgqlInit.on('close', () => {
exec(`docker-compose -p ${projectName} up -d`, (error) => {
exec(`docker compose -p ${projectName} up -d`, (error) => {
if (error) {
exec(`docker-compose -p ${projectName} down -v`, () => {
exec(`docker compose -p ${projectName} down -v`, () => {
return done(error)
})
}
exec(`${countRunningContainersScript} ${projectName}`, (error, stdout) => {
if (error) return done(error)
expect(parseInt(stdout.toString())).toBe(5)
exec(`docker-compose -p ${projectName} down -v`, (error) => {
exec(`docker compose -p ${projectName} down -v`, (error) => {
if (error) return done(error)
done()
})
Signed-off-by: Chris Gianelloni <[email protected]>
- Update readme to address issues and questions presented by CPS-0001 - Update CDDL to support a more flexible scoping structure for future expansion
4470: db-analyser: make tracer atomic r=amesgen a=amesgen # Description When enabling verbose logging, tracers from ChainDB background threads can cause undesirable interleavings. Co-authored-by: Alexander Esgen <[email protected]>