Вы находитесь на странице: 1из 18

Installing DCHQ On-Premise - Automating Docker App

Deployment & Life-Cycle Management on Any Cloud


https://www.youtube.com/watch?v=39dTw8zYccg
In this blog, we will go over the detailed steps for installing DCHQ On-Premise.
We offer a couple of options for installing the platform on a supported Linux host:
1. Using an installation shell script that can be downloaded from the DCHQ website
2. Using DCHQ.io Hosted PaaS where DCHQ On-Premise is modeled as an application
template that can be deployed on any registered Linux host
In this blog, we will cover the installation shell script method only.

Step 1: Fill out the request form on http://dchq.co/dchq-onpremise.html


In order to get access to the install shell script, a user needs to fill out a form on
http://dchq.co/dchq-on-premise.html.

Step 2: Download the installation shell script


Once the request form has been submitted, a URL to the software download page will be sent the
users. This page contains the installation shell script along with some out-of-box application
templates & plug-ins for Java, Ruby, Python, and PHP stacks.
Download the installation shell script from the software download page.

Step 3: Ensure that you have a supported Linux host


DCHQ On-Premise is supported on Ubuntu, CentOS and Red Hat Enterprise Linux. We support
the versions that are certified with Docker so please check Dockers official page before
attempting the DCHQ installation.
The installation requires at 14 GB of Memory if you plan on running 1,000 containers or more.
Our scalability tests were performed with up to 25,000 running containers with this
configuration.
Of course, make sure that you have root access to the Linux host on which youre going to
install DCHQ On-Premise.
The installation shell script does the following:

Allows a user to configure the email settings. The following inputs can be provided.

1. SMTP Server & Port the server that will be used to send email alerts for new user sign
ups or when performance issues occur
2. FROM Email Address the email address used to send confirmations to new user sign
ups (e.g. support@<your-domain>.com)
3. BCC Email Address the email address that should be included in BCC when new users
sign up

Allows a user to set a proxy for Docker


Checks if Docker is installed if not, it will install Docker
Pulls the public DCHQ images needed to run DCHQ On-Premise:

1.
2.
3.
4.
5.

dchq/dchq-on-premise-v2-tomcat:latest-v2
dchq/dchq-on-premise-v2-rabbitmq:latest-v2
dchq/dchq-on-premise-v2-postgres:latest-v2
dchq/dchq-on-premise-v2-redis:latest-v2
dchq/dchq-on-premise-v2-solr:latest-v2

Runs the containers with all the environment variable bindings needed

1. Note: The RabbitMQ & Postgres passwords are randomly generated using 36
alphanumeric characters

Step 4: Run the script on a supported Linux host


Again, make sure that you have root access to this Linux host, and then do the following.

sudo su
chmod 700 dchq_server_install.sh
./dchq_server_install.sh

You will be prompted to set up the email settings (optional) and the proxy (optional). If you type
N, the installation will go through and run all the containers needed for DCHQ On-Premise. The
installation should not take more than 10 minutes depending on your bandwidth and how fast
the images can be pulled from Docker Hub.

Step 5: Log into DCHQ On-Premise and Save the


RabbitMQ & Postgres passwords for your record
Once the installation is complete, a confirmation message should show up with the following
information.

Database Password
RabbitMQ Password
DCHQ On-Premise URL & Default Login Credentials

Make sure that you save this information for your records.
Log into DCHQ On-Premise using the default credentials (admin@dchq.io / admin123).

Step 6 (IMPORTANT): Update the System Settings in the


DCHQ web console

In order to ensure that new hosts registered can establish communication with RabbitMQ and
that the agent can be installed correctly, please update the System Setting page from the
Manage drop-down.
Here are the entries that you need to update:

dchq.agent.script.url this is the location of the DCHQ agent install script. Its
currently hosted on DCHQ.cos software download page as well as on Dropbox

1. http://dchq.co/uploads/3/5/3/5/3535863/dchq_agent_install_v2.sh
2. https://www.dropbox.com/s/fxys4nyhy7t209h/dchq_agent_install_v2.sh?dl=1

