Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Infra Fog: Compose #555

Merged
merged 3 commits into from
Dec 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 0 additions & 17 deletions creator-node/Caddyfile

This file was deleted.

22 changes: 0 additions & 22 deletions creator-node/dev.env

This file was deleted.

160 changes: 26 additions & 134 deletions creator-node/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,166 +11,58 @@ x-extra-hosts: &extra-hosts
- "solana-test-validator.devnet.audius-d:${HOST_DOCKER_INTERNAL:-172.100.0.1}"

services:
core:
container_name: core
image: audius/core:${TAG:-current}
restart: unless-stopped
ports:
- "26656:26656" # CometBFT P2P Server
- "26657:26657" # CometBFT RPC Server
- "26659:26659" # Console UI
- "50051:50051" # Core GRPC Server
mem_limit: 2g
cpus: 2
volumes:
- /var/k8s/bolt:/audius-core
env_file:
- ${NETWORK:-prod}.env
- ${OVERRIDE_PATH:-override.env}
networks:
- creator-node-network
audiusd:
image: audius/audiusd:${TAG:-current}
container_name: audiusd
pull_policy: always
logging:
options:
max-size: 10m
max-file: 3
mode: non-blocking
max-buffer-size: 100m
driver: json-file
depends_on:
db:
condition: service_healthy

db:
container_name: postgres
image: postgres:15.5-bookworm
shm_size: 2g
restart: always
entrypoint: >
/bin/bash -c
"if [ -f /var/lib/postgresql/data/pg_hba.conf ]; then
if [[ $$(tail -n 1 /var/lib/postgresql/data/pg_hba.conf) != 'hostnossl all all 0.0.0.0/0 trust' ]]; then
echo 'hostnossl all all 0.0.0.0/0 trust' >> /var/lib/postgresql/data/pg_hba.conf;
fi;
fi;
/usr/local/bin/docker-entrypoint.sh postgres -c shared_buffers=2GB -c max_connections=500 -c shared_preload_libraries=pg_stat_statements -c listen_addresses='*'"
healthcheck:
test: ['CMD', 'pg_isready', '-U', 'postgres']
interval: 10s
timeout: 5s
ports:
- '127.0.0.1:5432:5432'
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: audius_creator_node
logging:
options:
max-size: 10m
max-file: 3
mode: non-blocking
max-buffer-size: 100m
driver: json-file
volumes:
- /var/k8s/creator-node-db-15:/var/lib/postgresql/data
networks:
- creator-node-network

autoheal:
image: willfarrell/autoheal
container_name: autoheal
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
environment:
- AUTOHEAL_INTERVAL=10
- CURL_TIMEOUT=30
logging:
options:
max-size: 10m
max-file: 3
mode: non-blocking
max-buffer-size: 100m
driver: json-file

vector:
extends:
file: ../common-services.yml
service: vector
env_file:
- ${NETWORK:-prod}.env
- ${OVERRIDE_PATH:-override.env}
networks:
- creator-node-network
volumes:
- ../auto-upgrade.log:/auto-upgrade.log

mediorum:
image: audius/mediorum:${TAG:-current}
container_name: mediorum
<<: *extra-hosts
restart: unless-stopped
networks:
- creator-node-network
ports:
- "${MEDIORUM_PORT:-4000}:1991"
- 127.0.0.1:6060:6060
- '1991:1991' # mediorum http server
- '127.0.0.1:6060:6060' # mediorum pprof server
- '26656:26656' # cometBFT P2P server
- '26657:26657' # cometBFT RPC server
- '26659:26659' # console UI
- '50051:50051' # core GRPC server
- '127.0.0.1:5432:5432' # postgresql
- "${AUDIUSD_HTTP_PORT:-80}:80" # echoserver http required for auto tls
- "${AUDIUSD_HTTP_PORT:-443}:443" # echoserver https via letsencrypt
env_file:
- ${NETWORK:-prod}.env
- ${OVERRIDE_PATH:-override.env}
volumes:
- /var/k8s/mediorum:/tmp/mediorum
- /var/k8s/creator-node-backend:/file_storage
environment:
- LOGSPOUT=ignore
- ENABLE_STORAGE=true
- audius_core_root_dir=/audius-core
logging:
options:
max-size: 10m
max-file: 3
mode: non-blocking
max-buffer-size: 100m
driver: json-file
depends_on:
db:
condition: service_healthy
volumes:
- /var/k8s/bolt:/bolt
- /var/k8s/bolt:/audius-core
- /var/k8s/mediorum:/tmp/mediorum
- /var/k8s/creator-node-db-15:/data/postgres
deploy:
resources:
limits:
cpus: '6' # 8 is required for all SPs, so we'll leave 2 for the OS, postgres, etc
memory: 14G # 16G is required for all SPs, so we'll leave 2G for the OS, postgres, etc
cpus: '6.0'
memory: '14G'

