ampache #3

Supports: trusty

Add to new model


This charm deploys ampache media streaming server.


This is the base layer for all charms built using layers. It
provides all of the standard Juju hooks and runs the
charms.reactive.main loop for them. It also bootstraps the charm-helpers and charms.reactive libraries and all of their dependencies for use by the charm.


To create a charm layer using this base layer, you need only include it in
a layer.yaml file:

yaml includes: ['layer:basic']

This will fetch this layer from and incorporate
it into your charm layer. You can then add handlers under the reactive/
directory. Note that any file under reactive/ will be expected to
contain handlers, whether as Python decorated functions or executables
using the external handler protocol.

You can also define Python libraries under lib/charms/X where X is a
package under the charms. namespace for your charm. See PyPI
for what packages already exist under the charms. namespace.


This layer provides hooks that other layers can react to using the decorators
of the charms.reactive library:

  • config-changed
  • install
  • leader-elected
  • leader-settings-changed
  • start
  • stop
  • upgrade-charm
  • update-status

Other hooks are not implemented at this time. A new layer can implement storage
or relation hooks in their own layer by putting them in the hooks directory.

Note: Because update-status is invoked every 5 minutes, you should take care to ensure that your reactive handlers only invoke expensive operations
when absolutely necessary. It is recommended that you use helpers like
[@only_once][], [@when_file_changed][], and [data_changed][] to ensure that handlers run only when necessary.

Layer Configuration

This layer does not currently support any configuration.

Reactive States

This layer currently does not set any reactive states.


This layer currently does not define any actions.