feat: self host packaging (HBE-166) (#41)

Co-authored-by: Andrew Bastin <andrewbastin.k@gmail.com>
This commit is contained in:
Ankit Sridhar
2023-04-04 03:17:18 +05:30
committed by GitHub
parent 71e1ada641
commit 8bdb9a657f
22 changed files with 5150 additions and 5152 deletions

View File

@@ -1,13 +1,17 @@
FROM node:lts
FROM node:18.8.0 AS builder
WORKDIR /usr/src/app
# # Install pnpm
RUN npm i -g pnpm
COPY .env .
COPY pnpm-lock.yaml .
RUN pnpm fetch
ENV APP_PORT=${PORT}
ENV DB_URL=${DATABASE_URL}
# # PNPM package install
COPY ./packages/hoppscotch-backend .
RUN pnpm i --filter hoppscotch-backend
@@ -15,12 +19,20 @@ RUN pnpm i --filter hoppscotch-backend
# Prisma bits
RUN pnpm exec prisma generate
FROM builder AS dev
EXPOSE 3170
EXPOSE 9229
ENV APP_PORT=${PORT}
ENV DB_URL=${DATABASE_URL}
ENV PRODUCTION=true
ENV PRODUCTION = false
CMD ["pnpm", "run", "start"]
EXPOSE 3170
FROM builder AS prod
ENV PRODUCTION = true
CMD ["pnpm", "run", "start:prod"]
EXPOSE 3170

View File

@@ -1,30 +0,0 @@
version: '3.0'
services:
local:
build:
dockerfile: packages/hoppscotch-backend/Dockerfile
context: ../../
env_file:
- .env
command: [ "pnpm", "run", "start:dev" ]
environment:
- PRODUCTION=false
- DATABASE_URL=postgresql://postgres:testpass@dev-db:5432/hoppscotch?connect_timeout=300
- PORT=3000
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules/
depends_on:
- dev-db
ports:
- "3170:3000"
- "9229:9229"
dev-db:
image: postgres
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: testpass
POSTGRES_DB: hoppscotch

View File

@@ -1,6 +1,6 @@
{
"name": "hoppscotch-backend",
"version": "0.0.1",
"version": "2023.4.0",
"description": "",
"author": "",
"private": true,

View File

@@ -76,7 +76,7 @@ export class AdminService {
template: 'code-your-own',
variables: {
inviteeEmail: inviteeEmail,
magicLink: `${process.env.APP_DOMAIN}`,
magicLink: `${process.env.VITE_BASE_URL}`,
},
});
} catch (e) {

View File

@@ -94,9 +94,9 @@ export class AuthService {
*/
private async generateRefreshToken(userUid: string) {
const refreshTokenPayload: RefreshTokenPayload = {
iss: process.env.APP_DOMAIN,
iss: process.env.VITE_BASE_URL,
sub: userUid,
aud: [process.env.APP_DOMAIN],
aud: [process.env.VITE_BASE_URL],
};
const refreshToken = await this.jwtService.sign(refreshTokenPayload, {
@@ -126,9 +126,9 @@ export class AuthService {
*/
async generateAuthTokens(userUid: string) {
const accessTokenPayload: AccessTokenPayload = {
iss: process.env.APP_DOMAIN,
iss: process.env.VITE_BASE_URL,
sub: userUid,
aud: [process.env.APP_DOMAIN],
aud: [process.env.VITE_BASE_URL],
};
const refreshToken = await this.generateRefreshToken(userUid);
@@ -217,7 +217,7 @@ export class AuthService {
template: 'code-your-own',
variables: {
inviteeEmail: email,
magicLink: `${process.env.APP_DOMAIN}/magic-link?token=${generatedTokens.token}`,
magicLink: `${process.env.VITE_BASE_URL}/magic-link?token=${generatedTokens.token}`,
},
});

View File

@@ -21,6 +21,12 @@ import { UserSettingsResolver } from './user-settings/user-settings.resolver';
import { UserResolver } from './user/user.resolver';
import { Logger } from '@nestjs/common';
import { AdminResolver } from './admin/admin.resolver';
import { TeamEnvsTeamResolver } from './team-environments/team.resolver';
import { TeamTeamInviteExtResolver } from './team-invitation/team-teaminvite-ext.resolver';
import { UserRequestUserCollectionResolver } from './user-request/resolvers/user-collection.resolver';
import { UserEnvsUserResolver } from './user-environment/user.resolver';
import { UserHistoryUserResolver } from './user-history/user.resolver';
import { UserSettingsUserResolver } from './user-settings/user.resolver';
/**
* All the resolvers present in the application.
@@ -31,18 +37,25 @@ const RESOLVERS = [
AdminResolver,
ShortcodeResolver,
TeamResolver,
TeamEnvsTeamResolver,
TeamMemberResolver,
TeamCollectionResolver,
TeamTeamInviteExtResolver,
TeamEnvironmentsResolver,
TeamEnvsTeamResolver,
TeamInvitationResolver,
TeamRequestResolver,
UserResolver,
UserCollectionResolver,
UserEnvironmentsResolver,
UserEnvsUserResolver,
UserHistoryUserResolver,
UserHistoryResolver,
UserCollectionResolver,
UserRequestResolver,
UserRequestUserCollectionResolver,
UserSettingsResolver,
UserSettingsUserResolver,
];
/**