caddy:
image: audius/caddy:2.7.4
container_name: caddy
<<: *extra-hosts
restart: unless-stopped
env_file:
- ${OVERRIDE_PATH:-override.env}
networks:
- creator-node-network
ports:
- 80:80
- 443:443
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config

uptime:
image: audius/uptime:current
container_name: uptime
<<: *extra-hosts
restart: unless-stopped
vector:
extends:
file: ../common-services.yml
service: vector
env_file:
- ${NETWORK:-prod}.env
- ${OVERRIDE_PATH:-override.env}
networks:
- creator-node-network
volumes:
- /var/k8s/bolt:/bolt
- ../auto-upgrade.log:/auto-upgrade.log

networks:
creator-node-network:

volumes:
caddy_data:
caddy_config:
55 changes: 0 additions & 55 deletions creator-node/prod.env
Original file line number Diff line number Diff line change
@@ -1,56 +1 @@
# DO NOT MODIFY these values, use `audius-cli get-config creator-node` for accurate values

# Required node-specific overrides
creatorNodeEndpoint=
delegateOwnerWallet=
delegatePrivateKey=
spOwnerWallet=

# Infra
dbConnectionPoolMax=400
redisHost=cache
redisPort=6379
enableRsyslog=false

# Chain
dataNetworkId=99
dataProviderUrl=https://acdc-gateway.audius.co
dataRegistryAddress=0xC611C82150b56E6e4Ec5973AcAbA8835Dd0d75A2
entityManagerAddress=0x1Cd8a543596D499B9b6E7a6eC15ECd2B7857Fd64
entityManagerReplicaSetEnabled=true
ethNetworkId=1
ethOwnerWallet=0xe886a1858d2d368ef8f02c65bdd470396a1ab188
# TODO: Protocol dashboard has multiple: https://eth-mainnet.alchemyapi.io/v2/hELYSivAlDc8LV29Mw_LumSdCZ4HQEge,https://eth-mainnet.alchemyapi.io/v2/Iy15fLTuL7wfRNqhMWZOyusLiqG2LGHJ,https://eth-mainnet.alchemyapi.io/v2/dKWeJWSF5lz5y_o0lQNVR2BfcmYglClO,https://eth-mainnet.alchemyapi.io/v2/W--Uss7AqotdfKao0PH6aTQa9bOG4osc
ethProviderUrl=https://eth-mainnet.g.alchemy.com/v2/4hFRA61i6OFXz2UmkyFsSvgXBQBBOGgW
ethRegistryAddress=0xd976d3b4f4e22a238c1A736b6612D22f17b6f64C
ethTokenAddress=0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998

# Application
MEDIORUM_ENV=prod
identityService=https://identityservice.audius.co
logLevel=info
discoveryListensEndpoints=https://discoveryprovider.audius.co

# logging
audius_axiom_dataset=content

