nofx Docker & Self-Hosted Deployment

GitHub

Your AI trading terminal assistant for US stocks, commodities, forex, and crypto.

RAW Compose
1. Pull Image (GHCR) docker pull ghcr.io/nofxaios/nofx/nofx-backend
2. Docker Run (1-Click Launch) docker run -d --name nofx -p 8080:8080 --restart always ghcr.io/nofxaios/nofx/nofx-backend:latest
3. Podman Run podman run -d --name nofx -p 8080:8080 --restart always ghcr.io/nofxaios/nofx/nofx-backend:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://ghcr.io/nofxaios/nofx/nofx-backend:latest
5. ORAS Pull (OCI Artifact) oras pull ghcr.io/nofxaios/nofx/nofx-backend:latest
6. Compose Deployment docker compose up -d
docker-compose.prod.yml
Download .yml
# NOFX Production Deployment
# ็”จๆˆท้ƒจ็ฝฒไธ“็”จ - ไฝฟ็”จๅฎ˜ๆ–น้ข„ๆž„ๅปบ้•œๅƒ
#
# ไธ€้”ฎ้ƒจ็ฝฒๅ‘ฝไปค:
# curl -fsSL https://raw.githubusercontent.com/NoFxAiOS/nofx/main/install.sh | bash
#
# ๆˆ–ๆ‰‹ๅŠจ้ƒจ็ฝฒ:
# curl -O https://raw.githubusercontent.com/NoFxAiOS/nofx/main/docker-compose.prod.yml
# docker compose -f docker-compose.prod.yml up -d

services:
  nofx:
    image: ghcr.io/nofxaios/nofx/nofx-backend:latest
    container_name: nofx-trading
    restart: unless-stopped
    stop_grace_period: 30s
    ports:
      - "${NOFX_BACKEND_PORT:-8080}:8080"
    volumes:
      # Data directory for database and logs
      - ./data:/app/data
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    environment:
      - TZ=${TZ:-Asia/Shanghai}
      - AI_MAX_TOKENS=8000
    networks:
      - nofx-network
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/api/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 60s

  nofx-frontend:
    image: ghcr.io/nofxaios/nofx/nofx-frontend:latest
    container_name: nofx-frontend
    restart: unless-stopped
    ports:
      - "${NOFX_FRONTEND_PORT:-3000}:80"
    networks:
      - nofx-network
    depends_on:
      - nofx
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 5s

networks:
  nofx-network:
    driver: bridge