Sourcegraph by default provides its own PostgreSQL and Redis databases for data storage:
You can use your own PostgreSQL v9.6+ server with Sourcegraph if you wish. For example, you may prefer this if you already have existing backup infrastructure around your own PostgreSQL server, wish to use Amazon RDS, etc.
Simply add the standard PostgreSQL environment variables to your docker run
command and Sourcegraph will use that PostgreSQL server instead of its built-in one. For example:
Please refer to our Postgres documentation to learn about version requirements.
docker run [...] -e PGHOST=psql.mycompany.org -e PGUSER=sourcegraph -e PGPASSWORD=secret -e PGDATABASE=sourcegraph -e PGSSLMODE=require sourcegraph/server:3.11.4
Most standard PostgreSQL environment variables may be specified (PGPORT
, etc). See http://www.postgresql.org/docs/current/static/libpq-envars.html for a full list.
Generally, there is no reason to do this as Sourcegraph only stores ephemeral cache and session data in Redis. However, if you want to use an external Redis server with Sourcegraph, you can do the following:
Add the REDIS_ENDPOINT
environment variable to your docker run
command and Sourcegraph will use that Redis server instead of its built-in one. The string must either have the format $HOST:PORT
or follow the IANA specification for Redis URLs (e.g., redis://:mypassword@host:6379/2
). For example:
docker run [...] -e REDIS_ENDPOINT=redis.mycompany.org:6379 sourcegraph/server:3.11.4
If using Docker for Desktop, host.docker.internal
will resolve to the host IP address.