.. image:: ../_static/openl2m_logo.png ============ Installation ============ **To quickly test OpenL2M in your environment, run in a docker container! Please see ./docker/test/README.txt** The following steps are for a full production install of OpenL2M. No containers are supported for production at this time. **Requirements** *We recommend you install OpenL2M on Ubuntu 24.04 LTS* You can also look at testing in a Docker container, see here for more options: https://github.com/openl2m .. note:: Ubuntu 26.04 comes with Python 3.14, which is NOT supported at present. Python 3.14 support will require an upgrade to the EzSnmp v2.x library, which will require rewriting of our SNMP code. *So, to run on Ubuntu 26.04, you will need to install an alternative version of Python 3.12 or 3.13! See the docs elsewhere* OpenL2M has some requirements: * Python 3.12 - 3.13 (OpenL2M is developed and tested on v3.12 and 3.13.) * net-snmp v5.7 or greater, including net-snmp-devel * the Python "ezsnmp" package v1.1.0 * a web server, with the WSGI capability. We use Nginx in all our documentation. Apache or Caddy may work but is not tested. * the Django framework, v6.0 or greater. * a PostgreSQL database, running at least version 15. We use v16 in our testing. Note: Ubuntu 24.04 comes with Python v3.12 and PostgreSQL v16. Ubuntu 22.04 comes with PostGreSQL v14. **Ubuntu 22.04 and 20.04 are no longer supported!** **Application Stack Overview** Once installation is complete, you will have the following application stack to get a working OpenL2M application: * Nginx web server (handles user web requests) * Gunicorn WSGI Processes with Python (processes the requests and runs OpenL2M) * PostgreSQL database At the end of this page is an image showing the application stack. **Installation** OpenL2M is developed and tested in a Ubuntu 24.04 LTS environment. All instructions are related to that. However, this should work just fine on other distributions as long as the requirements are met. (*We no longer develop and test on CentOS/Rocky/AlmaLinux environments.*) .. toctree:: :maxdepth: 1 :caption: These are the steps to install OpenL2M: database.rst openl2m.rst openl2m_configs.rst openl2m_api.rst openl2m_finalize.rst gunicorn.rst nginx.rst nginx-ssl.rst ldap.rst upgrading.rst alt-python.rst **Application Stack Overview** .. image:: ../_static/openl2m-application-stack.png