Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
PORT=3000
OBB_PORT=3000

DB_HOST=db
DB_PORT=5432
DB_DATABASE=omnibox
DB_USERNAME=omnibox
DB_PASSWORD=omnibox
DB_LOGGING=true
DB_SYNC=true
OBB_DB_HOST=db
OBB_DB_PORT=5432
OBB_DB_DATABASE=omnibox
OBB_DB_USERNAME=omnibox
OBB_DB_PASSWORD=omnibox
OBB_DB_LOGGING=true
OBB_DB_SYNC=true

JWT_SECRET=your-secret-key
JWT_EXPIRE=2678400s
OBB_JWT_SECRET=your-secret-key
OBB_JWT_EXPIRE=2678400s

MAIL_TRANSPORT=smtps://your-email@example.com:your-email-password@smtp.example.com:465
MAIL_FROM="No Reply <no-reply@example.com>"
OBB_MAIL_TRANSPORT=smtps://your-email@example.com:your-email-password@smtp.example.com:465
OBB_MAIL_FROM="No Reply <no-reply@example.com>"
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
+ Watch & Debug mode

```shell
docker compose -f compose.yaml -f dev.yaml up
docker compose -f compose.yaml -f dev.yaml up -d
```

+ Build mode

```shell
docker compose -f compose.yaml -f build.yaml up --build
docker compose -f compose.yaml -f build.yaml up -d --build
```

### locally
### Locally

```bash
# Setup
Expand Down
19 changes: 12 additions & 7 deletions compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,30 @@ name: omnibox-backend-dev
services:
app:
ports:
- "${PORT}:${PORT}"
- "${OBB_PORT}:${OBB_PORT}"
env_file:
- .env
depends_on:
db:
condition: service_healthy
healthcheck:
test: [ "CMD", "wget", "-q", "-O-", "http://127.0.0.1:${OBB_PORT}/api/v1/health" ]
interval: 5s
timeout: 3s
retries: 5
db:
image: postgres:17-alpine
ports:
- '${DB_PORT:-5432}:${DB_PORT:-5432}'
- '${OBB_DB_PORT:-5432}:${OBB_DB_PORT:-5432}'
environment:
- POSTGRES_DB=${DB_DATABASE:-omnibox}
- POSTGRES_USER=${DB_USERNAME:-omnibox}
- POSTGRES_PASSWORD=${DB_PASSWORD:-omnibox}
- POSTGRES_PORT=${DB_PORT:-5432}
- POSTGRES_DB=${OBB_DB_DATABASE:-omnibox}
- POSTGRES_USER=${OBB_DB_USERNAME:-omnibox}
- POSTGRES_PASSWORD=${OBB_DB_PASSWORD:-omnibox}
- POSTGRES_PORT=${OBB_DB_PORT:-5432}
volumes:
- ${PWD}/.tmp/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "${DB_DATABASE:-omnibox}", "-U", "${DB_USERNAME:-omnibox}", "-p", "${DB_PORT:-5432}"]
test: [ "CMD", "pg_isready", "-q", "-d", "${OBB_DB_DATABASE:-omnibox}", "-U", "${OBB_DB_USERNAME:-omnibox}", "-p", "${OBB_DB_PORT:-5432}" ]
interval: 5s
timeout: 3s
retries: 5
11 changes: 8 additions & 3 deletions src/app/app.controller.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
import { Controller } from '@nestjs/common';
import { Controller, Get } from '@nestjs/common';
import { Public } from 'src/auth/decorators/public.decorator';

@Controller()
@Controller('api/v1/health')
export class AppController {
constructor() {}
@Public()
@Get()
healthCheck() {
return '';
}
}
14 changes: 7 additions & 7 deletions src/app/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,13 @@ import { NamespacesModule } from 'src/namespaces/namespaces.module';
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
type: 'postgres',
host: config.get('DB_HOST', 'db'),
port: config.get('DB_PORT', 5432),
database: config.get('DB_DATABASE', 'omnibox'),
username: config.get('DB_USERNAME', 'omnibox'),
password: config.get('DB_PASSWORD', 'omnibox'),
logging: config.get('DB_LOGGING', true),
synchronize: config.get('DB_SYNC', false),
host: config.get('OBB_DB_HOST', 'db'),
port: config.get('OBB_DB_PORT', 5432),
database: config.get('OBB_DB_DATABASE', 'omnibox'),
username: config.get('OBB_DB_USERNAME', 'omnibox'),
password: config.get('OBB_DB_PASSWORD', 'omnibox'),
logging: config.get('OBB_DB_LOGGING', true),
synchronize: config.get('OBB_DB_SYNC', false),
autoLoadEntities: true,
}),
}),
Expand Down
4 changes: 2 additions & 2 deletions src/auth/auth.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ import { NamespacesModule } from 'src/namespaces/namespaces.module';
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
global: true,
secret: config.get('JWT_SECRET'),
signOptions: { expiresIn: config.get('JWT_EXPIRE') },
secret: config.get('OBB_JWT_SECRET'),
signOptions: { expiresIn: config.get('OBB_JWT_EXPIRE') },
}),
}),
],
Expand Down
2 changes: 1 addition & 1 deletion src/auth/jwt.strategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export class JwtStrategy extends PassportStrategy(Strategy) {
constructor(config: ConfigService) {
super({
ignoreExpiration: false,
secretOrKey: config.get('JWT_SECRET'),
secretOrKey: config.get('OBB_JWT_SECRET'),
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
});
}
Expand Down
6 changes: 0 additions & 6 deletions src/interface.ts

This file was deleted.

4 changes: 2 additions & 2 deletions src/mail/mail.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handleba
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
transport: config.get('MAIL_TRANSPORT'),
transport: config.get('OBB_MAIL_TRANSPORT'),
defaults: {
from: config.get('MAIL_FROM'),
from: config.get('OBB_MAIL_FROM'),
},
template: {
dir: __dirname + '/templates',
Expand Down
2 changes: 1 addition & 1 deletion src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ async function bootstrap() {
app.use(express.urlencoded({ limit: '10mb', extended: true }));

const configService = app.get(ConfigService);
await app.listen(parseInt(configService.get('PORT', '3000')));
await app.listen(parseInt(configService.get('OBB_PORT', '3000')));
}

bootstrap().catch(console.error);