.. _desktop_deployment: *************************** `Desktop Deployment`:index: *************************** pgAdmin may be deployed as a desktop application by configuring the application to run in desktop mode and then utilising the desktop runtime to host the program on a supported Windows, Mac OS X or Linux installation. The desktop runtime is a standalone application that when launched, runs the pgAdmin server and opens a window to render the user interface. .. note:: Pre-compiled and configured installation packages are available for a number of platforms. These packages should be used by end-users whereever possible - the following information is useful for the maintainers of those packages and users interested in understanding how pgAdmin works. .. seealso:: For detailed instructions on building and configuring pgAdmin from scratch, please see the README file in the top level directory of the source code. For convenience, you can find the latest version of the file `here `_, but be aware that this may differ from the version included with the source code for a specific version of pgAdmin. Configuration ************* From pgAdmin 4 v2 onwards, the default configuration mode is server, however, this is overridden by the desktop runtime at startup. In most environments, no Python configuration is required unless you wish to override other default settings. See :ref:`config_py` for more information on configuration settings. Desktop Runtime Standalone Application ====================================== The Desktop Runtime is based on `NWjs `_ which integrates a browser and the Python server creating a standalone application. .. image:: images/runtime_standalone.png :alt: Runtime Standalone :align: center Runtime Menu ------------ .. image:: images/runtime_menu.png :alt: Runtime Menu :align: center Use the *File Menu* to access the *Runtime Menu*: +-------------------------+---------------------------------------------------------------------------------------------------------+ | Option | Action | +=========================+=========================================================================================================+ | *Configure...* | Click to open configuration dialog to configure fixed port, port number and connection timeout. | +-------------------------+---------------------------------------------------------------------------------------------------------+ | *View log...* | Click to open the view log dialog to view the pgAdmin 4 logs. | +-------------------------+---------------------------------------------------------------------------------------------------------+ | *Enter Full Screen* | Click to enter/exit the full screen mode. Keyboard Shortcuts: OSX (Cmd + Ctrl + F), Other OS (F10). | +-------------------------+---------------------------------------------------------------------------------------------------------+ | *Actual Size* | Click to change the window size to it original size. Keyboard Shortcuts: OSX (Cmd + 0), | | | Other OS (Ctrl + 0). | +-------------------------+---------------------------------------------------------------------------------------------------------+ | *Zoom In* | Click to increase the zoom level. Keyboard Shortcuts: OSX (Cmd + +), Other OS (Ctrl + +). | +-------------------------+---------------------------------------------------------------------------------------------------------+ | *Zoom Out* | Click to decrease the zoom level. Keyboard Shortcuts: OSX (Cmd + -), Other OS (Ctrl + -). | +-------------------------+---------------------------------------------------------------------------------------------------------+ Configuration Dialog -------------------- Use the *Runtime Menu* to access the *Configuration* dialog: .. image:: images/runtime_configuration.png :alt: Runtime Configuration :align: center Following are the details of the *Fixed port number?*, *Port Number*, *Connection Timeout*, and 'Open Documentation in Default Browser?' configuration parameters: .. table:: :class: longtable :widths: 2 1 4 +----------------------------------------+--------------------+---------------------------------------------------------------+ | Key | Type | Purpose | +========================================+====================+===============================================================+ | FixedPort | Boolean | Use a fixed network port number rather than a random one. | +----------------------------------------+--------------------+---------------------------------------------------------------+ | PortNumber | Integer | The port number to use, if using a fixed port. | +----------------------------------------+--------------------+---------------------------------------------------------------+ | ConnectionTimeout | Integer | The number of seconds to wait for application server startup. | +----------------------------------------+--------------------+---------------------------------------------------------------+ | Open Documentation in Default Browser | Boolean | By checking this option, all documentation links will open in | | | | the default browser instead of in a new window. | +----------------------------------------+--------------------+---------------------------------------------------------------+ Log dialog ---------- Use the *Runtime Menu* to access the *Log* dialog: .. image:: images/runtime_view_log.png :alt: Runtime View Log :align: center Click on the *Reload* button at the bottom to view the latest logs of pgAdmin 4 Server. When executed, the runtime will automatically try to execute the pgAdmin Python application. If execution fails, it will prompt you with error message displaying a *Configure* button at the bottom. You can configure a fixed port number to avoid clashes of the default random port number with other applications and a connection timeout if desired. .. image:: images/runtime_error.png :alt: Runtime Error :align: center If the error is related to Python Path or pgAdmin Python file then you need to create a file named 'dev_config.json' and specify the following entries: .. code-block:: json { "pythonPath": "/path/to/python.exe", "pgadminFile": "/path/to/pgAdmin4.py" } Note that the *dev_config.py* file should only be required by developers who are working outside of a standard installation. The configuration settings are stored in *runtime_config.json* file, which will be available on Unix systems (~/.local/share/pgadmin/), on Mac OS X (~/Library/Preferences/pgadmin), and on Windows (%APPDATA%/pgadmin).