EEA & Eionet documentation hub

Browse documentation for IT-systems used by the European Environment Agency and the Eionet network.

OBSOLETE - orchestration moved to EEA Rancher catalog

eea.docker.rabbitmq

RabbitMQ Docker orchestration for EEA

Docker orchestration for EEA RabbitMQ service

Base docker image

Prerequisites

Installation

Clone the repository

$ git clone https://github.com/eea/eea.docker.rabbitmq.git
$ cd eea.docker.rabbitmq

During the first time deployement, create and edit the secret environment file

$ cp .secret.example .secret
$ vim .secret
$ # edit user and password for rabbitmq daemon and management plugin

Start container

$ docker-compose up -d
$ docker-compose logs

Example usage

Using rabbitmqadmin.py

$ python rabbitmqadmin.py -H HOST -P PORT -u USERNAME -p PASSWORD -f pretty_json list queues vhost name node durable messages
$ # returns a JSON structure like this
$ # [
$ #   {
$ #     "durable": true,
$ #     "messages": 2,
$ #     "name": "odp_queue",
$ #     "node": "rabbit@2e7a21533b6b",
$ #     "vhost": "/"
$ #   }
$ # ]

If the service is down

$ # *** Could not connect: [Errno 111] Connection refused

If the credentials are invalid

$ # *** Access refused: /api/queues?columns=vhost,name,node,durable,messages

Data migration

You can access production data inside rabbitmq_data container at:

/var/lib/rabbitmq

Thus:

  1. Start rsync client on host where do you want to migrate data (DESTINATION HOST):

    $ docker run -it –rm –name=r-client –volumes-from=eeadockerrabbitmq_rabbitmq_data_1 eeacms/rsync sh

  2. Start rsync server on host from where do you want to migrate data (SOURCE HOST):

    $ docker run -it –rm –name=r-server -p 2222:22 –volumes-from=eeadockerrabbitmq_rabbitmq_data_1 \ -e SSH_AUTH_KEY=”" \ eeacms/rsync server

  3. Within rsync client container from step 1 run:

    $ rsync -e ‘ssh -p 2222’ -avz root@:/var/lib/rabbitmq/ /var/lib/rabbitmq/

The Initial Owner of the Original Code is European Environment Agency (EEA). All Rights Reserved.

The Original Code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Funding

European Environment Agency (EU)

Edit this page