dm3
dm3 copied to clipboard
DS3 host delivery service
Now that the DS is part of an independent workspace there should be an easy way a DS operator can use one on its own.
- [ ] Figure out how to make CLI scripts as accessible as possible
- [ ] Figure out how to make Deployment as easy as possible
- [ ] Add documentation that makes it easy to set up a DS
- Provide docker container and docker-compose file to spin up local or remote instance
- avoid:
wget xxx | sudo bash
Necessary steps
- web app 1: create keys and config from input data -> config.json
- web app 2: load config.json and publish to ens or offchain resolver
- on webserver: execute docker compose with config.json
- (configure network -> this is the user's responsibility)
@malteish implements web apps quick and dirty
Some notes: https://www.notion.so/corpusventures/Delivery-service-f68b1796472045d09fb4662b1ec04190
Thinking about the setup helper and the delivery service, I had a realization today. Currently, setting the service up would work something like this:
- get ENS
- get domain
- get wallet
- use helper
- copy files to some server or service
- wget docker-compose.yml
- docker compose up
I want it to work like this:
- get domain (my-ds.org)
- on server: docker run dm3-ds@latest
- use browser to connect to my-ds.org/setup
- finish setup there (you still need ens and wallet, but can follow the guide on your own instance, which feels much smoother and more trustworthy imo)
Open questions:
- Database. Redis is launched as a separate container. Either we use
docker compose
, then the user has to manually download a docker-compose file. Or we integrate the database into the delivery service container. - Volumes. The config and environment should persist, otherwise the setup step would have to be repeated every time. The same goes for the database.
- How to bundle the setup helper. I creates files inside the container, which is potentially dangerous. How do we make it safe? How can it be bundled? How does node create files on the server?
Current state: web app v0.1 is ready. I need:
done, though web app is just a poc atm