Site https://subspace.network/

Discord https://discord.gg/KKR7K3H2Kg

Official info on github https://github.com/subspace/subspace/blob/main/docs/farming.md

System requirements:

Ubuntu 20.04 and newer

2 dedicated CPU cores, 2GB RAM, 50GB disk space

Delete old node (systemd) if it was installed

sudo systemctl stop subspace-node subspace-farmer
sudo systemctl disable subspace-node subspace-farmer
sudo deluser subspace
sudo rm -rf /var/lib/subspace
sudo rm -rf /root/.local/share/subspace*
sudo rm /usr/local/bin/subspace*
sudo rm /etc/systemd/system/subspace*

Insatallation

Install docker:

sudo -i
cd $HOME
apt purge docker docker-engine docker.io containerd docker-compose -y
curl -fsSL <https://get.docker.com> -o get-docker.sh
sh get-docker.sh
curl -SL <https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64> -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Setting variables

U can create substrate wallet by this link: https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ffarm-rpc.subspace.network#/accounts

# In quotes type ur wallet address (from link upper)  and node name (could be random)
SUBSPACE_WALLET_ADDRESS="rewards address"
SUBSPACE_NODE_NAME="ur node name"
# Set limit of disc usage G - gygabite, T - terabite.
# For example, 100G - 100 gygabites
SUBSPACE_PLOT_SIZE="100G"

# this must be not changed
echo 'export SUBSPACE_WALLET_ADDRESS='$SUBSPACE_WALLET_ADDRESS >> $HOME/.bash_profile
echo 'export SUBSPACE_NODE_NAME="'${SUBSPACE_NODE_NAME}'"' >> $HOME/.bash_profile
echo 'export SUBSPACE_PLOT_SIZE='$SUBSPACE_PLOT_SIZE >> $HOME/.bash_profile
source $HOME/.bash_profile

Create docker-compose.yml

mkdir $HOME/subspace
cd $HOME/subspace

Copy and paste full block as it is:

tee $HOME/subspace/docker-compose.yml > /dev/null <<EOF
version: "3.7"
services:
  node:
    # Replace 'snapshot-DATE' with latest release (like 'snapshot-2022-apr-29')
    image: ghcr.io/subspace/node:snapshot-2022-may-03
    volumes:
# Instead of specifying volume (which will store data in '/var/lib/docker'), you can
# alternatively specify path to the directory where files will be stored, just make
# sure everyone is allowed to write there
      - node-data:/var/subspace:rw
#      - /path/to/subspace-node:/var/subspace:rw
    ports:
# If port 30333 is already occupied by another Substrate-based node, replace all
# occurrences of '30333' in this file with another value
      - "0.0.0.0:30333:30333"
    restart: unless-stopped
    command: [
      "--chain", "testnet",
      "--base-path", "/var/subspace",
      "--execution", "wasm",
      "--unsafe-pruning",
      "--pruning", "1024",
      "--keep-blocks", "1024",
      "--port", "30333",
      "--rpc-cors", "all",
      "--rpc-methods", "safe",
      "--unsafe-ws-external",
      "--validator",
# Replace 'INSERT_YOUR_ID' with your node ID (will be shown in telemetry)
      "--name", "$SUBSPACE_NODE_NAME"
    ]
    healthcheck:
      timeout: 5s
# If node setup takes longer then expected, you want to increase 'interval' and 'retries' number.
      interval: 30s
      retries: 5

  farmer:
    depends_on:
      node:
        condition: service_healthy
# Replace 'snapshot-DATE' with latest release (like 'snapshot-2022-apr-29')
    image: ghcr.io/subspace/farmer:snapshot-2022-may-03
# Un-comment following 2 lines to unlock farmer's RPC
#    ports:
#      - "127.0.0.1:9955:9955"
# Instead of specifying volume (which will store data in '/var/lib/docker'), you can
# alternatively specify path to the directory where files will be stored, just make
# sure everyone is allowed to write there
    volumes:
      - farmer-data:/var/subspace:rw
#      - /path/to/subspace-farmer:/var/subspace:rw
    restart: unless-stopped
    command: [
      "farm",
      "--custom-path", "/var/subspace",
      "--node-rpc-url", "ws://node:9944",
      "--ws-server-listen-addr", "0.0.0.0:9955",
# Replace 'WALLET_ADDRESS' with your Polkadot.js wallet address
      "--reward-address", "$SUBSPACE_WALLET_ADDRESS",
# Replace 'PLOT_SIZE' with plot size in gigabytes or terabytes, for instance 100G or 2T (but leave at least 10G of disk space for node)
      "--plot-size", "$SUBSPACE_PLOT_SIZE"
    ]
volumes:
  node-data:
  farmer-data:
EOF

Now run:

docker-compose up -d