mybuddy/docs/setup/subdirectory.md

2.0 KiB

Subdirectory

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

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) 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.

uWSGI

In the app configuration replace the module declaration with a mount declaration and add the manage-script-name declaration and SUB_PATH environment variable to the [uwsgi] configuration block.

- 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.

-    location / {
+    location /babybuddy {
+    location /babybuddy/static {
+        alias /var/www/babybuddy/public/static;
+    }
-    location /media {
+    location /babybuddy/media {