However many customers may want to host this script on Amazon S3 or on a local
server. So just ensure that this script is accessible from the hosts that you will register on
DCHQ On-Premise to orchestrate Docker app deployments.
dchq.agent.connect.ip this is the public IP of the host thats running DCHQ OnPremise
dchq.agent.connect.port this is the host port that is mapped to RabbitMQs port 5672.
By default, this is 32902 but you can always run docker ps to make sure that youre
copying the right port
dchq.base.url this is the URL that is listed in the installation complete confirmation
message. By default, its
o <Public IP of DCHQ On-Premise Host>:32901

You can run docker ps to ensure that youre copying the right host port that is mapped to
Tomcats port 8080.

Step 7: Create a Cluster


In order to test a basic application deployment, we need to either:

Automate the provisioning of Linux hosts on any of the 12 cloud providers we support
(e.g. OpenStack, CloudStack, AWS, DigitalOcean, Rackspace, Microsoft Azure,
SoftLayer, Google Compute Engine, etc.), or
Register an existing Linux host that could be running anywhere

Before we can register a Linux host, we need to create a cluster. This can be done by navigating
to Manage > Clusters and then clicking on the + button. In the recorded video, we made things
simple and selected Docker networking.

Step 8: Add an existing Linux host to orchestrate Docker


application deployments
Now that weve added our cluster, we will register an existing Linux host by navigating to
Manage > Bare-Metal Server & VM and then clicking on the + button to select Any Host/VM.
Here are the parameters required:

Name: This could be any string value (e.g. DEV Server)

IP: This is the IP of the host youre trying to register

Cluster: Select the cluster that youll be associating this server with

IMPORTANT once you click Save, an auto-generated script will be provided that needs to be
executed on the Linux host youre trying to add.
The script expects at least 3 arguments and would like something like this:
curl -Ls <dchq.agent.script.url> | bash -s <DCHQ Server Key> <dchq.agent.connect.ip>
<dchq.agent.connect.port>
All of these parameters can be overridden in the System Settings page by the Cloud Admin.
Note that if Weave had been enabled on this cluster, then the script would follow this format.
Registering the 1st Server in the Weave Cluster
curl -Ls <dchq.agent.script.url> | bash -s <DCHQ Server Key> <dchq.agent.connect.ip>
<dchq.agent.connect.port> weave.local <weave-password>
where <weave.password> is a random password that you can pass.
Registering Additional Servers in the Weave Cluster
curl -Ls <dchq.agent.script.url> | bash -s <DCHQ Server Key> <dchq.agent.connect.ip>
<dchq.agent.connect.port> weave.local <weave-password> <weave.ip>
where <weave.ip> is the IP address of the 1st server in the Weave cluster

Step 9: Create a basic Wordpress with MySQL application


template
Navigate to Manage > Templates and then click on the + button to add a Docker Compose
template.
You can either copy & paste the template (below) or you can download the template from the
DCHQ software download page, and then import it by click on the Actions menu and select
Import Template.
Wordpress:
image: wordpress:latest
mem_limit: 1g
publish_all: true

environment:
- WORDPRESS_DB_PASSWORD={{MySQL|MYSQL_ROOT_PASSWORD}}
- WORDPRESS_DB_HOST={{MySQL|container_ip}}:3306
- WORDPRESS_DB_USER={{MySQL|MYSQL_USER}}
- WORDPRESS_DB_NAME={{MySQL|MYSQL_DATABASE}}
MySQL:
image: mysql:latest
mem_limit: 1g
publish_all: false
environment:
- MYSQL_USER=root
- MYSQL_DATABASE=wordpress
- MYSQL_ROOT_PASSWORD={{alphanumeric | 12}}

Step 10: Assign the newly created cluster as the default


cluster
Navigate to Manage > Users and edit the admin user. Select the newly created cluster as the
Default Cluster for this user.

Step 11: Request the Wordpress application from the SelfService Library
Navigate to Library and click Run on the Wordpress application.
Once the application is up and running, access the IP on the exposed port for Wordpress (i.e. the
host port mapped to 8080) to make sure that the app was successfully deployed.
If you run into any issues, please shoot me an email.

Download DCHQ On-Premise Now!!

Contact US :
650-307-4783
814 Mission Street,
6th Floor San Francisco,
CA, 94103

Вам также может понравиться