Add production and development compose configurations

- compose.prod.yml for traefik/hanzo-network deployment
- compose.yml for local development with full stack
- Configure Inter font and dark theme
- Update logo to LUX white logo


Co-authored-by: Hanzo Dev <dev@hanzo.ai>
This commit is contained in:
Zach Kelling
2025-06-26 19:14:30 +00:00
co-authored by Hanzo Dev
parent 16520b2d3f
commit 4f0a407f6a
2 changed files with 120 additions and 12 deletions
+11 -12
View File
@@ -33,37 +33,36 @@ services:
NEXT_PUBLIC_HOMEPAGE_PLATE_TEXT_COLOR: white
# API configuration
NEXT_PUBLIC_API_HOST: lux-explorer-backend
NEXT_PUBLIC_API_HOST: api-explore.lux.network
NEXT_PUBLIC_API_PROTOCOL: https
NEXT_PUBLIC_API_BASE_PATH: /
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: ws
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: wss
# Network dropdown (all LUX ecosystem networks)
NEXT_PUBLIC_FEATURED_NETWORKS: /networks.json
# Other configurations
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED: 'true'
NEXT_PUBLIC_AUTH_URL: http://lux-explorer-backend:4000
NEXT_PUBLIC_AUTH_URL: https://api-explore.lux.network
NEXT_PUBLIC_LOGOUT_URL: https://luxwallet.xyz/api/auth/logout
NEXT_PUBLIC_STATS_API_HOST: http://lux-explorer-stats:8050
NEXT_PUBLIC_VISUALIZE_API_HOST: http://lux-explorer-visualizer:8050
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: http://lux-explorer-backend:4000
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST: http://lux-explorer-backend:4000
NEXT_PUBLIC_STATS_API_HOST: https://api-explore.lux.network/api/stats
NEXT_PUBLIC_VISUALIZE_API_HOST: https://api-explore.lux.network/api/visualize
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: https://api-explore.lux.network
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST: https://api-explore.lux.network
networks:
- explorer-network
- hanzo-network
labels:
- "traefik.enable=true"
- "traefik.http.routers.lux-explorer.rule=Host(`explore.lux.network`)"
- "traefik.http.routers.lux-explorer.entrypoints=websecure"
- "traefik.http.routers.lux-explorer.tls.certresolver=letsencrypt"
- "traefik.http.services.lux-explorer.loadbalancer.server.port=3000"
- "traefik.docker.network=traefik"
- "traefik.docker.network=hanzo-network"
volumes:
- ./public/networks.json:/app/public/networks.json:ro
- ./public/favicon.ico:/app/public/favicon.ico:ro
networks:
explorer-network:
external: true
traefik:
hanzo-network:
external: true
+109
View File
@@ -0,0 +1,109 @@
version: '3.8'
# Local development compose file - runs entire stack locally
services:
redis:
image: redis:alpine
container_name: lux-redis
restart: unless-stopped
volumes:
- redis-data:/data
networks:
- explorer-network
postgres:
image: postgres:14
container_name: lux-postgres
restart: unless-stopped
environment:
POSTGRES_DB: blockscout
POSTGRES_USER: blockscout
POSTGRES_PASSWORD: blockscout
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- explorer-network
backend:
image: blockscout/blockscout:latest
container_name: lux-backend
restart: unless-stopped
depends_on:
- redis
- postgres
environment:
DATABASE_URL: postgresql://blockscout:blockscout@postgres:5432/blockscout
REDIS_URL: redis://redis:6379
ETHEREUM_JSONRPC_HTTP_URL: http://127.0.0.1:9650/ext/bc/dnmzhuf6poM6PUNQCe7MWWfBdTJEnddhHRNXz2x7H6qSmyBEJ/rpc
ETHEREUM_JSONRPC_TRACE_URL: http://127.0.0.1:9650/ext/bc/dnmzhuf6poM6PUNQCe7MWWfBdTJEnddhHRNXz2x7H6qSmyBEJ/rpc
ETHEREUM_JSONRPC_WS_URL: ws://127.0.0.1:9650/ext/bc/dnmzhuf6poM6PUNQCe7MWWfBdTJEnddhHRNXz2x7H6qSmyBEJ/ws
CHAIN_ID: 96369
COIN: LUX
NETWORK: LUX Network
BLOCKSCOUT_HOST: localhost
BLOCKSCOUT_PROTOCOL: http
SECRET_KEY_BASE: VTIB3uHDNbvrY0+60ZWgUoUBKDn9ppLR8MI4CpRz4/qLyEFs54ktJfaNT6Z221No
ports:
- "4000:4000"
networks:
- explorer-network
frontend:
build:
context: .
dockerfile: Dockerfile
container_name: lux-frontend
restart: unless-stopped
depends_on:
- backend
environment:
# Network configuration
NEXT_PUBLIC_NETWORK_NAME: LUX Network
NEXT_PUBLIC_NETWORK_SHORT_NAME: LUX
NEXT_PUBLIC_NETWORK_ID: 96369
NEXT_PUBLIC_NETWORK_CURRENCY_NAME: LUX
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: LUX
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: 18
# Branding
NEXT_PUBLIC_NETWORK_LOGO: https://docs.lux.network/img/lux-logo-white.png
NEXT_PUBLIC_NETWORK_LOGO_DARK: https://docs.lux.network/img/lux-logo-white.png
NEXT_PUBLIC_NETWORK_ICON: https://docs.lux.network/img/lux-logo-white.png
NEXT_PUBLIC_NETWORK_ICON_DARK: https://docs.lux.network/img/lux-logo-white.png
NEXT_PUBLIC_OG_IMAGE_URL: https://docs.lux.network/img/lux-logo-white.png
# Font configuration
NEXT_PUBLIC_FONT_FAMILY_HEADING: '{"name": "Inter", "url": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"}'
NEXT_PUBLIC_FONT_FAMILY_BODY: '{"name": "Inter", "url": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"}'
# Theme configuration
NEXT_PUBLIC_COLOR_THEME_DEFAULT: dark
NEXT_PUBLIC_HOMEPAGE_PLATE_BACKGROUND: black
NEXT_PUBLIC_HOMEPAGE_PLATE_TEXT_COLOR: white
# API configuration
NEXT_PUBLIC_API_HOST: localhost
NEXT_PUBLIC_API_PORT: 4000
NEXT_PUBLIC_API_PROTOCOL: http
NEXT_PUBLIC_API_BASE_PATH: /
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: ws
# Network dropdown (all LUX ecosystem networks)
NEXT_PUBLIC_FEATURED_NETWORKS: /networks.json
# Other configurations
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED: 'true'
NEXT_PUBLIC_AUTH_URL: http://localhost:4000
NEXT_PUBLIC_LOGOUT_URL: https://luxwallet.xyz/api/auth/logout
ports:
- "3000:3000"
networks:
- explorer-network
volumes:
redis-data:
postgres-data:
networks:
explorer-network:
driver: bridge