# Start Running your BEACON Today

1. **Make sure you have** [**Docker**](https://docs.docker.com/get-started/introduction/get-docker-desktop/) **installed and running in the background**
2. **Retrieve the Blockcast Beacon Docker Compose Manifest**
   1. Download the Blockcast BEACON docker compose file from [our git repo](https://github.com/Blockcast/beacon-docker-compose).
   2. Or run `git clone https://github.com/Blockcast/beacon-docker-compose.git`
3. **Launch and start running Blockcast Beacon**
   1. Start running your Blockcast BEACON with command `docker compose up -d` from the folder where `docker-compose.yml` is saved
   2. Verify everything is up and healthy with `docker compose ps`

      ```
      NAME                                 COMMAND                  SERVICE             STATUS              PORTS
      beacond                              "envdir /var/opt/mag…"   beacond             running
      blockcastd                           "/usr/bin/blockcastd…"   blockcastd          running
      control_proxy                        "/usr/bin/control_pr…"   control_proxy       running
      ```
   3. Otherwise check the logs of the service that is not Up with `docker compose logs <NAME>` you can share with us for support.
4. **Generate hardware and challenge key**
   1. When BEACON runtime is up
      1. Change your pwd to this folder: `cd ~/.blockcast/compose`
      2. Run `docker compose exec blockcastd blockcastd init`
      3. It would generate an output that contains your device's Hardware ID, Challenge Key and a Registration URL:

         ```
         Hardware ID:
         ------------
         c6ff0e6f-bc4d-4151-47c3-07df0e3cf53f

         Challenge Key:
         --------------
         MCowBQYDK2VwAyEAXP49l4pBK1V5qy7vbRJYv3etRdEr7ycsQAvrgS+hQY0=

         Register URL:
         -------------
         https://app.blockcast.network/register?hwid=c6ff0e6f-bc4d-4151-47c3-07df0e3cf53f&challenge-key=MCowBQYDK2VwAyEAXP49l4pBK1V5qy7vbRJYv3etRdEr7ycsQAvrgS%2BhQY0%3D
         ```
      4. Note:
         1. **Hardware ID** is a unique public identifier for your device.
         2. **Challenge Key** is a Solana formatted public key that is unique to your device.
         3. **Backup your private key** (in `~/.blockcast/certs/gw_challenge.key`) and keep it safe with the hardware ID, otherwise you will lose the ability to prove ownership of this device.

5\. **Register your docker instance on the web portal**

1. Go to our web portal <https://app.blockcast.network/> and log in/register
2. Copy and paste the Registration URL from the console output with your pre-filled Hardware ID and Challenge Key into your browser, OR
3. Go to Manage Nodes page, press **Register Node** button, and manually enter your keys in the portal registration flow

   <figure><img src="https://3364791352-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXrwmDBB6htefs8IbVcEc%2Fuploads%2FjfKG4XC3DDrAF1w5xdYC%2FScreenshot%202025-04-30%20at%207.20.04%E2%80%AFPM.png?alt=media&#x26;token=c09228f1-618b-4d7a-a450-6e608d110dd9" alt=""><figcaption></figcaption></figure>

   <figure><img src="https://3364791352-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXrwmDBB6htefs8IbVcEc%2Fuploads%2FXJkLd8gHhJGjKbRGh7v5%2FScreenshot%202025-05-01%20at%206.19.08%E2%80%AFPM.png?alt=media&#x26;token=b8a15abb-7cd1-4f9a-9d21-42b8c74b1950" alt=""><figcaption></figcaption></figure>
4. You will need to enable location access from your browser.\
   Here is how to enable it on Chrome. If you are using other browsers, it might look different.&#x20;

   <figure><img src="https://3364791352-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXrwmDBB6htefs8IbVcEc%2Fuploads%2Fx5PXOEPAPVljOxXAE07P%2FScreenshot%202025-05-01%20at%205.49.49%E2%80%AFPM.png?alt=media&#x26;token=7a8eb4af-50f9-43b7-8f2c-55950725552d" alt=""><figcaption></figcaption></figure>
5. **Confirm your instance is online and healthy**
   1. If your node is registered successfully and running, your node should show `Healthy` status in a few minutes in the node list table on the `/manage-nodes` page.
   2. Clicking on the node entry in the node list table lands you onto the node details page, you should be able to see the uptime, connectivity, rewards info of that particular node. The nodes need to be online for 6 hours in order for the first connectivity test to run. The first batch of rewards does not kick in until 24 hours of being continuously online.
