Przejdź do głównej zawartości

Uruchom cMind lokalnie 🖥️

To najszybszy sposób, aby zobaczyć cMind naprawdę — pełna instancja na własnym komputerze. Weź kawę; prawdopodobnie będziesz zalogowany, zanim się schłodzi.

Co będziesz mieć na koniec

Uruchamiająca się aplikacja sieciowa na localhost:8080, serwer MCP na localhost:8081, baza danych Postgres i lokalny węzeł pracownika gotowy do kompilacji i backtestowania cBots. Wszystko na Twojej maszynie, wszystko twoje.

Zanim zaczniesz, potrzebujesz jednego z:

  • Tylko Docker → użyj Opcji A (brak .NET SDK wymagany). Rekomendowany na pierwszy przejrzysty.
  • .NET 10 SDK + Docker → użyj Opcji B, jeśli chcesz hakowć kod.

Obie ścieżki są wieloplatformowe (Windows / macOS / Linux).

Opcja A — Docker Compose (brak wymaganego .NET SDK)​

Prereq: Docker Desktop (lub Docker Engine + wtyczka compose).

cp .env.example .env # edytuj PG_PASSWORD, OWNER_EMAIL, OWNER_PASSWORD
docker compose up --build
  • Web UI: http://localhost:8080 (zaloguj się właścicielem z .env; zmuszony do zmiany hasła przy pierwszym logowaniu).
  • Serwer MCP: http://localhost:8081/mcp.
  • Dane Postgres utrwalają się w wolumenie pgdata; schemat migruje automatycznie przy uruchomieniu.

Kontener sieci montuje gniazdo Docker hosta (/var/run/docker.sock), więc builder wewnątrz przeglądarki i zasiane LocalNode kompiluj + uruchamiaj kontenery cTrader Console na Twojej maszynie.

Notatki wieloplatformowe

  • Docker Desktop (Windows/macOS) udostępnia gniazdo na /var/run/docker.sock — montaż compose działa jak jest.
  • Linux: upewnij się, że twój użytkownik może uzyskać dostęp do gniazda, lub uruchamiaj compose z wystarczającymi uprawnień.
  • Obraz Web to linux/amd64; na Apple Silicon Docker uruchamia go pod emulacją.

Zatrzymaj i wyczyszcz:

docker compose down # utrzymaj dane
docker compose down -v # też usunąć wolumin bazy danych

Opcja B — .NET Aspire (do rozwoju)​

Prereq: .NET 10 SDK + Docker.

dotnet run --project src/AppHost

Aspire orkiestruje Postgres, Web, MCP, pgAdmin; przewody ciągi połączenia + OTLP; otwiera pulpit. Ustaw poświadczenia właściciela jako parametry Aspire (OwnerEmail, OwnerPassword).

Uruchom tylko aplikację sieciową wobec istniejącego Postgres:

dotnet run --project src/Web

Dodawanie węzłów pracownika lokalnie​

Zasiane LocalNode już uruchamia pracę na Twojej maszynie. Do ćwiczenia auto-odkrycia lokalnie, uruchom agenta węzła wskazującego na aplikację Web (patrz node discovery) z NodeAgent:MainUrl=http://host.docker.internal:8080 i dopasowaniem JoinToken.

Rozwiązywanie problemów 🔧​

Docker ma opinie. Oto zwykle podejrzane:

ObjawPrawdopodobna przyczyna i naprawa
port is already allocated na 8080/8081Coś innego używa portu. Zatrzymaj to, lub zmień mapowanie w docker-compose.yml.
Web zaczyna się, ale kompilacje/backtesty zawodząGniazdo Docker nie jest zmontowane lub dostępne. Na Linuksie upewnij się, że twój użytkownik może osiągnąć /var/run/docker.sock.
permission denied na gniazdo (Linux)Dodaj swojego użytkownika do grupy docker (sudo usermod -aG docker $USER) i zaloguj się ponownie, lub uruchom z wystarczającymi uprawnień.
Bardzo powolny pierwszy przebiegPierwsza kompilacja pobiera obrazy i kompiluje — kolejne przebiegi są znacznie szybsze. Na Apple Silicon obraz Web linux/amd64 działa pod emulacją.
Nie mogę się zalogowaćSprawdzić OWNER_EMAIL / OWNER_PASSWORD w .env. Pierwsze logowanie zmusza zmianę hasła.
Dziwactwo bazy danych po uaktualnieniachdocker compose down -v wyciera wolumin dla czystego stanu (utracisz dane lokalne).

Wciąż zablokowany? Otwórz dyskusję — jesteśmy miłych. Następny przystanek: wdrażaj naprawdę →