services:
  platypush:
    # Replace the build section with the next line if instead of building the
    # image from a local checkout you want to pull the latest base
    # (Alpine-based) image from the remote registry
    # image: "quay.io/platypush/platypush:latest"

    build:
      context: .
      # Alpine base image
      dockerfile: ./platypush/install/docker/alpine.Dockerfile
      # Debian base image
      # dockerfile: ./platypush/install/docker/debian.Dockerfile
      # Ubuntu base image
      # dockerfile: ./platypush/install/docker/ubuntu.Dockerfile
      # Fedora base image
      # dockerfile: ./platypush/install/docker/fedora.Dockerfile

    restart: "always"
    command:
      - platypush
      - --redis-host
      - redis
      # Or, if you want to run Redis from the same container as Platypush,
      # replace --redis-host redis with the line below
      # - --start-redis

    # Custom list of host devices that should be accessible to the container -
    # e.g. an Arduino, an ESP-compatible microcontroller, a joystick etc.
    # devices:
    #   - /dev/ttyUSB0

    # Uncomment if you need plugins that require access to low-level hardware
    # (e.g. Bluetooth BLE or GPIO/SPI/I2C) if access to individual devices is
    # not enough or isn't practical
    # privileged: true

    # Copy .env.example to .env and modify as needed
    # env_file:
    #   - .env

    ports:
      # Comment if you don't have the HTTP backend enable or you don't want to
      # expose it
      - "8008:8008"

    # volumes:
      # Replace with a path that contains/will contain your config.yaml file
      # - /path/to/your/config:/etc/platypush
      # Replace with a path that contains/will contain your working directory
      # - /path/to/a/workdir:/var/lib/platypush
      # Optionally, use an external volume for the cache
      # - /path/to/a/cachedir:/var/cache/platypush
      # This may be required, together with privileged mode, if you want the
      #   container to access the USB bus on the host (required for example if
      #   you have USB audio devices that you want to access from your plugins,
      #   or Bluetooth dongles, or other USB adapters).
      # - /dev/bus/usb:/dev/bus/usb

  redis:
    image: redis