# todo: figure out how to pass the external IP to the client # todo: automatically initialize from snapshot services: thundercore-venus: image: thundercore/thunder:r4.1.3 stop_grace_period: 5m ulimits: nofile: 1048576 expose: - "8545" ports: - "10368:10368/tcp" - "10368:10368/udp" volumes: - thundercore-venus-thunder-pruned-leveldb-hash:/datadir - ./thundercore/venus:/config networks: - chains entrypoint: [ "/sbin/tini", "--", "/entrypoint.sh", "--logToConsole" ] environment: CONFIG_PATH: /config PORT: 10368 SNAPSHOT_CMD: 'wget -c "$(wget -q -O - https://chaindata-backup-prod-venus-us-east-1.s3.amazonaws.com/venus-latest)" -O - | tar -C /datadir -zx' restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.middlewares.thundercore-venus-thunder-pruned-leveldb-hash-stripprefix.stripprefix.prefixes=/thundercore-venus" - "traefik.http.services.thundercore-venus-thunder-pruned-leveldb-hash.loadbalancer.server.port=8545" - "traefik.http.routers.thundercore-venus-thunder-pruned-leveldb-hash.entrypoints=websecure" - "traefik.http.routers.thundercore-venus-thunder-pruned-leveldb-hash.tls.certresolver=myresolver" - "traefik.http.routers.thundercore-venus-thunder-pruned-leveldb-hash.rule=Host(`$DOMAIN`) && PathPrefix(`/thundercore-venus`)" - "traefik.http.routers.thundercore-venus-thunder-pruned-leveldb-hash.middlewares=thundercore-venus-thunder-pruned-leveldb-hash-stripprefix, ipwhitelist" thundercore-venus-download: image: alpine:latest user: root environment: - SNAPSHOT_URL=https://chaindata-backup-prod-venus-us-east-1.s3.amazonaws.com/venus-latest volumes: - thundercore-venus-thunder-pruned-leveldb-hash:/datadir - ./thundercore/scripts/download.thunder.sh:/download.sh command: sh -c "/download.sh" restart: "no" profiles: - manual volumes: thundercore-venus-thunder-pruned-leveldb-hash: