diff --git a/.env.sample b/.env.sample index 86e32dd9..9d6e8dfe 100644 --- a/.env.sample +++ b/.env.sample @@ -4,11 +4,11 @@ # # Please use `openssl rand -hex 32` to create SECRET_KEY -DATABASE_URL=postgres://user:pass@postgres:5432/outline -DATABASE_URL_TEST=postgres://user:pass@postgres:5432/outline-test -SECRET_KEY=F0E5AD933D7F6FD8F4DBB3E038C501C052DC0593C686D21ACB30AE205D2F634B +DATABASE_URL=postgres://user:pass@localhost:5432/outline +DATABASE_URL_TEST=postgres://user:pass@localhost:5432/outline-test +SECRET_KEY=generate_a_new_key PORT=3000 -REDIS_URL=redis://redis:6379 +REDIS_URL=redis://localhost:6379 URL=http://localhost:3000 DEPLOYMENT=self ENABLE_UPDATES=true @@ -17,8 +17,8 @@ WEBSOCKETS_ENABLED=true DEBUG=sql,cache,presenters,events # Third party signin credentials (at least one is required) -SLACK_KEY=71315967491.XXXXXXXXXX -SLACK_SECRET=d2dc414f9953226bad0a356cXXXXYYYY +SLACK_KEY=get_a_key_from_slack +SLACK_SECRET=get_the_secret_of_above_key GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= @@ -35,11 +35,11 @@ BUGSNAG_KEY= GITHUB_ACCESS_TOKEN= # AWS credentials (optional in dev) -AWS_ACCESS_KEY_ID=notcheckedindev -AWS_SECRET_ACCESS_KEY=notcheckedindev +AWS_ACCESS_KEY_ID=get_a_key_from_aws +AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key AWS_REGION=ap-xxxxx-1 AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569 -AWS_S3_UPLOAD_BUCKET_NAME=outline-dev +AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here AWS_S3_UPLOAD_MAX_SIZE=26214400 # Emails configuration (optional) diff --git a/README.md b/README.md index 631a849c..c24207d6 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,10 @@ If you'd like to run your own copy of Outline or contribute to development then Outline requires the following dependencies: +- Node.js >= 8.11 - Postgres >=9.5 - Redis +- AWS S3 storage bucket for media and other attachments - Slack or Google developer application for OAuth In development you can quickly get an environment running using Docker by following these steps: @@ -33,6 +35,28 @@ In development you can quickly get an environment running using Docker by follow else should work well for development. 1. Run `make up`. This will download dependencies, build and launch a development version of Outline. +For production deployment by building from scratch, you can follow these steps: + +1. Clone this repo and install dependencies with `yarn` or `npm install` + + > Requires [Node.js, npm](https://nodejs.org/) and [yarn](https://yarnpkg.com) installed + +2. Build the web app with `yarn build:webpack` or `npm run build:webpack` + +3. Migrate database schema with `yarn sequelize:migrate` or `npm run sequelize:migrate ` + +4. Copy the file `.env.sample` to `.env` and fill out the essential fields: + + Database, Change secret key, Redis, URL if you have your own domain name, Slack key or Google client ID or both, AWS credentials + +5. Start the service with any daemon tools you prefer. Take PM2 for example, `NODE_ENV=production pm2 start index.js --name outline ` + +6. Visit http://you_server_ip:3000 and you should be able to see Outline page + + > Port number can be changed in the `.env` file + +7. (Optional) You can add an `nginx` reverse proxy to serve your instance of Outline for a clean URL without the port number, support SSL, etc. + ## Development ### Server