Update README.

This commit is contained in:
Christopher Charbonneau Wells 2017-11-29 19:28:43 -05:00
parent dd4455178a
commit 97c52263e9
2 changed files with 54 additions and 37 deletions

View File

@ -30,7 +30,7 @@ work.
## Demo ## Demo
A [demo of Baby Buddy](https://babybuddy.herokuapp.com) is available on Heroku. A [demo of Baby Buddy](http://demo.baby-buddy.net) is available on Heroku.
The demo instance resets every hour. Login credentials are: The demo instance resets every hour. Login credentials are:
- Username: `admin` - Username: `admin`
@ -38,11 +38,11 @@ The demo instance resets every hour. Login credentials are:
## Deployment ## Deployment
**:warning: Baby Buddy is still in early development and does not yet have a
stable production deployment flow. :warning:**
The default user name and password for Baby Buddy is `admin`/`admin`. For any The default user name and password for Baby Buddy is `admin`/`admin`. For any
deployment, **log in and change the default password immediately**. deployment, **log in and change the default admin password immediately**.
Many of Baby Buddy's configuration settings can be controlled using environment
variables - see [Configuration](#configuration) for detailed information.
### AWS Elastic Beanstalk ### AWS Elastic Beanstalk
@ -86,6 +86,9 @@ containers - one for the database and one for the application.
cp docker.env.example docker.env cp docker.env.example docker.env
editor docker.env editor docker.env
*See [Configuration](#configuration) for other settings that can be
controlled by environment variables added to the `docker.env` file.*
1. Build/run the application 1. Build/run the application
docker-compose up -d docker-compose up -d
@ -123,6 +126,9 @@ for detailed information about Nanobox's deployment and configuration process.
nanobox evar add DJANGO_SETTINGS_MODULE=babybuddy.settings.nanobox nanobox evar add DJANGO_SETTINGS_MODULE=babybuddy.settings.nanobox
nanobox evar add SECRET_KEY=<CHANGE TO SOMETHING RANDOM> nanobox evar add SECRET_KEY=<CHANGE TO SOMETHING RANDOM>
*See [Configuration](#configuration) for other settings that can be
controlled by environment variables.*
1. Deploy! :rocket: 1. Deploy! :rocket:
nanobox deploy nanobox deploy
@ -137,6 +143,9 @@ create two settings before pushing using `heroku config:set`:
heroku config:set DJANGO_SETTINGS_MODULE=babybuddy.settings.heroku heroku config:set DJANGO_SETTINGS_MODULE=babybuddy.settings.heroku
heroku config:set SECRET_KEY=<CHANGE TO SOMETHING RANDOM> heroku config:set SECRET_KEY=<CHANGE TO SOMETHING RANDOM>
See [Configuration](#configuration) for other settings that can be controlled
by `heroku config:set`.
### Manual ### Manual
There are a number of ways to deploy Baby Buddy manually to any server/VPS. There are a number of ways to deploy Baby Buddy manually to any server/VPS.
@ -268,57 +277,65 @@ Python 3.x, nginx, uwsgi and sqlite and should be sufficient for a few users
## Configuration ## Configuration
Environment variables can be use to set a number of configuration settings: Environment variables can be used to define a number of configuration settings:
### `ALLOWED_HOSTS` ### `ALLOWED_HOSTS`
Default: * *Default: * (any)*
This option may be set a single host or comma-separated list of hosts (without This option may be set to a single host or comma-separated list of hosts
spaces). This should *always* be set accurately for production deployments. (without spaces). This should *always* be set to a specific host or hosts in
production deployments.
See also: [Django's documentation on the ALLOWED_HOSTS setting](https://docs.djangoproject.com/en/1.11/ref/settings/#allowed-hosts) See also: [Django's documentation on the ALLOWED_HOSTS setting](https://docs.djangoproject.com/en/1.11/ref/settings/#allowed-hosts)
### `ALLOW_UPLOADS` ### `ALLOW_UPLOADS`
Default: True *Default: True*
Whether or not to allow uploads (e.g. of Child photos). For some deployments Whether or not to allow uploads (e.g. of Child photos). For some deployments
(AWS, Heroku, Nanobox) this setting will actually default to False. (AWS, Heroku, Nanobox) this setting will default to False due to the lack of
available persistent storage.
### `DEBUG` ### `DEBUG`
Default: False *Default: False*
See [Django's documentation on the DEBUG setting](https://docs.djangoproject.com/en/1.11/ref/settings/#debug). When in debug mode, Baby Buddy will print much more detailed error information
for exceptions. This setting should be *False* in production deployments.
See also [Django's documentation on the DEBUG setting](https://docs.djangoproject.com/en/1.11/ref/settings/#debug).
### `NAP_START_MAX` ### `NAP_START_MAX`
Default: 18:00 *Default: 18:00*
The maximum *start* time (in the application's time zone) before which a sleep The maximum *start* time (in the instance's time zone) before which a sleep
entry is consider a nap. Expects the format %H:%M. entry is consider a nap. Expects the format %H:%M.
### `NAP_START_MIN` ### `NAP_START_MIN`
Default: 06:00 *Default: 06:00*
The minimum *start* time (in the application's time zone) after which a sleep The minimum *start* time (in the instance's time zone) after which a sleep
entry is considered a nap. Expects the format %H:%M. entry is considered a nap. Expects the format %H:%M.
### `SECRET_KEY` ### `SECRET_KEY`
Default: None *Default: None*
See [Django's documentation on the SECRET_KEY setting](https://docs.djangoproject.com/en/1.11/ref/settings/#secret-key). A random, unique string must be set as the "secret key" before Baby Buddy can
be deployed and run.
See also [Django's documentation on the SECRET_KEY setting](https://docs.djangoproject.com/en/1.11/ref/settings/#secret-key).
### `TIME_ZONE` ### `TIME_ZONE`
Default: Etc/UTC Default: Etc/UTC
The time zone to use for the application. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) The time zone to use for the instance. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
for all available settings. for all possible values.
## Development ## Development

32
package-lock.json generated
View File

@ -231,7 +231,7 @@
"array-bounds": { "array-bounds": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz",
"integrity": "sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==" "integrity": "sha1-2hE1a04Y4HWk8MhuHxeaZ7fX6jE="
}, },
"array-differ": { "array-differ": {
"version": "1.0.0", "version": "1.0.0",
@ -387,7 +387,7 @@
"readable-stream": { "readable-stream": {
"version": "2.3.3", "version": "2.3.3",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
"integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
"requires": { "requires": {
"core-util-is": "1.0.2", "core-util-is": "1.0.2",
"inherits": "2.0.3", "inherits": "2.0.3",
@ -401,7 +401,7 @@
"string_decoder": { "string_decoder": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
"requires": { "requires": {
"safe-buffer": "5.1.1" "safe-buffer": "5.1.1"
} }
@ -419,7 +419,7 @@
"bn.js": { "bn.js": {
"version": "4.11.8", "version": "4.11.8",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
"integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8="
}, },
"boom": { "boom": {
"version": "2.10.1", "version": "2.10.1",
@ -700,7 +700,7 @@
"color-id": { "color-id": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/color-id/-/color-id-1.1.0.tgz", "resolved": "https://registry.npmjs.org/color-id/-/color-id-1.1.0.tgz",
"integrity": "sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==", "integrity": "sha1-XpFZuZpzrJj3SCDLmKFf3j1+A0w=",
"requires": { "requires": {
"clamp": "1.0.1" "clamp": "1.0.1"
} }
@ -1235,7 +1235,7 @@
"duplexify": { "duplexify": {
"version": "3.5.1", "version": "3.5.1",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz",
"integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", "integrity": "sha1-ThUWvmiDi8kKSZlPCzmm5ZYL780=",
"requires": { "requires": {
"end-of-stream": "1.4.0", "end-of-stream": "1.4.0",
"inherits": "2.0.3", "inherits": "2.0.3",
@ -1267,7 +1267,7 @@
"readable-stream": { "readable-stream": {
"version": "2.3.3", "version": "2.3.3",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
"integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
"requires": { "requires": {
"core-util-is": "1.0.2", "core-util-is": "1.0.2",
"inherits": "2.0.3", "inherits": "2.0.3",
@ -1281,7 +1281,7 @@
"string_decoder": { "string_decoder": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
"requires": { "requires": {
"safe-buffer": "5.1.1" "safe-buffer": "5.1.1"
} }
@ -1847,7 +1847,7 @@
"font-atlas-sdf": { "font-atlas-sdf": {
"version": "1.3.3", "version": "1.3.3",
"resolved": "https://registry.npmjs.org/font-atlas-sdf/-/font-atlas-sdf-1.3.3.tgz", "resolved": "https://registry.npmjs.org/font-atlas-sdf/-/font-atlas-sdf-1.3.3.tgz",
"integrity": "sha512-GxUpcdkdoHgC3UrpMuA7JmG1Ty/MY0BhfmV8r7ZSv3bkqBY5vmRIjcj7Pg8iqj20B03vlU6fUhdpyIgEo/Z35w==", "integrity": "sha1-gyPxNsadc6I1qoxq2mQOWPGAuMA=",
"requires": { "requires": {
"optical-properties": "1.0.0", "optical-properties": "1.0.0",
"tiny-sdf": "1.0.2" "tiny-sdf": "1.0.2"
@ -1916,7 +1916,7 @@
"readable-stream": { "readable-stream": {
"version": "2.3.3", "version": "2.3.3",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
"integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
"requires": { "requires": {
"core-util-is": "1.0.2", "core-util-is": "1.0.2",
"inherits": "2.0.3", "inherits": "2.0.3",
@ -1930,7 +1930,7 @@
"string_decoder": { "string_decoder": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
"requires": { "requires": {
"safe-buffer": "5.1.1" "safe-buffer": "5.1.1"
} }
@ -5908,7 +5908,7 @@
"object-inspect": { "object-inspect": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.3.0.tgz", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.3.0.tgz",
"integrity": "sha512-OHHnLgLNXpM++GnJRyyhbr2bwl3pPVm4YvaraHrRvDt/N3r+s/gDVHciA7EJBTkijKXj61ssgSAikq1fb0IBRg==" "integrity": "sha1-Wx645nQuLugzQqY3A02ESSi6L20="
}, },
"object-keys": { "object-keys": {
"version": "1.0.11", "version": "1.0.11",
@ -5981,7 +5981,7 @@
"optical-properties": { "optical-properties": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/optical-properties/-/optical-properties-1.0.0.tgz", "resolved": "https://registry.npmjs.org/optical-properties/-/optical-properties-1.0.0.tgz",
"integrity": "sha512-XnBQYbIIzDVr7U3L7d3xyAEqp1W+HTkqmw/G4L/Ae/+dq57bT1jqW2uDwV0wCUzO8gsTDIZhGQsGrMb17VSkEA==" "integrity": "sha1-w6aUu6t8xFhwcIhsR/Q8jDpszq4="
}, },
"optionator": { "optionator": {
"version": "0.8.2", "version": "0.8.2",
@ -7510,7 +7510,7 @@
"tape": { "tape": {
"version": "4.8.0", "version": "4.8.0",
"resolved": "https://registry.npmjs.org/tape/-/tape-4.8.0.tgz", "resolved": "https://registry.npmjs.org/tape/-/tape-4.8.0.tgz",
"integrity": "sha512-TWILfEnvO7I8mFe35d98F6T5fbLaEtbFTG/lxWvid8qDfFTxt19EBijWmB4j3+Hoh5TfHE2faWs73ua+EphuBA==", "integrity": "sha1-9qn+xBzFCh3lD6M2A6tYCZH2Bo4=",
"requires": { "requires": {
"deep-equal": "1.0.1", "deep-equal": "1.0.1",
"defined": "1.0.0", "defined": "1.0.0",
@ -7530,7 +7530,7 @@
"glob": { "glob": {
"version": "7.1.2", "version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
"requires": { "requires": {
"fs.realpath": "1.0.0", "fs.realpath": "1.0.0",
"inflight": "1.0.6", "inflight": "1.0.6",
@ -7543,7 +7543,7 @@
"minimatch": { "minimatch": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
"requires": { "requires": {
"brace-expansion": "1.1.8" "brace-expansion": "1.1.8"
} }