elestio/huginn

Verified Publisher

By Elestio

Updated about 1 month ago

Huginn, verified and packaged by Elestio

Image
Data Science
Integration & Delivery
Monitoring & Observability

7.7K

elest.io

DiscordElestio examplesBlog

huginn, verified and packaged by Elestio

Huginn is a feature rich, multi-protocol messaging and streaming broker

huginn

Deploy a fully managed huginn on elest.io if you want automated backups, reverse proxy with SSL termination, firewall, automated OS & Software updates, and a team of Linux experts and open source enthusiasts to ensure your services are always safe, and functional.

deploy

Why use Elestio images?

  • Elestio stays in sync with updates from the original source and quickly releases new versions of this image through our automated processes.
  • Elestio images provide timely access to the most recent bug fixes and features.
  • Our team performs quality control checks to ensure the products we release meet our high standards.

Usage

Git clone

You can deploy it easily with the following command:

git clone https://github.com/huginn/huginn.git

Copy the .env file from tests folder to the project directory

cp ./tests/.env ./.env

Edit the .env file with your own values.

Run the project with the following command

docker-compose up -d

You can access the Web UI at: http://your-domain:4678

Docker-compose

Here are some example snippets to help you get started creating a container. version: "3.3"

services: mysqldata: image: elestio/mysql:8.0 restart: always

  command: /bin/true

mysql:
  image: elestio/mysql:8.0
  restart: always
  environment:
    - MYSQL_DATABASE=huginn
    - MYSQL_USER=huginn
    - MYSQL_PASSWORD=${ADMIN_PASSWORD}
    - MYSQL_ROOT_PASSWORD=${ADMIN_PASSWORD}
  volumes:
    - ./mysqldata:/var/lib/mysql

web:
  image: elestio/huginn:${SOFTWARE_VERSION_TAG}
  restart: always
  ports:
    - "172.17.0.1:4678:3000"
  environment:
    - DATABASE_NAME=huginn
    - DATABASE_USERNAME=huginn
    - DATABASE_PASSWORD=${ADMIN_PASSWORD}
    - APP_SECRET_TOKEN=${APP_SECRET_TOKEN}
    - MYSQL_PORT_3306_TCP_ADDR=mysql
    - HUGINN_DATABASE_PASSWORD=${ADMIN_PASSWORD}
    - HUGINN_DATABASE_USERNAME=root
    - HUGINN_DATABASE_NAME=huginn
    - SMTP_DOMAIN=${SMTP_DOMAIN}
    - SMTP_USER_NAME=""
    - SMTP_PASSWORD=""
    - SMTP_SERVER=${SMTP_SERVER}
    - SMTP_PORT=${SMTP_PORT}
    - SMTP_AUTHENTICATION=login
    - SMTP_ENABLE_STARTTLS_AUTO=SMTP_ENABLE_STARTTLS_AUTO
    - EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS}
  depends_on:
    - mysql

threaded:
  image: elestio/huginn:${SOFTWARE_VERSION_TAG}
  command: /scripts/init bin/threaded.rb
  restart: always
  environment:
    - DATABASE_NAME=huginn
    - DATABASE_USERNAME=huginn
    - DATABASE_PASSWORD=${ADMIN_PASSWORD}
    - APP_SECRET_TOKEN=${APP_SECRET_TOKEN}
    - MYSQL_PORT_3306_TCP_ADDR=mysql
    - HUGINN_DATABASE_PASSWORD=${ADMIN_PASSWORD}
    - HUGINN_DATABASE_USERNAME=root
    - HUGINN_DATABASE_NAME=huginn
    - SMTP_DOMAIN=${SMTP_DOMAIN}
    - SMTP_USER_NAME=""
    - SMTP_PASSWORD=""
    - SMTP_SERVER=${SMTP_SERVER}
    - SMTP_PORT=${SMTP_PORT}
    - SMTP_AUTHENTICATION=login
    - SMTP_ENABLE_STARTTLS_AUTO=SMTP_ENABLE_STARTTLS_AUTO
    - EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS}
  depends_on:
    - mysql
    - web
Environment variables
VariableValue (example)
SOFTWARE_VERSION_TAGlatest
ADMIN_EMAILyour@email.com
ADMIN_PASSWORDGCdsZwHJ-c4ew-jzO5EvcX
APP_SECRET_TOKENa-long-random-password-with-128-character
SMTP_SERVER172.17.0.1
SMTP_PORT25
SMTP_ENABLE_STARTTLS_AUTOfalse
EMAIL_FROM_ADDRESSsender@email.com
SMTP_DOMAINyour.domain

Maintenance

Logging

The huginn Docker image sends the container logs to stdout. To view the logs, you can use the following command:

docker-compose logs -f

To stop the stack you can use the following command:

docker-compose down

Backup and Restore with Docker Compose

To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.

Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:

zip -r myarchive.zip .

Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:

unzip myarchive.zip -d /path/to/original/folder

Starting Your Stack Once your backup is complete, you can start your stack again with the following command:

docker-compose up -d

That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.

Links

Docker Pull Command

docker pull elestio/huginn