Hello Golem community, we hereby present you the first release of our experimental project - the `dapp-runner`.
`dapp-runner` is a utility that allows you to run decentralized applications on [Golem](https://www.golem.network/).
It uses simple application descriptors expressed in `yaml`, similar to those used by
tools like `docker-compose`.
`dapp-runner` runs alongside the [Golem daemon](https://github.com/golemfactory/yagna)
and uses [yapapi](https://github.com/golemfactory/yapapi), Golem's Python high-level API
to communicate with it. As opposed to using plain `yapapi` though, deployment of
applications on Golem using `dapp-runner` requires no code and no experience in Python.
GAP-16 / Multi-service application deployment framework
In its present form, the `dapp-runner` constitutes an initial reference implementation
of the multi-service application deployment framework described in
[GAP-16](https://github.com/golemfactory/golem-architecture/pull/39).
Following features of the framework are currently supported:
* Descriptor "Apply" operation
* Single-YAML package support
* Merging descriptor files
* GAOM explicit dependency syntax
* GAOM object dependency graph *[currently limited to the services' explicit dependency syntax]*
Relationship with `dapp-manager`
While the `dapp-runner` is perfectly capable of running decentralized apps on its own, we are also
providing a separate tool to facilitate running and managing multiple applications on a single
machine, namely, the [dapp-manager](https://github.com/golemfactory/dapp-manager/).
dApp Manager keeps track of the launched apps and allows you to easily query their output streams.
It uses the `dapp-runner` as its back-end and both require the yagna daemon to communicate with the
rest of the Golem Network.
Next steps
For a more complete introduction to dApps on Golem, please have a look at the [README file](https://github.com/golemfactory/dapp-runner/blob/main/README.md) and at [our documentation](https://docs.golem.network/creators/dapps/).