1
0
Matt Robenolt 9 жил өмнө
parent
commit
c8b46c0bad

+ 58 - 26
sentry/content.md

@@ -8,57 +8,89 @@ Sentry is a realtime event logging and aggregation platform. It specializes in m
 
 # How to use this image
 
-## how to setup a full sentry instance
+## How to setup a full Sentry instance
 
-1.	start a redis container
+1.	Start a Redis container
 
 	```console
-	$ docker run -d --name some-redis redis
+	$ docker run -d --name sentry-redis redis
 	```
 
-2.	start a database container:
-
-	-	Postgres (recommended by upstream):
-
-		```console
-		$ docker run -d --name some-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres
-		```
-
-	-	MySQL (later steps assume PostgreSQL, replace the `--link some-postgres:postres` with `--link some-mysql:mysql`):
+2.	Start a Postgres container:
 
 		```console
-		$ docker run -d --name some-mysql -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=sentry mysql
+		$ docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres
 		```
 
-3.	now start up sentry server
+3.	If this is a new database, you'll need to run `upgrade`
 
 	```console
-	$ docker run -d --name some-sentry --link some-redis:redis --link some-postgres:postgres sentry
+	$ docker run -it --rm --link sentry-postgres:postgres --link sentry-postgres:redis sentry upgrade
 	```
 
-4.	if this is a new database, you'll need to run `sentry upgrade`
+	**Note: the `-it` is important as the initial upgrade will prompt to create an initial user and will fail without it**
+
+4.	Now start up Sentry server
 
 	```console
-	$ docker run -it --rm --link some-postgres:postgres --link some-redis:redis sentry sentry upgrade
+	$ docker run -d --name my-sentry --link sentry-redis:redis --link sentry-postgres:postgres sentry
 	```
 
-	**Note: the `-it` is important as the initial upgrade will prompt to create an initial user and will fail without it**
-
-5.	the default config needs a celery beat and celery workers, start as many workers as you need (each with a unique name)
+5.	The default config needs a celery beat and celery workers, start as many workers as you need (each with a unique name)
 
 	```console
-	$ docker run -d --name sentry-celery-beat --link some-postgres:postgres --link some-redis:redis sentry sentry celery beat
-	$ docker run -d --name sentry-celery1 --link some-postgres:postgres --link some-redis:redis sentry sentry celery worker
+	$ docker run -d --name sentry-celery-beat --link sentry-postgres:postgres --link sentry-redis:redis sentry celery beat
+	$ docker run -d --name sentry-celery1 --link sentry-postgres:postgres --link sentry-redis:redis sentry celery worker
 	```
 
-### port mapping
+### Port mapping
 
 If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used. Just add `-p 8080:9000` to the `docker run` arguments and then access either `http://localhost:8080` or `http://host-ip:8080` in a browser.
 
-## configuring the initial user
+## Configuring the initial user
+
+If you did not create a superuser during `upgrade`, use the following to create one:
+
+```console
+$ docker run -it --rm --link sentry-redis:redis --link some-postgres:postgres sentry createuser
+```
+
+## Environment variables
+
+When you start the `%%REPO%%` image, you can adjust the configuration of the Sentry instance by passing one or more environment variables on the `docker run` command line. Please note that these environment variables are provided as a jump start, and it's highly recommended to either mount in your own config file or utilize the `%%REPO%%:onbuild` variant.
 
-If you did not create a superuser during `sentry upgrade`, use the following to create one:
+### `SENTRY_SECRET_KEY`
+
+A secret key used for cryptographic functions within Sentry. This key should be unique and consistent across all running instances. You can generate a new secret key doing something like:
 
 ```console
-$ docker run -it --rm --link some-postgres:postgres sentry sentry createsuperuser
+$ docker run --rm -it debian:jessie cat /proc/sys/kernel/random/uuid
 ```
+
+### `SENTRY_POSTGRES_HOST`, `SENTRY_POSTGRES_PORT`, `SENTRY_DB_NAME`, `SENTRY_DB_USER`, `SENTRY_DB_PASSWORD`
+
+Database credentials for your Postgres server. These values aren't needed if a linked `postgres` container exists.
+
+### `SENTRY_REDIS_HOST`, `SENTRY_REDIS_PORT`, `SENTRY_REDIS_DB`
+
+Connection information for your Redis server. These values aren't needed if a linked `redis` container exists.
+
+### `SENTRY_MEMCACHED_HOST`, `SENTRY_MEMCACHED_PORT`
+
+Connection information for a Memcache server. These values aren't needed if a linked `memcached` container exists.
+
+### `SENTRY_FILESTORE_DIR`
+
+Directory where uploaded files will be stored. This defaults to `/var/lib/sentry/files` and is a `VOLUME` for persistent data.
+
+### `SENTRY_SERVER_EMAIL`
+
+The email address used for `From:` in outbound emails. Default: `root@localhost`
+
+### `SENTRY_EMAIL_HOST`, `SENTRY_EMAIL_PORT`, `SENTRY_EMAIL_USER`, `SENTRY_EMAIL_PASSWORD`, `SENTRY_EMAIL_USE_TLS`
+
+Connection information for an outbound smtp server. These values aren't needed if a linked `smtp` container exists.
+
+### `SENTRY_MAILGUN_API_KEY`
+
+If you're using Mailgun for inbound mail, set your API key and configure a route to forward to `/api/hooks/mailgun/inbound/`.

+ 7 - 0
sentry/variant-onbuild.md

@@ -0,0 +1,7 @@
+## `%%REPO%%:onbuild`
+
+This image makes it easy to custom build your own Sentry instance by copying in a custom `config.yml` and/or `sentry.conf.py` file and installing plugins from `requirements.txt`.
+
+It's also possible to develop custom extensions within your `onbuild` package. If the build directory contains a `setup.py` file, this will also get installed.
+
+See the [official Sentry documentation](https://docs.getsentry.com/on-premise/server/installation/) for more information.