Open tmaus opened 7 months ago
dug a bit deeper. looking at the docker-compose/stats.yml file revealed some more insights:
stats-db: depends_on: stats-db-init: condition: service_completed_successfully
In this case the depends_on is identified as dictionary instead of list !!!
hope that helps
Describe the bug validating docker-compose.yaml throws the error as stated in title
To Reproduce
Expected behavior As per https://docs.arbitrum.io/launch-orbit-chain/orbit-quickstart description, the container should start up.
Actual behavior Error message: Traceback (most recent call last): File "/opt/homebrew/bin/podman-compose", line 8, in
sys.exit(main())
^^^^^^
File "/opt/homebrew/Cellar/podman-compose/1.0.6/libexec/lib/python3.12/site-packages/podman_compose.py", line 2941, in main
podman_compose.run()
File "/opt/homebrew/Cellar/podman-compose/1.0.6/libexec/lib/python3.12/site-packages/podman_compose.py", line 1421, in run
self._parse_compose_file()
File "/opt/homebrew/Cellar/podman-compose/1.0.6/libexec/lib/python3.12/site-packages/podman_compose.py", line 1536, in _parse_compose_file
resolve_extends(services, service_names, self.environ)
File "/opt/homebrew/Cellar/podman-compose/1.0.6/libexec/lib/python3.12/site-packages/podman_compose.py", line 1310, in resolve_extends
new_service = rec_merge({}, from_service, service)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/podman-compose/1.0.6/libexec/lib/python3.12/site-packages/podman_compose.py", line 1278, in rec_merge
ret = rec_merge_one(target, source)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/podman-compose/1.0.6/libexec/lib/python3.12/site-packages/podman_compose.py", line 1249, in rec_merge_one
raise ValueError(
ValueError: can't merge value of depends_on of type <class 'dict'> and <class 'list'>
Output
Environment:
Additional context
docker-compose.yaml
version: '3.9' services: redis_db: extends: file: ./docker-compose/services/redis.yml service: redis_db
db-init: extends: file: ./docker-compose/services/db.yml service: db-init
db: extends: file: ./docker-compose/services/db.yml service: db
backend: depends_on:
db:database environment: ETHEREUM_JSONRPC_HTTP_URL: http://nitro:8449/ ETHEREUM_JSONRPC_TRACE_URL: http://nitro:8449/ INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: "true"
visualizer: extends: file: ./docker-compose/services/visualizer.yml service: visualizer
sig-provider: extends: file: ./docker-compose/services/sig-provider.yml service: sig-provider
frontend: depends_on:
backend extends: file: ./docker-compose/services/frontend.yml service: frontend environment: NEXT_PUBLIC_NETWORK_NAME: "Arbitrum Local" NEXT_PUBLIC_NETWORK_SHORT_NAME: "Arbitrum Local" NEXT_PUBLIC_AD_BANNER_PROVIDER: "none" NEXT_PUBLIC_NETWORK_RPC_URL: http://nitro:8449/
stats-db-init: extends: file: ./docker-compose/services/stats.yml service: stats-db-init
stats-db: depends_on:
backend extends: file: ./docker-compose/services/stats.yml service: stats-db
stats: depends_on:
stats-db extends: file: ./docker-compose/services/stats.yml service: stats
proxy: depends_on:
stats extends: file: ./docker-compose/services/nginx.yml service: proxy
nitro: image: offchainlabs/nitro-node:v2.3.0-3e14543 ports:
"./config:/home/user/.arbitrum" command: --conf.file /home/user/.arbitrum/nodeConfig.json
das-server: image: offchainlabs/nitro-node:v2.3.0-3e14543 entrypoint: [ "/bin/bash", "/das-server.sh" ] volumes: