Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
0b592c2
Update tanstack query to get mutationOptions, and force resolve tslib…
rickyrombo Jan 12, 2026
fe50394
add actual oap dev to local stack instead of audiusd
rickyrombo Jan 13, 2026
3e8fa6c
fix local dev migration bug due to competing user_scores function def…
rickyrombo Jan 13, 2026
09fe8ff
add uploadFileV2 using tus to SDK
rickyrombo Jan 13, 2026
423ed69
fix bug with removing tracks during upload causing an npe
rickyrombo Jan 13, 2026
cdcc554
use openaudio not audiusd in core indexer in dev
rickyrombo Jan 13, 2026
aec5ecb
add some fields to CollectionValues to satisfy SDK adapters
rickyrombo Jan 13, 2026
f485c42
support setting a cover_art_sizes field for tracks
rickyrombo Jan 13, 2026
b602cee
add new upload/publish hooks
rickyrombo Jan 13, 2026
6c2f3a9
fix types after updating tanquery
rickyrombo Jan 13, 2026
5ee2350
fix a routes bug
rickyrombo Jan 13, 2026
5b6defc
simpler upload completion route (always permalink)
rickyrombo Jan 13, 2026
6e4135a
more defensive otp error check
rickyrombo Jan 13, 2026
a7d7ab4
reorder dep
rickyrombo Jan 13, 2026
df42467
fix track list editing in upload
rickyrombo Jan 13, 2026
ec46765
remove tracks from redux state, add clientId to allow tracking after …
rickyrombo Jan 13, 2026
d8b7c2c
wip upload: single, multi, playlist, album. Need: stems, remixes
rickyrombo Jan 13, 2026
6cb9ee2
Merge remote-tracking branch 'origin/main' into mjp-tus-upload
rickyrombo Jan 13, 2026
f18b681
remove unused type
rickyrombo Jan 13, 2026
7fa6be1
Tus uploads for stems (#13577)
rickyrombo Jan 14, 2026
4ee2b97
Merge remote-tracking branch 'origin/main' into mjp-tus-upload
rickyrombo Jan 14, 2026
861d85a
Add analytics, sentry error reporting, and multiplatform support to n…
rickyrombo Jan 15, 2026
93496a6
Show status of stems (#13583)
rickyrombo Jan 15, 2026
85bbeb4
Fix the "replace audio" flow on the upload page (#13587)
rickyrombo Jan 16, 2026
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
7 changes: 4 additions & 3 deletions dev-tools/compose/docker-compose.api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ services:
condition: service_healthy
ports:
- 1323:1323
command: ['/bin/sh', '-c', 'bridge es-indexer drop && bridge']
command:
["/bin/sh", "-c", "bridge es-indexer drop && runMigrations=true bridge"]

elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.10.2
Expand All @@ -25,15 +26,15 @@ services:
- node.name=cluster1-node1
- xpack.license.self_generated.type=basic
- xpack.security.enabled=false
- 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 9200:9200
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:9200']
test: ["CMD", "curl", "-f", "http://localhost:9200"]
interval: 10s
timeout: 10s
retries: 20
47 changes: 25 additions & 22 deletions dev-tools/compose/docker-compose.dev-tools.prod.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: '3.9'
version: "3.9"

services:
ingress:
Expand All @@ -7,8 +7,11 @@ services:
volumes:
- ./nginx_ingress.conf:/etc/nginx/conf.d/default.conf
- ${PROJECT_ROOT}/comms/nginx/ingress.conf:/usr/local/openresty/nginx/conf/comms_ingress.conf
- ../tls/cert.pem:/tmp/cert.pem
- ../tls/key.pem:/tmp/key.pem
ports:
- 80:80
- 443:443

autoheal:
image: willfarrell/autoheal:latest
Expand All @@ -23,33 +26,33 @@ services:
audius-cmd:
build:
args:
TURBO_TEAM: '${TURBO_TEAM:-}'
TURBO_TOKEN: '${TURBO_TOKEN:-}'
TURBO_TEAM: "${TURBO_TEAM:-}"
TURBO_TOKEN: "${TURBO_TOKEN:-}"
context: ${PROJECT_ROOT}
dockerfile: ${PROJECT_ROOT}/packages/commands/Dockerfile.prod
environment:
ETH_TOKEN_ADDRESS: '${ETH_TOKEN_ADDRESS}'
ETH_REGISTRY_ADDRESS: '${ETH_REGISTRY_ADDRESS}'
ETH_PROVIDER_URL: 'http://eth-ganache:8545'
ETH_OWNER_WALLET: '${ETH_OWNER_WALLET}'
ETH_TOKEN_ADDRESS: "${ETH_TOKEN_ADDRESS}"
ETH_REGISTRY_ADDRESS: "${ETH_REGISTRY_ADDRESS}"
ETH_PROVIDER_URL: "http://eth-ganache:8545"
ETH_OWNER_WALLET: "${ETH_OWNER_WALLET}"

POA_REGISTRY_ADDRESS: '${POA_REGISTRY_ADDRESS}'
ENTITY_MANAGER_ADDRESS: '${ENTITY_MANAGER_ADDRESS}'
POA_PROVIDER_URL: 'http://poa-ganache:8545'
POA_REGISTRY_ADDRESS: "${POA_REGISTRY_ADDRESS}"
ENTITY_MANAGER_ADDRESS: "${ENTITY_MANAGER_ADDRESS}"
POA_PROVIDER_URL: "http://poa-ganache:8545"

SOLANA_ENDPOINT: 'http://solana-test-validator:8899'
SOLANA_OWNER_SECRET_KEY: '${SOLANA_OWNER_SECRET_KEY}'
SOLANA_TOKEN_MINT_PUBLIC_KEY: '${SOLANA_TOKEN_MINT_PUBLIC_KEY}'
SOLANA_USDC_TOKEN_MINT_PUBLIC_KEY: '${SOLANA_USDC_TOKEN_MINT_PUBLIC_KEY}'
SOLANA_CLAIMABLE_TOKENS_PUBLIC_KEY: '${SOLANA_CLAIMABLE_TOKENS_PUBLIC_KEY}'
SOLANA_REWARD_MANAGER_PUBLIC_KEY: '${SOLANA_REWARD_MANAGER_PUBLIC_KEY}'
SOLANA_REWARD_MANAGER_PDA_PUBLIC_KEY: '${SOLANA_REWARD_MANAGER_PDA_PUBLIC_KEY}'
SOLANA_REWARD_MANAGER_TOKEN_PDA_PUBLIC_KEY: '${SOLANA_REWARD_MANAGER_TOKEN_PDA_PUBLIC_KEY}'
SOLANA_PAYMENT_ROUTER_PUBLIC_KEY: '${SOLANA_PAYMENT_ROUTER_PUBLIC_KEY}'
SOLANA_FEEPAYER_SECRET_KEY: '${SOLANA_FEEPAYER_SECRET_KEY}'
SOLANA_ENDPOINT: "http://solana-test-validator:8899"
SOLANA_OWNER_SECRET_KEY: "${SOLANA_OWNER_SECRET_KEY}"
SOLANA_TOKEN_MINT_PUBLIC_KEY: "${SOLANA_TOKEN_MINT_PUBLIC_KEY}"
SOLANA_USDC_TOKEN_MINT_PUBLIC_KEY: "${SOLANA_USDC_TOKEN_MINT_PUBLIC_KEY}"
SOLANA_CLAIMABLE_TOKENS_PUBLIC_KEY: "${SOLANA_CLAIMABLE_TOKENS_PUBLIC_KEY}"
SOLANA_REWARD_MANAGER_PUBLIC_KEY: "${SOLANA_REWARD_MANAGER_PUBLIC_KEY}"
SOLANA_REWARD_MANAGER_PDA_PUBLIC_KEY: "${SOLANA_REWARD_MANAGER_PDA_PUBLIC_KEY}"
SOLANA_REWARD_MANAGER_TOKEN_PDA_PUBLIC_KEY: "${SOLANA_REWARD_MANAGER_TOKEN_PDA_PUBLIC_KEY}"
SOLANA_PAYMENT_ROUTER_PUBLIC_KEY: "${SOLANA_PAYMENT_ROUTER_PUBLIC_KEY}"
SOLANA_FEEPAYER_SECRET_KEY: "${SOLANA_FEEPAYER_SECRET_KEY}"

IDENTITY_SERVICE_URL: 'http://identity-service:7000'
FALLBACK_CREATOR_NODE_URL: 'http://creator-node:4000' # this should choose a random cn everytime this is run
IDENTITY_SERVICE_URL: "http://identity-service:7000"
FALLBACK_CREATOR_NODE_URL: "http://creator-node:4000" # this should choose a random cn everytime this is run
deploy:
mode: global
volumes:
Expand Down
100 changes: 100 additions & 0 deletions dev-tools/compose/docker-compose.oap.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
services:
openaudio-1:
image: ${OPENAUDIO_IMAGE:-openaudio/go-openaudio:dev}
restart: unless-stopped
env_file:
- ../environment/openaudio-1.env
extra_hosts:
- "node1.oap.devnet:host-gateway"
- "node2.oap.devnet:host-gateway"
- "node3.oap.devnet:host-gateway"
- "node4.oap.devnet:host-gateway"
healthcheck:
test: ["CMD", "curl", "-f", "http://node1.oap.devnet/"]
interval: 10s
timeout: 5s
retries: 3
start_period: 5s
volumes:
- ./cmd:/app/cmd
- ./pkg:/app/pkg
- ./go.mod:/app/go.mod
- ./go.sum:/app/go.sum
profiles:
- discovery
- storage

openaudio-2:
image: ${OPENAUDIO_IMAGE:-openaudio/go-openaudio:dev}
restart: unless-stopped
env_file:
- ../environment/openaudio-2.env
extra_hosts:
- "node1.oap.devnet:host-gateway"
- "node2.oap.devnet:host-gateway"
- "node3.oap.devnet:host-gateway"
- "node4.oap.devnet:host-gateway"
healthcheck:
test: ["CMD", "curl", "-f", "http://node2.oap.devnet/"]
interval: 10s
timeout: 5s
retries: 3
start_period: 5s
volumes:
- ./cmd:/app/cmd
- ./pkg:/app/pkg
- ./go.mod:/app/go.mod
- ./go.sum:/app/go.sum
profiles:
- discovery
- storage

openaudio-3:
image: ${OPENAUDIO_IMAGE:-openaudio/go-openaudio:dev}
restart: unless-stopped
env_file:
- ../environment/openaudio-3.env
extra_hosts:
- "node1.oap.devnet:host-gateway"
- "node2.oap.devnet:host-gateway"
- "node3.oap.devnet:host-gateway"
- "node4.oap.devnet:host-gateway"
healthcheck:
test: ["CMD", "curl", "-f", "http://node3.oap.devnet/"]
interval: 10s
timeout: 5s
retries: 3
start_period: 5s
volumes:
- ./cmd:/app/cmd
- ./pkg:/app/pkg
- ./go.mod:/app/go.mod
- ./go.sum:/app/go.sum
profiles:
- discovery
- storage

openaudio-4:
image: ${OPENAUDIO_IMAGE:-openaudio/go-openaudio:dev}
restart: unless-stopped
env_file:
- ../environment/openaudio-4.env
extra_hosts:
- "node1.oap.devnet:host-gateway"
- "node2.oap.devnet:host-gateway"
- "node3.oap.devnet:host-gateway"
- "node4.oap.devnet:host-gateway"
healthcheck:
test: ["CMD", "curl", "-f", "http://node4.oap.devnet/"]
interval: 10s
timeout: 5s
retries: 3
start_period: 5s
volumes:
- ./cmd:/app/cmd
- ./pkg:/app/pkg
- ./go.mod:/app/go.mod
- ./go.sum:/app/go.sum
profiles:
- discovery
- storage
91 changes: 42 additions & 49 deletions dev-tools/compose/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,35 @@
version: '3.9'
version: "3.9"

# TODO: Run nethermind in a container called `chain` like https://github.com/AudiusProject/audius-docker-compose/blob/main/discovery-provider/docker-compose.yml#L247
# This has never existed locally but seems to break discovery indexing when signing up now (was previously working)

x-common: &common
logging:
options:
max-size: '50m'
max-file: '3'
max-size: "50m"
max-file: "3"
driver: json-file
extra_hosts:
# Allows the containers can talk to each other via their hostnames routed through nginx
- 'audius-comms-1:host-gateway'
- 'audius-comms-2:host-gateway'
- 'audius-comms-3:host-gateway'
- 'audius-creator-node-1:host-gateway'
- 'audius-creator-node-2:host-gateway'
- 'audius-creator-node-3:host-gateway'
- 'audius-discovery-provider-1:host-gateway'
- 'audius-discovery-provider-2:host-gateway'
- 'audius-discovery-provider-3:host-gateway'
- 'audius-identity-service-1:host-gateway'
- 'audius-solana-test-validator-1:host-gateway'
- 'audius-eth-ganache-1:host-gateway'
- 'audius-pedalboard:host-gateway'
- 'audius-api:host-gateway'
- 'audius-api-elasticsearch:host-gateway'
- "audius-comms-1:host-gateway"
- "audius-comms-2:host-gateway"
- "audius-comms-3:host-gateway"
- "audius-creator-node-1:host-gateway"
- "audius-creator-node-2:host-gateway"
- "audius-creator-node-3:host-gateway"
- "audius-discovery-provider-1:host-gateway"
- "audius-discovery-provider-2:host-gateway"
- "audius-discovery-provider-3:host-gateway"
- "audius-identity-service-1:host-gateway"
- "audius-solana-test-validator-1:host-gateway"
- "audius-eth-ganache-1:host-gateway"
- "audius-pedalboard:host-gateway"
- "audius-api:host-gateway"
- "audius-api-elasticsearch:host-gateway"
- "node1.oap.devnet:host-gateway"
- "node2.oap.devnet:host-gateway"
- "node3.oap.devnet:host-gateway"
- "node4.oap.devnet:host-gateway"
deploy:
resources:
limits:
Expand All @@ -48,15 +52,15 @@ services:
- 5432:5432
- 5454:5432
environment:
PGUSER: 'postgres'
POSTGRES_PASSWORD: 'postgres'
PGUSER: "postgres"
POSTGRES_PASSWORD: "postgres"
volumes:
- ../startup/initdb:/docker-entrypoint-initdb.d
- postgresdata:/var/lib/postgresql/data
<<: *common
healthcheck:
# identity_service is the last db to be created in init-db.sql
test: ['CMD', 'pg_isready', '--dbname', 'identity_service']
test: ["CMD", "pg_isready", "--dbname", "identity_service"]
interval: 10s
timeout: 5s

Expand Down Expand Up @@ -85,41 +89,30 @@ services:
- ${PROJECT_ROOT}/dev-tools/environment/api.env
<<: *common

# Validators
audiusd-1:
# Validator Nodes
openaudio-1:
extends:
file: docker-compose.audiusd.yml
service: audiusd
container_name: audiusd-1
env_file:
- ${PROJECT_ROOT}/dev-tools/environment/audiusd-1.env
file: docker-compose.oap.yml
service: openaudio-1
container_name: openaudio-1
<<: *common

audiusd-2:
openaudio-2:
extends:
file: docker-compose.audiusd.yml
service: audiusd
container_name: audiusd-2
env_file:
- ${PROJECT_ROOT}/dev-tools/environment/audiusd-2.env
file: docker-compose.oap.yml
service: openaudio-2
container_name: openaudio-2
<<: *common

audiusd-3:
openaudio-3:
extends:
file: docker-compose.audiusd.yml
service: audiusd
container_name: audiusd-3
env_file:
- ${PROJECT_ROOT}/dev-tools/environment/audiusd-3.env
file: docker-compose.oap.yml
service: openaudio-3
container_name: openaudio-3
<<: *common

audiusd-4:
openaudio-4:
extends:
file: docker-compose.audiusd.yml
service: audiusd
container_name: audiusd-4
env_file:
- ${PROJECT_ROOT}/dev-tools/environment/audiusd-4.env
file: docker-compose.oap.yml
service: openaudio-4
container_name: openaudio-4
<<: *common

# Identity
Expand Down
Loading
Loading