# Subdirectory configuration Baby Buddy's default configuration assumes deployment in to the root of a web server. Some additional configuration is required to install Baby Buddy in a subdirectory of a server instead (e.g., to `http://www.example.com/babybuddy`). ## Minimum version Baby Buddy added full support for subdirectory installing in version **1.10.2**. While it is still possible to do a subdirectory installation in older versions of Baby Buddy it is not recommended. ## [`SUB_PATH`](../configuration#sub_path) Set this environment variable to the subdirectory of the Baby Buddy installation. E.g., `SUB_PATH=/babybuddy` if the desired URL is `http://www.example.com/babybuddy`). ## uWSGI + NGINX configuration When using uWSGI and NGINX (as in the [example deployment](deployment.md#example-deployment)) the following configurations are required. *Assume the subdirectory `babybuddy` for configuration change examples below but this can be anything includes multiple subdirectories (e.g., `/my/apps/babybuddy`). Other paths used in these examples also assume a configuration based on the [example deployment](deployment.md#example-deployment).* ### uWSGI In the app configuration replace the `module` declaration with a `mount` declaration and add the `manage-script-name` declaration and [`SUB_PATH`](../configuration#sub_path) environment variable to the `[uwsgi]` configuration block. ``` diff - module = %(project).wsgi:application + mount = /babybuddy=%(project).wsgi:application + manage-script-name = true + env = SUB_PATH=/babybuddy ``` ### NGINX Alter the NGINX `server` configuration to include the desired subdirectory path in the app (Baby Buddy root) and media `location` declarations *and* add a new declaration for the static `location`. ``` diff - location / { + location /babybuddy { ``` ``` diff + location /babybuddy/static { + alias /var/www/babybuddy/public/static; + } ``` ``` diff - location /media { + location /babybuddy/media { ```