Announcing Community Satellite Pilot Program

Just have a server and don’t bother with runing a satellite, appeasing SNOs etc. You will also get better performance with local storage than with local server that needs to pull data from remote nodes.

I do not think I would be able to sell this idea to my boss. If a client wants “cloud” storage, then he will use Google, Microsoft or even Storj DCS instead of our own satellite which would have the same reliability as storing the data locally, but lower performance and more complexity.

The problem is that this is not “decentralization” which is one of the selling points of using this type of setup instead of just renting a VPS and storing the data there.

Erasure coding is not encryption. Uplink works like this now: data - encryption - splitting up and erasure coding. The encryption part is entirely optional and even if the official uplink does not allow me to skip it, I could always use a null key or modify the source to skip the encryption. Reason for doing so may be simple - if I am storing data that I make available in public anyway, why waste the CPU cycles for encryption?
There is no real way to automatically detect if a piece of data is encrypted or not.

Just want to link to this discussion:

As I see it, this would be exactly the type of discussion you would have to do, if you run your own satellite unless you simply pay what Storj pays.
Following that discussion I really cannot see anybody who would do that and run a satellite.

Hello, @jtolio. I’m willing to take a part in Satellite Pilot Program.
For now I don’t run a Satellite, but it would be nice to spin up one. :slight_smile:

2 Likes

Hello,

That’s funny because I started a public satellite about two months ago out of curiosity.

I set it up for the sole purpose of testing it, learning from it, and eventually allowing others to benefit from it for the same purpose; I don’t intend today to invest the time necessary to make it highly available and reliable enough to store important data, nor do I intend to manage the financial aspect inherent in handling that data. So I don’t think it is relevant to add it to your list @jtolio .

I tried to have an open approach from the moment I set up the server: its configuration is public and uses a public Ansible collection. The prometheus instance and the associated grafana are also public, although very little information is currently reported there.
This is the next point I’d like to work on for this satellite: to manage to simply report the usage metrics of the satellite. I’ve seen that the binary offers metrics such as --metrics.addr but I haven’t taken the time to dig into them yet and I’m not sure it would effectively report usage metrics.

Oh, and the satellite web interface has been unusable for ~2 weeks for some reason and the satellite configuration hasn’t changed since January, and I don’t see anything interesting in the logs… this is definitely the kind of problem I wouldn’t want to deal with in production as it is kind of a nightmare to debug actually :confused:

8 Likes

metrics.addr can be used to publish the same data but over UDP instead of prometheus endpoint. You don’t need it as long as you have prometheus.

And your prometheus looks good. But a lot of metrics will be available only after first usage AFAIK. So you need storagenodes and clients to connect to the satellite.

Check function_times{field="recent"}, before and after. I except more and more

What does it mean unusable. Can you login? Do you see any error in web developer console?

In general: Web ui requires having all the edge services (gateway-mt, authservice, linksharing). Usually you can log in, even if those are not installed, but filebrowser is not working without these…

1 Like

You are right, that’s where I should have started… I was stuck on this screen for a few minutes just after submitting the login form:

It was caused by a missing file (static/static/wasm/access.wasm) and this means I will have to double check the way I “install” these static files because sth might be wrong.

Yes, I remember having a lot of errors on the WebUi due to missing components. From my understand this services aren’t required for a “basic” use of the satellite : storagenodes offering storage and clients using uplink, so this isn’t a priority at all for me, but I may be wrong.

Maybe this will help: storj/satellite/console/wasm/README.md at 38c7671acb771e5f7289190c8e3bd8227cfe07a7 · storj/storj · GitHub

Depends on your definition of required. You can get the satellite working without the UI. The challenge will be to generate an access grant. It is possible to get one without the UI but that might be even a bigger challenge than getting the UI running.

Hi, @jtolio

I would like to join to the program with my new Community satellite:

1NusSk8HjWppghiWvofEBDqryDaxiALPah8EyRxXWdNkwXg7ai@spiridon.anzix.net:7777

This is a minimal satellite, just to make it easier to monitor Storagenodes.

  • It continuously monitors the availability of joined Storagenodes
  • It can ping SNOs on Telegram in case of any error
  • It doesn’t store real files (only few pieces to test availability)
  • It supports Ethereum wallet based login (owner of the wallet can list all nodes, more features are coming…)

More information can be found on the site:

https://spiridon.anzix.net

Open for everybody to join, or contribute (code, ideas, …).

Source/issues/discussion: GitHub - elek/spiridon: Minimal Storj Satellite implementaion for better monitoring

10 Likes

Sorry for the delay here. We added this weeks ago and then I just forgot to announce it. https://www.storj.io/unpaid-community-satellites is now updated with the first entry. Thanks @elek!

4 Likes

Really basic question, I’m sorry…
On a node running on Docker, do I add storage2.trust.sources: https://www.storj.io/dcs-satellites,https://www.storj.io/unpaid-community-satellites to the config.yaml or do I have to add that as an argument to the docker run command?

Also, should I later decide to stop giving access to this satellite how easy will it be to find and delete its data?

You may use either of these methods or even together, but argument options have a precedence above parameters in the config file.

You may use this program to calculate the blobs folder name: Go Playground - The Go Programming Language

1 Like

Are there any community satellites already online?

You can see 1 here.
https://www.storj.io/unpaid-community-satellites

2 Likes

Ah nice to see, thank you!
Can you see this satellite in your node dashboard? I setup one of my nodes for the community satellites some month ago and can’t see anyone in my dashboard so far.

Only if you add it to the trust list.
See

I don’t understand, who will pay the satellite operator? Do the satellite operator have to look for customers to point to his satellite?

The Satellite Operator Themselves. This is a business.
You need to have a hardware to run the satellite(s) (it consist of several microservices and the distributed database(s)), have it configured for High Availability, have money to pay Storage Node Operators and have a marketing program for your potential customers and to attract Storage Node Operators to add your satellite to their trusted list.

In the first phase likely nobody will pay anyone.