All Projects → NebulousLabs → docker-sia

NebulousLabs / docker-sia

Licence: MIT License
The official docker image for the Sia daemon

Programming Languages

Dockerfile
14818 projects
shell
77523 projects
go
31211 projects - #10 most used programming language
Makefile
30231 projects
Vim Script
2826 projects

Projects that are alternatives of or similar to docker-sia

host-manager
User-friendly desktop app for Sia hosts. Provides easy configuration, better financials, and smart alerts to make hosting simpler.
Stars: ✭ 62 (+195.24%)
Mutual labels:  sia, siacoin
navigator-sia
An advanced blockchain explorer for the Sia network
Stars: ✭ 14 (-33.33%)
Mutual labels:  sia, siacoin
siacdn
SiaCDN is a high-quality hosted skynet node.
Stars: ✭ 18 (-14.29%)
Mutual labels:  siacoin
good-karma-kit
😇 A Docker Compose bundle to run on servers with spare CPU, RAM, disk, and bandwidth to help the world. Includes Tor, ArchiveWarrior, BOINC, and more...
Stars: ✭ 238 (+1033.33%)
Mutual labels:  sia
SiaFpgaMiner
VHDL FPGA design of an optimized Blake2b pipeline to mine Siacoin
Stars: ✭ 58 (+176.19%)
Mutual labels:  siacoin
sia-lite-wallet-web
Secure non-custodial cryptocurrency wallet with support for Siacoin (SC) and the Ledger Nano S/X
Stars: ✭ 30 (+42.86%)
Mutual labels:  siacoin
NoDevFee
Claymore.s.Dual.Ethereum.Miner Developer 1%~2% charges redirected to your wallet.
Stars: ✭ 24 (+14.29%)
Mutual labels:  siacoin
Sia
Blockchain-based marketplace for file storage. Project has moved to GitLab: https://gitlab.com/NebulousLabs/Sia
Stars: ✭ 2,731 (+12904.76%)
Mutual labels:  sia
sia
Sia - Binary serialisation and deserialisation
Stars: ✭ 52 (+147.62%)
Mutual labels:  sia

docker-sia

Build Status Docker Pulls License

Deprecation Notice

This image has been replaced by ghcr.io/siafoundation/siad and is no longer maintained. The Dockerfile is now part of the siad repo at https://github.com/siafoundation/siad.

Supported tags

  • latest - the latest stable Sia release
  • versions - builds of exact Sia releases such as: 1.5.7
  • master - an unstable build of Sia's current master branch.

Get latest official release:

docker pull ghcr.io/siafoundation/siad:latest

Get Sia v1.5.7

docker pull ghcr.io/siafoundation/siad:1.5.7

Get current development version (not recommended)

docker pull ghcr.io/siafoundation/siad:master

Usage

It is important to never publish port 9980 to anything but 127.0.0.1:9980. Doing so could give anyone full access to the Sia API and your wallet.

Containers should never share volumes. If multiple sia containers are needed one unique volume should be created per container.

Basic Container

docker volume create sia-data
docker run \
	--detach \
	--restart unless-stopped \
	--mount type=volume,src=sia-data,target=/sia-data \
	--publish 127.0.0.1:9980:9980 \
	--publish 9981:9981 \
	--publish 9982:9982 \
	--publish 9983:9983 \
	--name sia \
	ghcr.io/siafoundation/siad

Command Line Flags

Additional siad command line flags can be passed in by appending them to docker run.

Change API port from 9980 to 8880

docker run \
	--detach
	--restart unless-stopped \
	--publish 127.0.0.1:8880:8880 \
	--publish 9981:9981 \
	--publish 9982:9982 \
	--publish 9983:9983 \
	ghcr.io/siafoundation/siad --api-addr ":8880"

Change SiaMux port from 9983 to 8883

docker run \
	--detach
	--restart unless-stopped \
	--publish 127.0.0.1:9980:9980 \
	--publish 9981:9981 \
	--publish 9982:9982 \
	--publish 8883:8883 \
	ghcr.io/siafoundation/siad --siamux-addr ":8883"

Only run the minimum required modules

docker run \
   --detach
   --restart unless-stopped \
   --publish 127.0.0.1:9980:9980 \
   --publish 9981:9981 \
   --publish 9982:9982 \
   ghcr.io/siafoundation/siad -M gct

Docker Compose

services:
  sia:
    container_name: sia
    image: ghcr.io/siafoundation/siad:latest
    ports:
      - 127.0.0.1:9980:9980
      - 9981:9981
      - 9982:9982
      - 9983:9983
      - 9984:9984
    volumes:
      - sia-data:/sia-data
    restart: unless-stopped

volumes:
  sia-data:

Change API port from 9980 to 8880

services:
  sia:
    container_name: sia
    command: --api-addr :8880
    image: ghcr.io/siafoundation/siad:latest
    ports:
      - 127.0.0.1:8880:8880
      - 9981:9981
      - 9982:9982
      - 9983:9983
      - 9984:9984
    volumes:
      - sia-data:/sia-data
    restart: unless-stopped

volumes:
  sia-data:

Change SiaMux port from 9983 to 8883

services:
  sia:
    container_name: sia
    command: --siamux-addr :8883
    image: ghcr.io/siafoundation/siad:latest
    ports:
      - 127.0.0.1:9980:9980
      - 9981:9981
      - 9982:9982
      - 8883:8883
      - 9984:9984
    volumes:
      - sia-data:/sia-data
    restart: unless-stopped

volumes:
  sia-data:

Only run the minimum required modules

services:
  sia:
    container_name: sia
    command: -M gct
    image: ghcr.io/siafoundation/siad:latest
    ports:
      - 127.0.0.1:9980:9980
      - 9981:9981
      - 9982:9982
      - 9983:9983
      - 9984:9984
    volumes:
      - sia-data:/sia-data
    restart: unless-stopped

volumes:
  sia-data:

Interacting with Sia

You can interact with Sia by using the bundled siac through docker exec or downloading siac separately.

Print help text

docker exec -it sia /siac --help

Get current sync status

docker exec -it sia /siac consensus

Get wallet balance

docker exec -it sia /siac wallet

Sia API Password

When you create or update the Sia container a random API password will be generated. You may need to copy the new API password when connecting outside of the container. To force the same API password to be used you can add -e SIA_API_PASSWORD=yourpasswordhere to the docker run command. This will ensure that the API password stays the same between updates and restarts.

Using Specific Modules

You can pass in different combinations of Sia modules to run by modifying the command used to create the container. For example: -M gct tells Sia to only run the gateway, consensus, and transactionpool modules. -M gctwh is the minimum required modules to run a Sia host. -m gctwr is the minimum required modules to run a Sia renter.

Hosts

Hosting may require additional volumes passed into the container to map local drives into the container. These can be added by specifying docker's -v or --mount flag.

Build it yourself

The Dockerfile is part of the siad repo (https://github.com/siafoundation/siad). To build the image:

  1. Clone the siad repo git clone https://github.com/siafoundation/siad
  2. Enter to the repo directory cd siad
  3. Checkout the version of Sia you want to build with git checkout
  4. Build the image docker build -t siad .
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].