---
sidebar_label: 'Customize and configure the Dashboard'
sidebar_position: 1
---
import CodeBlock from '@site/src/components/CodeBloack';
# Customize and configure the Dashboard
Once you have the Dashboard installed, you can customize the way it looks and feels to suit the needs of your environment, your project, or your business.
You can also configure the Dashboard for a secure HTTPS deployment, or an HTTP deployment. The standard OpenStack installation uses a non-encrypted HTTP channel, but you can enable SSL support for the Dashboard.
For information on configuring HTTPS or HTTP, see Configure the Dashboard.
Customize the Dashboard
The OpenStack Dashboard on Ubuntu installs the ***openstack-dashboard-ubuntu-theme*** package by default. If you do not want to use this theme, remove it and its dependencies:
Note: This guide focuses on the local_settings.py file.
The following Dashboard content can be customized to suit your needs:
Logo
Site colors
HTML title
Logo link
Help URL
Logo and site colors
Create two PNG logo files with transparent backgrounds using the following sizes: • Login screen: 365 x 50 • Logged in banner: 216 x 35
Upload your new images to ***/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/***.
Create a CSS style sheet in ***/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/scss/***.
Change the colors and image file names as appropriate. Ensure the relative directory paths are the same. The following example file shows you how to customize your CSS file:
5. Open the following HTML template in an editor of your choice:
6. Add a line to include your newly created style sheet. For example, ***custom.css*** file:
`} />
7. Restart the Apache service.
8. To view your changes, reload your Dashboard. If necessary, go back and modify your CSS file as appropriate.
HTML title
1. Set the HTML title, which appears at the top of the browser window, by adding the following line to ***local_settings.py:***
2. Restart Apache for this change to take effect.
Logo link
1. The logo also acts as a hyperlink. The default behavior is to redirect to ***horizon:user_home***. To change this, add the following attribute to ***local_settings.py:***
2. Restart Apache for this change to take effect.
Help URL
1. By default, the help URL points to https://docs.openstack.org. To change this, edit the following attribute in ***local_settings.py:***
2. Restart Apache for this change to take effect.
Configure the Dashboard
The following section on configuring the Dashboard for a secure HTTPS deployment, or a HTTP deployment, uses concrete examples to ensure the procedure is clear. The file path varies by distribution, however. If needed, you can also configure the VNC window size in the Dashboard.
Configure the Dashboard for HTTP
You can configure the Dashboard for a simple HTTP deployment. The standard installation uses a non-encrypted HTTP channel.
1. Specify the host for your Identity service endpoint in the local_settings.py file with the OPENSTACK_HOST setting.
The following example shows this setting:
The service catalog configuration in the Identity service determines whether a service appears in the Dashboard. For the full listing, see Settings Reference.
2. Restart the Apache HTTP Server.
3. Restart ***memcached***.
Configure the Dashboard for HTTPS
You can configure the Dashboard for a secured HTTPS deployment. While the standard installation uses a non-encrypted HTTP channel, you can enable SSL support for the Dashboard. This example uses the ***http://openstack.example.com*** domain. Use a domain that fits your current setup.
1. In the ***local_settings.py*** file, update the following options:
The other options require that HTTPS is enabled; these options defend against cross-site scripting.
2. Edit the ***openstack-dashboard***.conf file as shown in the Example After:
Example Before
=2.4>
Require all granted
Order allow,deny
Allow from all
`} />
Example After
ServerName openstack.example.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RedirectPermanent / https://openstack.example.com
ServerName openstack.example.com
SSLEngine On
# Remember to replace certificates and keys with valid paths in your environment
SSLCertificateFile /etc/apache2/SSL/openstack.example.com.crt
SSLCACertificateFile /etc/apache2/SSL/openstack.example.com.crt
SSLCertificateKeyFile /etc/apache2/SSL/openstack.example.com.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
# HTTP Strict Transport Security (HSTS) enforces that all communications
# with a server go over SSL. This mitigates the threat from attacks such
# as SSL-Strip which replaces links on the wire, stripping away https prefixes
# and potentially allowing an attacker to view confidential information on the
# wire
Header add Strict-Transport-Security "max-age=15768000"
WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi.py
WSGIDaemonProcess horizon user=www-data group=www-data processes=3 threads=10
Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static/
Options None
AllowOverride None
# For Apache http server 2.4 and later:
=2.4>
Require all granted
# For Apache http server 2.2 and earlier:
Order allow,deny
Allow from all
`} />
In this configuration, the Apache HTTP Server listens on port 443 and redirects all non-secure requests to the HTTPS protocol. The secured section defines the private key, public key, and certificate to use.
3. Restart the Apache HTTP Server.
4. Restart ***memcached***. If you try to access the Dashboard through HTTP, the browser redirects you to the HTTPS page.
Note: Configuring the Dashboard for HTTPS also requires enabling SSL for the noVNC proxy service. On the controller node, add the following additional options to the ***[DEFAULT]*** section of the ***/etc/nova/nova.conf file:***
On the compute nodes, ensure the ***nonvncproxy_base_url*** option points to a URL with an HTTPS scheme: