2016-07-08 16:00:53 -04:00
# Install the Latest Code
As with the initial installation, you can upgrade NetBox by either downloading the latest release package or by cloning the `master` branch of the git repository.
## Option A: Download a Release
2016-07-12 16:57:00 -04:00
Download the [latest stable release ](https://github.com/digitalocean/netbox/releases ) from GitHub as a tarball or ZIP archive. Extract it to your desired path. In this example, we'll use `/opt/netbox` .
Download and extract the latest version:
2016-07-08 16:00:53 -04:00
```
# wget https://github.com/digitalocean/netbox/archive/vX.Y.Z.tar.gz
# tar -xzf vX.Y.Z.tar.gz -C /opt
# cd /opt/
2016-07-12 16:57:00 -04:00
# ln -sf netbox-X.Y.Z/ netbox
2016-07-08 16:00:53 -04:00
```
Copy the 'configuration.py' you created when first installing to the new version:
2016-07-12 16:57:00 -04:00
2016-07-08 16:00:53 -04:00
```
2016-07-12 16:57:00 -04:00
# cp /opt/netbox-X.Y.Z/configuration.py /opt/netbox/configuration.py
2016-07-08 16:00:53 -04:00
```
2016-07-12 16:57:00 -04:00
If you followed the original installation guide to set up gunicorn, be sure to copy its configuration as well:
2016-07-08 16:00:53 -04:00
```
2016-07-12 16:57:00 -04:00
# cp /opt/netbox-X.Y.Z/gunicorn_config.py /opt/netbox/gunicorn_config.py
2016-07-08 16:00:53 -04:00
```
2016-07-12 16:57:00 -04:00
## Option B: Clone the Git Repository (latest master release)
This guide assumes that NetBox is installed at `/opt/netbox` . Pull down the most recent iteration of the master branch:
2016-07-08 16:00:53 -04:00
```
2016-07-12 16:57:00 -04:00
# cd /opt/netbox
2016-07-08 16:00:53 -04:00
# git checkout master
2016-07-12 16:57:00 -04:00
# git pull origin master
2016-07-08 16:00:53 -04:00
# git status
```
# Run the Upgrade Script
Once the new code is in place, run the upgrade script (which may need to be run as root depending on how your environment is configured).
```
# ./upgrade.sh
```
This script:
* Installs or upgrades any new required Python packages
* Applies any database migrations that were included in the release
* Collects all static files to be served by the HTTP service
# Restart the WSGI Service
Finally, restart the WSGI service to run the new code. If you followed this guide for the initial installation, this is done using `supervisorctl` :
```
# sudo supervisorctl restart netbox
```