I am interested in an making a sat from a rpi maybe it could have rpi Only nodes
I do not know how this works or if it is even possible on such low end hardware
Shall be possible just slow if to slow i will make a cluster
Storj-sim make a testnetwork and find my self a few nodes
It is more than possible. My first node was a pi ZERO with a 1TB portable external drive attached. Then I ran some nodes on an old server. There was no difference in earnings between the pi zero and the nodes on the server even though the pi zero had many deficiencies like USB 2 and slow CPU vs SATA connections and AMD CPU on the server.
Eventually I migrated the old server nodes to pi 4’s with multiple drives attached via USB 3 to SATA adapters.
The pi zero kept running for over a year until the drive started dying of bad sectors. I used a pi 4 to run ddrescue and migrate the old pi zero node onto a new drive attached to the pi 4.
I think @1qazx wants to host a full Sattelite on their RPi, not a simple node.
Wow a zero that’s cool but yea making a sat not nofe
He was talking about setting up a satellite, not a storage node
Pi4 has actual gigabit networking at least. Most work on a satellite is going to be database IO and network IO. I’d be interested in hearing from a storjling about satellite minimum requirements. Specifically,
- Does the satellite use the same database backend (sqlite?) as nodes?
- How much storage does a satellite use?
- Bandwidth use for satellite?
- Disk IO for a satellite, is an SSD enough or NVMe for throughput on the database?
You can check it yourself, running a Storj Test network. There are two ways how to do that:
- Test network · storj/storj Wiki · GitHub
- GitHub - storj/up: Docker-compose files for running full Storj network locally
You can also follow this thread: Getting started with Storj V3 Local Test Network (storj-sim) - #47 by 1qazx
I’m not sure that
storj-sim is useful to run a production satellite and edge services, but it can help to experiment more quickly and find the best configuration for your needs.
For the real use you should run each service separately and have redundancy to do not disrupt the service. There are a lot of orchestrators to run a load with high availability and durability (kubernetes, Nomad, even docker swarm). You also may try to use Fog computing (decentralized computing) to run your services, but keep in mind - they almost all insecure (the node operator will have a full unprotected access to your load).
You will also need to use a more robust database rather than a one PostgreSQL instance in the docker container on the same device
For example, the production satellites uses a distributed Cockroach database.
Docker is designed to run stateless services, but here are workarounds as well. Just keep in mind, that container can die and you need to make sure that stateful service (such as database or redis) can survive.
Could i modify storj-sim to run only one service depending on device (i could write the code in python) but would storj-sim allow me to run the services one per device because i plan to make a few raspberry pi clusters for this as it sounds like if storj Sim can be configured to use the remote services this would be a great option me to use (and if that is possible i think storj-sim may work)
storj-sim designed to run all required services on the same device. I do not think it allow you to run services separately without modifications at least in config files, but you may try.
@Alexey Yes that was my plan i have read some of the config files and they use IP:port
To identify where services are running i will try put an external IP: forwardedPort
I think that may work i will report back if i can get storj-sim running each service on a cluster if so i will also document this