Use PY_FLAVOR for dependencies. FLAVOR is the current port's flavor, it should not be used outside of this scope. Sponsored by: Absolight4376dbbb58
Port details
www/py-horizon 27.0.0
OpenStack Dashboard (Horizon)
Port info
- Maintainer
- sunpoet@FreeBSD.org
- Packages
- latest: 27.0.0
- Upstream
- up to date
- Last update
- to 27.0.0 · 25f1226ffe
- Quarterly
- 2026Q4: 27.0.0
- WWW
- https://docs.openstack.org/horizon/latest/
- Links
- cgit · VuXML · Report wrong data
Install
- Package
# pkg install py312-horizoninstalls 27.0.0 fromlatest; fromquarterly(2026Q4) 27.0.0- Port
# cd /usr/ports/www/py-horizon && make install clean# make -C /usr/ports/www/py-horizon config # change options first
- Size
- 4.0 MiB download · 32 MiB installed
- Depends on
- databases/py-python-memcached 1.62_1, databases/py-python-swiftclient 4.11.0, devel/py-babel 2.18.0, devel/py-futurist 3.5.0, devel/py-iso8601 2.1.0, devel/py-keystoneauth1 5.17.0, devel/py-openstacksdk 4.20.0, devel/py-oslo.concurrency 7.6.1, devel/py-oslo.config 10.7.0, devel/py-oslo.i18n 6.9.0, devel/py-oslo.policy 6.0.1, devel/py-oslo.serialization 5.11.0, devel/py-oslo.upgradecheck 2.8.0, devel/py-oslo.utils 10.2.0, devel/py-osprofiler 4.4.0, devel/py-pbr 7.1.2, devel/py-pyyaml 6.0.3_1, devel/py-semantic-version 2.10.0_1, devel/py-xstatic-angular 1.8.2.3, devel/py-xstatic-angular-bootstrap 2.5.0.1, devel/py-xstatic-angular-fileupload 12.2.13.2, devel/py-xstatic-angular-gettext 2.4.1.1, devel/py-xstatic-angular-lrdragndrop 1.0.2.7, devel/py-xstatic-angular-schema-form 0.8.13.1, devel/py-xstatic-bootstrap-datepicker 1.4.0.1, devel/py-xstatic-bootstrap-scss 3.4.1.1, devel/py-xstatic-bootswatch 3.3.7.1, devel/py-xstatic-d3 3.5.17.1, devel/py-xstatic-font-awesome 6.2.1.2, devel/py-xstatic-hogan 2.0.0.5, devel/py-xstatic-jasmine 2.4.1.3, devel/py-xstatic-jquery 3.7.1.1, devel/py-xstatic-jquery-migrate 3.3.2.2, devel/py-xstatic-jquery-ui 1.13.0.2, devel/py-xstatic-jquery.quicksearch 2.0.3.3, devel/py-xstatic-jquery.tablesorter 2.14.5.3, devel/py-xstatic-jsencrypt 2.3.1.2, devel/py-xstatic-mdi 1.6.50.3, devel/py-xstatic-objectpath 1.2.1.1, devel/py-xstatic-rickshaw 1.5.1.3, devel/py-xstatic-roboto-fontface 0.8.0.1, devel/py-xstatic-smart-table 1.4.13.3, devel/py-xstatic-spin 1.2.5.3_2, devel/py-xstatic-term.js 0.0.7.1, devel/py-xstatic-tv4 1.2.7.1, graphics/py-pillow 12.3.0, lang/python312 3.12.15, net/py-netaddr 1.3.0, net/py-python-cinderclient 9.10.0, net/py-python-glanceclient 4.13.0, net/py-python-keystoneclient 6.0.0, net/py-python-novaclient 18.13.1, textproc/py-qrcode 8.2_1, www/py-django-debreach 2.1.0_2, www/py-django52 5.2.18, www/py-django_compressor 4.5_4, www/py-libsass 0.23.0_1, www/py-requests 2.34.2
- License
- APACHE20
- Creates
- user
horizon, grouphorizon - Options
- 1 of 2 on in the package: MEMCACHED
Show the 1 options that are off
REDIS - pkg-message
Shown after installing
====================== Apache configuration ====================== If you plan to use apache make sure that the mod_wsgi module is enabled and the correct ownership for static/local libraries for the openstack_dashboard are set: # chown -R horizon /usr/local/lib/python3.12/site-packages/openstack_dashboard/static # chown -R horizon /usr/local/lib/python3.12/site-packages/openstack_dashboard/local Use the following snippet as reference: ### Start <VirtualHost *:80> WSGIScriptAlias / /usr/local/lib/python3.12/site-packages/openstack_dashboard/wsgi/django.wsgi WSGIDaemonProcess horizon user=horizon group=horizon processes=3 threads=10 display-name=%{GROUP} WSGIProcessGroup horizon WSGIApplicationGroup %{GLOBAL} DocumentRoot /var/lib/horizon Alias /static/horizon/lib/angular/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/angular/data/ Alias /static/horizon/lib/angular_bootstrap/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/angular_bootstrap/data/ Alias /static/horizon/lib/angular_fileupload/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/angular_fileupload/data/ Alias /static/horizon/lib/angular_gettext/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/angular_gettext/data/ Alias /static/horizon/lib/angular_lrdragndrop/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/angular_lrdragndrop/data/ Alias /static/horizon/lib/angular_schemaform/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/angular_schemaform/data/ Alias /static/horizon/lib/angular_smart_table/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/angular_smart_table/data/ Alias /static/horizon/lib/bootstrap_datepicker/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/bootstrap_datepicker/data/ Alias /static/horizon/lib/bootstrap_scss/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/bootstrap_scss/data/ Alias /static/horizon/lib/bootswatch/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/bootswatch/data/ Alias /static/horizon/lib/d3/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/d3/data/ Alias /static/horizon/lib/font_awesome/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/font_awesome/data/ Alias /static/horizon/lib/hogan/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/hogan/data/ Alias /static/horizon/lib/jasmine/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/jasmine/data/ Alias /static/horizon/lib/jquery_migrate/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/jquery_migrate/data/ Alias /static/horizon/lib/jquery_quicksearch/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/jquery_quicksearch/data/ Alias /static/horizon/lib/jquery_tablesorter/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/jquery_tablesorter/data/ Alias /static/horizon/lib/jsencrypt/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/jsencrypt/data/ Alias /static/horizon/lib/mdi/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/mdi/data/ Alias /static/horizon/lib/objectpath/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/objectpath/data/ Alias /static/horizon/lib/rickshaw/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/rickshaw/data/ Alias /static/horizon/lib/roboto_fontface/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/roboto_fontface/data/ Alias /static/horizon/lib/spin/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/spin/data/ Alias /static/horizon/lib/termjs/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/termjs/data/ Alias /static/horizon/lib/tv4/ /usr/local/lib/python3.12/site-packages/xstatic/pkg/tv4/data/ Alias /static/horizon /usr/local/lib/python3.12/site-packages/horizon/static/horizon Alias /static /usr/local/lib/python3.12/site-packages/openstack_dashboard/static <Directory /> AllowOverride None </Directory> <Directory /usr/local/lib/python3.12/site-packages/openstack_dashboard/wsgi> Require all granted </Directory> <Directory /usr/local/lib/python3.12/site-packages/openstack_dashboard/static> Require all granted </Directory> <Directory /usr/local/lib/python3.12/site-packages/horizon/static> Require all granted </Directory> <Directory /usr/local/lib/python3.12/site-packages/xstatic/pkg/*/data> Require all granted </Directory> </VirtualHost> ### End ====================== Custom configuration ====================== Create the configuration: # cd /usr/local/lib/python3.12/site-packages/openstack_dashboard/local # cp local_settings.py.example local_settings.py Add one or more entries to the ALLOWED_HOSTS directive: ALLOWED_HOSTS = [ 'host1', '192.168.0.1' ] Horizon must be configured for at least one Keystone server to work properly: OPENSTACK_HOST = "127.0.0.1" OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_" To enable django-compressor add this option: STATIC_ROOT = '/usr/local/lib/python3.12/site-packages/openstack_dashboard/static'
Packages by version and architecture
latest
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 16 | 27.0.0 | 27.0.0 | – |
| FreeBSD 15 | 27.0.0 | 27.0.0 | – |
| FreeBSD 14 | 27.0.0 | 27.0.0 | 27.0.0 |
quarterly (2026Q4)
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 15 | 27.0.0 | 27.0.0 | – |
| FreeBSD 14 | 27.0.0 | 27.0.0 | 27.0.0 |
version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.
Unaddressed and VuXML only (0)
No unaddressed CVE and nothing reported by
pkg audit for the packaged version 27.0.0.Fixed (0)
No VuXML entries for this package.
Problem reports (0) · open in Bugzilla, most recently changed first
None.
Commits (55)
Fix WWW Approved by: portmgr (blanket)ca3443c837
Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored. They will
automatically get flavors (py27, py34, py35, py36) depending on what
versions they support.
There is also a USE_PYTHON=flavors for ports that do not use distutils
but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if
using distutils but flavors are not wanted.
A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
added to cope with Python ports that did not have the Python
PKGNAMEPREFIX but are flavored.
USES=python now also exports a PY_FLAVOR variable that contains the
current python flavor. It can be used in dependency lines when the
port itself is not python flavored. For example, deskutils/calibre.
By default, all the flavors are generated. To only generate flavors
for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.
In all the ports with Python dependencies, the *_DEPENDS entries MUST
end with the flavor so that the framework knows which to build/use.
This is done by appending '@${PY_FLAVOR}' after the origin (or
@${FLAVOR} if in a Python module with Python flavors, as the content
will be the same). For example:
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
PR: 223071
Reviewed by: portmgr, python
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D12464551be3c723www/py-horizon: fix floating ips Fix an issue with listing and disassociating floating IP addresses from the Horizon dashboard. PR: 216375 Submitted by: maintainer2708105009
Add www/py-horizon, OpenStack Dashboard Horizon is a Django-based project aimed at providing a complete OpenStack Dashboard along with an extensible framework for building new dashboards from reusable components. PR: 215155 Submitted by: Alexander Nusov (alexander.nusov@nfvexpress.com)89a50dd083