From 88fcf8cb44fb04983fc4378e6e6ceab3505ad7f5 Mon Sep 17 00:00:00 2001
From: Tom Moor
Date: Sat, 22 Jan 2022 13:18:29 -0800
Subject: [PATCH] docs: Update README to point to new docs
---
README.md | 103 +++++++-----------------------------------------------
1 file changed, 12 insertions(+), 91 deletions(-)
diff --git a/README.md b/README.md
index e6c241082..0105b1c36 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
- An open, extensible, wiki for your team built using React and Node.js.
Try out Outline using our hosted version at www.getoutline.com.
+ A fast, collaborative, knowledge base for your team built using React and Node.js.
Try out Outline using our hosted version at www.getoutline.com.
@@ -20,101 +20,19 @@ If you'd like to run your own copy of Outline or contribute to development then
# Installation
-Outline requires the following dependencies:
+Please see the [documentation](https://app.getoutline.com/share/770a97da-13e5-401e-9f8a-37949c19f97e/) for running your own copy of Outline in a production configuration.
-- [Node.js](https://nodejs.org/) >= 12
-- [Yarn](https://yarnpkg.com)
-- [Postgres](https://www.postgresql.org/download/) >=9.5
-- [Redis](https://redis.io/) >= 4
-- AWS S3 bucket or compatible API for file storage
-- Slack, Google, Azure, or OIDC application for authentication
+If you have questions or improvements for the docs please create a thread in [GitHub discussions](https://github.com/outline/outline/discussions).
-## Self-Hosted Production
+# Development
-### Docker
+There is a short guide for [setting up a development environment](https://app.getoutline.com/share/770a97da-13e5-401e-9f8a-37949c19f97e/doc/local-development-5hEhFRXow7) if you wish to contribute changes, fixes, and improvements to Outline.
-For a manual self-hosted production installation these are the recommended steps:
-
-1. First setup Redis and Postgres servers, this is outside the scope of the guide.
-1. Download the latest official Docker image, new releases are available around the middle of every month:
-
- `docker pull outlinewiki/outline`
-
-1. Using the [.env.sample](.env.sample) as a reference, set the required variables in your production environment. You can export the environment variables directly, or create a `.env` file and pass it to the docker image like so:
-
- `docker run --env-file=.env outlinewiki/outline`
-
-1. Setup the database with `yarn db:migrate`. Production assumes an SSL connection to the database by default, if
- Postgres is on the same machine and is not SSL you can migrate with `yarn db:migrate --env=production-ssl-disabled`, for example:
-
- `docker run --rm outlinewiki/outline yarn db:migrate`
-
-1. Start the container:
-
- `docker run --env-file=.env outlinewiki/outline`
-
-1. Visit http://you_server_ip:3000 and you should be able to see Outline page
-
- > Port number can be changed using the `PORT` environment variable
-
-1. (Optional) You can add an `nginx` or other reverse proxy to serve your instance of Outline for a clean URL without the port number, support SSL, etc.
-2. (Optional) If you setup your redis or postgres outside docker container you could use additional flag `--net="host"` for docker. In this case you will be able to use `localhost` as host in your `.env` file for redis and postgres.
-
-### Terraform
-
-Alternatively a community member maintains a script to deploy Outline on Google Cloud Platform with [Terraform & Ansible](https://github.com/rjsgn/outline-terraform-ansible).
-
-### Upgrading
-
-#### Docker
-
-If you're running Outline with Docker you'll need to run migrations within the docker container after updating the image. The command will be something like:
-
-```shell
-docker run --rm outlinewiki/outline:latest yarn db:migrate
-```
-
-#### Git
-
-If you're running Outline by cloning this repository, run the following command to upgrade:
-
-```shell
-yarn run upgrade
-```
-
-## Local Development
-
-For contributing features and fixes you can quickly get an environment running using Docker by following these steps:
-
-1. Install these dependencies if you don't already have them
- 1. [Docker for Desktop](https://www.docker.com)
- 1. [Node.js](https://nodejs.org/) (v16 LTS preferred)
- 1. [Yarn](https://yarnpkg.com)
-1. Clone this repo
-1. Register a Slack app at https://api.slack.com/apps
-1. Copy the file `.env.sample` to `.env`
-1. Fill out the following fields:
- 1. `SECRET_KEY` (follow instructions in the comments at the top of `.env`)
- 1. `SLACK_KEY` (this is called "Client ID" in Slack admin)
- 1. `SLACK_SECRET` (this is called "Client Secret" in Slack admin)
-1. Configure your Slack app's Oauth & Permissions settings
- 1. Slack recently prevented the use of `http` protocol for localhost. For local development, you can use a tool like [ngrok](https://ngrok.com) or a package like `mkcert`. ([How to use HTTPS for local development](https://web.dev/how-to-use-local-https/))
- 1. Add `https://my_ngrok_address/auth/slack.callback` as an Oauth redirect URL and update the `URL` env var to match
- 1. Ensure that the bot token scope contains at least `users:read`
-1. Run `make up`. This will download dependencies, build and launch a development version of Outline
-
-### Testing
-
-The `Makefile` has other useful scripts, including some test automation.
-
-1. To run the entire test suite, run `make test`
-1. During development, it's often useful, to re-run some tests every time a file is changed. Use `make watch` to start the test daemon and follow the instructions in the console
-
-# Contributing
+## Contributing
Outline is built and maintained by a small team – we'd love your help to fix bugs and add features!
-Before submitting a pull request please let the core team know by creating or commenting in an issue on [GitHub](https://www.github.com/outline/outline/issues), and we'd also love to hear from you in the [Discussions](https://www.github.com/outline/outline/discussions). This way we can ensure that an approach is agreed on before code is written. This will result in a much higher liklihood of code being accepted.
+Before submitting a pull request _please_ discuss with the core team by creating or commenting in an issue on [GitHub](https://www.github.com/outline/outline/issues) – we'd also love to hear from you in the [discussions](https://www.github.com/outline/outline/discussions). This way we can ensure that an approach is agreed on before code is written. This will result in a much higher liklihood of your code being accepted.
If you’re looking for ways to get started, here's a list of ways to help us improve Outline:
@@ -156,6 +74,9 @@ frontend and backend tests directly.
# To run backend tests
yarn test:server
+# To run a specific backend test
+yarn test:server myTestFile
+
# To run frontend tests
yarn test:app
```
@@ -164,14 +85,14 @@ yarn test:app
Sequelize is used to create and run migrations, for example:
-```
+```shell
yarn sequelize migration:generate --name my-migration
yarn sequelize db:migrate
```
Or to run migrations on test database:
-```
+```shell
yarn sequelize db:migrate --env test
```