diff --git a/CONFIGURATION.md b/CONFIGURATION.md index 7276f1d..1f7a0ce 100644 --- a/CONFIGURATION.md +++ b/CONFIGURATION.md @@ -9,6 +9,7 @@ The following environment variables can be set: | RELAY_PORT | Relay's server port | 8008 | | RELAY_PRIVATE_KEY | Relay's private key in hex | (auto-generated) | | WORKER_COUNT | Number of workers override | No. of available CPUs | +| DB_URI | PostgreSQL URI (overrides DB_HOST, DB_PORT, etc.) | | | DB_HOST | PostgresSQL Hostname | | | DB_PORT | PostgreSQL Port | 5432 | | DB_USER | PostgreSQL Username | nostr_ts_relay | @@ -30,6 +31,7 @@ The following environment variables can be set: | TOR_CONTROL_PORT | Tor control Port | 9051 | | TOR_PASSWORD | Tor control password | nostr_ts_relay | | HIDDEN_SERVICE_PORT | Tor hidden service port | 80 | +| REDIS_URI | Redis URI (overrides REDIS_HOST, REDIS_PORT, etc.) | | | REDIS_HOST | | | | REDIS_PORT | Redis Port | 6379 | | REDIS_USER | Redis User | default | diff --git a/README.md b/README.md index 76a4f64..dd84456 100644 --- a/README.md +++ b/README.md @@ -179,11 +179,18 @@ The logs can be viewed with: Set the following environment variables: ``` + DB_URI="postgresql://postgres:postgres@localhost:5432/nostr_ts_relay_test" + + or + DB_HOST=localhost DB_PORT=5432 DB_NAME=nostr_ts_relay DB_USER=postgres DB_PASSWORD=postgres + + REDIS_URI="redis://default:nostr_ts_relay@localhost:6379" + REDIS_HOST=localhost REDIS_PORT=6379 REDIS_USER=default @@ -315,6 +322,10 @@ Open a terminal and change to the project's directory: Set the following environment variables: ``` + DB_URI="postgresql://postgres:postgres@localhost:5432/nostr_ts_relay_test" + + or + DB_HOST=localhost DB_PORT=5432 DB_NAME=nostr_ts_relay_test diff --git a/knexfile.js b/knexfile.js index f48ac35..6546cc4 100644 --- a/knexfile.js +++ b/knexfile.js @@ -1,6 +1,6 @@ module.exports = { client: 'pg', - connection: { + connection: process.env.DATABASE_URI ? process.env.DATABASE_URI : { host: process.env.DB_HOST ?? 'localhost', port: process.env.DB_PORT ?? 5432, user: process.env.DB_USER ?? 'postgres', diff --git a/src/cache/client.ts b/src/cache/client.ts index ed8d263..d4b819b 100644 --- a/src/cache/client.ts +++ b/src/cache/client.ts @@ -6,7 +6,7 @@ import { createLogger } from '../factories/logger-factory' const debug = createLogger('cache-client') export const getCacheConfig = (): RedisClientOptions => ({ - url: `redis://${process.env.REDIS_USER}:${process.env.REDIS_PASSWORD}@${process.env.REDIS_HOST}:${process.env.REDIS_PORT}`, + url: process.env.REDIS_URI ? process.env.REDIS_URI : `redis://${process.env.REDIS_USER}:${process.env.REDIS_PASSWORD}@${process.env.REDIS_HOST}:${process.env.REDIS_PORT}`, password: process.env.REDIS_PASSWORD, }) diff --git a/src/database/client.ts b/src/database/client.ts index c91fe42..b37207e 100644 --- a/src/database/client.ts +++ b/src/database/client.ts @@ -25,7 +25,7 @@ import { createLogger } from '../factories/logger-factory' const getMasterConfig = (): Knex.Config => ({ tag: 'master', client: 'pg', - connection: { + connection: process.env.DB_URI ? process.env.DB_URI : { host: process.env.DB_HOST, port: Number(process.env.DB_PORT), user: process.env.DB_USER,