# /d UI
audiusUrl=https://audius.co
queryProposalStartBlock=11818009
gqlUri=https://gateway.thegraph.com/api/372f3681a94e4a45867d46cf59423e22/subgraphs/id/0x819fd65026848d710fe40d8c0439f1220e069398-0
gqlBackupUri=https://api.thegraph.com/subgraphs/name/audius-infra/audius-network-mainnet
wormholeContractAddress=0x6E7a1F7339bbB62b23D44797b63e4258d283E095
claimDistributionContractAddress=0x683c19E621A0F107a291fdAB38f80179809d61B5
solanaClusterEndpoint=https://solana-mainnet.g.alchemy.com/v2/fCWqhO4QJ7X8XqXvi213Mzclmn-30-ie
wAudioMintAddress=9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM
usdcMintAddress=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
solanaTokenProgramAddress=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
claimableTokenPda=5ZiE3vAkrdXBgyFL7KqG3RoEGBws4CjRcXVbABDLZTgx
solanaFeePayerAddress=CgJhbUdHQNN5HBeNEN7J69Z89emh6BtyYX1CPEGwaeqi
claimableTokenProgramAddress=Ewkv3JahEFRKkcJmpoKB7pXbnUHwjAyXiwEo4ZY2rezQ
rewardsManagerProgramId=DDZDcYdQFEMwcu2Mwo75yGFjJ1mUQyyXLWzhZLEVFcei
rewardsManagerProgramPda=71hWFVYokLaN1PNYzTAWi13EfJ7Xt9VbSWUKsXUT8mxE
rewardsManagerTokenPda=3V9opXNpHmPPymKeq7CYD8wWMH8wzFXmqEkNdzfsZhYq

# Core
audius_core_root_dir=/audius-core
53 changes: 0 additions & 53 deletions creator-node/stage.env
Original file line number Diff line number Diff line change
@@ -1,54 +1 @@
# DO NOT MODIFY these values, use `audius-cli get-config creator-node` for accurate values

# Required node-specific overrides
creatorNodeEndpoint=
delegateOwnerWallet=
delegatePrivateKey=
spOwnerWallet=

# Infra
dbConnectionPoolMax=400
redisHost=cache
redisPort=6379
enableRsyslog=false

# Chain
dataNetworkId=77
dataProviderUrl=https://acdc-gateway.staging.audius.co
dataRegistryAddress=0x793373aBF96583d5eb71a15d86fFE732CD04D452
entityManagerAddress=0x1Cd8a543596D499B9b6E7a6eC15ECd2B7857Fd64
ethNetworkId=11155111
ethOwnerWallet=
ethProviderUrl=https://eth-sepolia.g.alchemy.com/v2/J1Pj86H-g87FqUZVMUbLGgnyoaQTHP1P
ethRegistryAddress=0xc682C2166E11690B64338e11633Cb8Bb60B0D9c0
ethTokenAddress=0x1376180Ee935AA64A27780F4BE97726Df7B0e2B2

# Application
MEDIORUM_ENV=stage
identityService=https://identityservice.staging.audius.co
discoveryListensEndpoints=https://discoveryprovider.staging.audius.co

# logging
audius_axiom_dataset=stage-content

# /d UI
audiusUrl=https://staging.audius.co
queryProposalStartBlock=1
gqlUri=https://api.thegraph.com/subgraphs/name/audius-infra/audius-network-sepolia
gqlBackupUri=
wormholeContractAddress=0xf6f45e4d836da1d4ecd43bb1074620bfb0b7e0d7
claimDistributionContractAddress=0x74b89B916c97d50557E8F944F32662fE52Ce378d
solanaClusterEndpoint=https://solana-mainnet.g.alchemy.com/v2/N_o4w4Lgk2afO8uho9uuZu0LNi6gldVz
wAudioMintAddress=BELGiMZQ34SDE6x2FUaML2UHDAgBLS64xvhXjX5tBBZo
usdcMintAddress=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
solanaTokenProgramAddress=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
claimableTokenPda=Aw5AjygeMf9Nvg61BXvFSAzkqxcLqL8koepb14kvfc3W
solanaFeePayerAddress=E3CfijtAJwBSHfwFEViAUd3xp7c8TBxwC1eXn1Fgxp8h
claimableTokenProgramAddress=2sjQNmUfkV6yKKi4dPR8gWRgtyma5aiymE3aXL2RAZww
rewardsManagerProgramId=CDpzvz7DfgbF95jSSCHLX3ERkugyfgn9Fw8ypNZ1hfXp
rewardsManagerProgramPda=GaiG9LDYHfZGqeNaoGRzFEnLiwUT7WiC6sA6FDJX9ZPq
rewardsManagerTokenPda=HJQj8P47BdA7ugjQEn45LaESYrxhiZDygmukt8iumFZJ

# Core
audius_core_root_dir=/audius-core
audius_core_log_level=info