[core] built in ssl

This commit is contained in:
devlikepro committed 2024-06-18 10:50:44 +07:00
1 parent e54d3ea96b
commit c54d52ad45
7 files changed
+54 -3

No files matched your search

+1
View File
@@ -1,6 +1,7 @@
.yarn
example.ts
.*sessions
.secrets
tokens
files
venv
+4
View File
@@ -73,6 +73,10 @@ COPY package.json ./
COPY --from=build /src/node_modules ./node_modules
COPY --from=build /src/dist ./dist
# Chokidar options to monitor file changes
ENV CHOKIDAR_USEPOLLING=1
ENV CHOKIDAR_INTERVAL=5000
# Run command, etc
EXPOSE 3000
CMD yarn start:prod
+34
View File
@@ -67,6 +67,40 @@ services:
- WHATSAPP_SESSIONS_MONGO_URL=mongodb://mongodb:27017
restart: always
# Let's Encrypt + Certbot
# https://waha.devlike.pro/docs/how-to/security/#https
waha-https--certbot:
image: devlikeapro/waha-plus
restart: unless-stopped
ports:
- '3000:3000'
volumes:
- './.sessions:/app/.sessions'
- '/etc/letsencrypt:/etc/letsencrypt'
environment:
- DOMAIN=waha.example.pro
- WHATSAPP_API_HOSTNAME=${DOMAIN}
- WAHA_HTTPS_ENABLED=true
- WAHA_HTTPS_PATH_KEY=/etc/letsencrypt/live/${DOMAIN}/privkey.pem
- WAHA_HTTPS_PATH_CERT=/etc/letsencrypt/live/${DOMAIN}/cert.pem
- WAHA_HTTPS_PATH_CA=/etc/letsencrypt/live/${DOMAIN}/chain.pem
# Self-signed certificates example
# https://waha.devlike.pro/docs/how-to/security/#https
waha-https--self-signed:
image: devlikeapro/waha-plus
restart: unless-stopped
ports:
- '3000:3000'
volumes:
- './.sessions:/app/.sessions'
- './.secrets:/app/.secrets'
environment:
- WAHA_HTTPS_ENABLED=true
- WAHA_HTTPS_PATH_KEY=.secrets/privkey.pem
- WAHA_HTTPS_PATH_CERT=.secrets/cert.pem
- WAHA_HTTPS_PATH_CA=.secrets/chain.pem
mongodb:
image: mongo
container_name: mongodb
+1
View File
@@ -39,6 +39,7 @@
"async-lock": "^1.4.1",
"better-sqlite3": "9.6.0",
"check-disk-space": "^3.4.0",
"chokidar": "^3.6.0",
"class-transformer": "^0.5.1",
"class-validator": "0.14.0",
"del": "^6.0.0",
+9 -1
View File
@@ -1,4 +1,4 @@
import { ConsoleLogger, Module } from '@nestjs/common';
import { ConsoleLogger, INestApplication, Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { APP_INTERCEPTOR } from '@nestjs/core';
import { PassportModule } from '@nestjs/passport';
@@ -102,4 +102,12 @@ const PROVIDERS = [
})
export class AppModuleCore {
constructor(protected config: WhatsappConfigService) {}
static getHttpsOptions() {
return undefined;
}
static appReady(app: INestApplication) {
return;
}
}
+3 -1
View File
@@ -1,4 +1,3 @@
import { ValidationPipe } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import { json, urlencoded } from 'express';
@@ -41,8 +40,10 @@ async function loadModules(): Promise<
async function bootstrap() {
const [AppModule, SwaggerModule] = await loadModules();
const httpsOptions = AppModule.getHttpsOptions();
const app = await NestFactory.create(AppModule, {
logger: getLogLevels(false),
httpsOptions: httpsOptions,
});
app.enableShutdownHooks();
@@ -60,6 +61,7 @@ async function bootstrap() {
const swaggerConfigurator = new SwaggerModule(app);
swaggerConfigurator.configure(WAHA_WEBHOOKS);
AppModule.appReady(app);
const config = app.get(WhatsappConfigService);
await app.listen(config.port);
console.log(`WhatsApp HTTP API is running on: ${await app.getUrl()}`);
+2 -1
View File
@@ -4120,7 +4120,7 @@ __metadata:
languageName: node
linkType: hard
"chokidar@npm:^3.5.3":
"chokidar@npm:^3.5.3, chokidar@npm:^3.6.0":
version: 3.6.0
resolution: "chokidar@npm:3.6.0"
dependencies:
@@ -12862,6 +12862,7 @@ __metadata:
async-lock: ^1.4.1
better-sqlite3: 9.6.0
check-disk-space: ^3.4.0
chokidar: ^3.6.0
class-transformer: ^0.5.1
class-validator: 0.14.0
del: ^6.0.0