Git Product home page Git Product logo

giflooper's Introduction

BUGOUT

๐Ÿ› Play Go against your friends, over the web! ๐Ÿ•ธ

๐Ÿค– Or play against KataGo AI on a power-efficient dev board! ๐Ÿค–

Want to play right now? Click here: go.terkwood.farm

BUGOUT Online Go

Design

architecture

๐Ÿ›‘ STOP! Potential developers, please read carefully.

BUGOUT is not suitable for playing KataGo on your workstation.

The production version of BUGOUT relies on an instance of KataGo hosted on an NVIDIA Jetson Nano, compiled with ARM architecture. KataGo is spawned by the tinybrain process.

These services run in my home, and connect remotely to an AWS-hosted instance serving the rest of the system. This requires a websocket connection, and a valid SSL certificate.

If your goal is to play KataGo on your home computer...

...then we suggest trying out KaTrain, which works flawlessly. It has a lovely UI, it will download and set up KataGo for you, and it will save your valuable time.

Why isn't BUGOUT better?

Mainly because we designed this system with the goal of being playable over the web. For this purpose, it functions well enough.

In our context, the build of KataGo itself probably isn't reproducible. At least, getting it set up to run in the current production system was a bit of a pain point.

Are you still interested in trying to run this system locally?

If so, don't say we didn't warn you!

Building the distributed monolith (everything but KataGo)

BUGOUT uses docker to host multiple images, including a reverse-proxy for web traffic, and a redis instance. You need to create directory which will be used for volume mounting these instances. Inside the reverse-proxy directory, you'll need a Caddyfile, which this script will also create. This script uses sudo, so please, review it before running it!

sh admin/setup-local-dev.sh

BUGOUT relies on docker-compose to run most of its services. It will invoke some buildkit-related options, so please use the included script to start the system.

sh compose.sh up

If you're hacking BUGOUT, you will want to host the web application on your local machine. You need to install npm. Then:

cd browser
npm install
npm run build
npm run start

Building KataGo

The tinybrain utility currently does not use docker-compose. This utility wraps KataGo AI and allows it to communicate with the rest of the backend services. We run it using a systemd script.

We have some poorly written notes about building KataGo, but they are specific to NVIDIA Jetson Nano + ARM. You're on your own if you want to get everything hooked up via x86_64.

We don't currently have a path for you to connect KataGo + tinybrain to the rest of your system, locally.

giflooper's People

Contributors

coinarcade avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.