postiz-app icon indicating copy to clipboard operation
postiz-app copied to clipboard

🐛 Bug Report: Missing Deps, Can't Build Locally, & Working on setting up Dockerfile, fix Docker Compose & Setup Helm Chart.

Open jonathan-irvin opened this issue 1 year ago • 4 comments

📜 Description

Trying to setup a Dockerfile and need to know how to get your dependencies in place since npm isn't covering all of the bases.

I have a branch to setup pnpm since it's much cleaner in my opinion for handling dependencies in a monorepo. You can also assert the version of Node so you won't have to worry about differing versions between developers.

👟 Reproduction steps

  1. Nuke dependencies via rm -rf node_modules
  2. Install dependencies via npm
  3. Try and run npm run dev

👍 Expected behavior

Concurrently and express should be defined in the package.json

👎 Actual Behavior with Screenshots

[email protected] dev concurrently "stripe listen --forward-to localhost:3000/stripe" "nx run-many --target=serve --projects=frontend,backend,workers --parallel=4"

sh: concurrently: command not found

💻 Operating system

MacOS

🤖 Node Version

20.17.0

📃 Provide any additional context for the Bug.

DevOps guy with lots of frontend experience. Forgive me if I come off a little opinionated!

👀 Have you spent some time to check if this bug has been raised before?

  • [X] I checked and didn't find similar issue

Are you willing to submit PR?

Yes I am willing to submit a PR!

jonathan-irvin avatar Sep 02 '24 01:09 jonathan-irvin

Also getting lots of webpack errors?

postiz-app [ ji/pnpm][!][ v20.17.0][☁️  (us-east-2)]
❯ pnpm nx run commands:build

> nx run commands:build:production

chunk (runtime: main) main.js (main) 479 KiB [entry] [rendered]

ERROR in ./libraries/nestjs-libraries/src/database/prisma/agencies/agencies.repository.ts:3:10
TS2305: Module '"@prisma/client"' has no exported member 'User'.
    1 | import { PrismaRepository } from '@gitroom/nestjs-libraries/database/prisma/prisma.service';
    2 | import { Injectable } from '@nestjs/common';
  > 3 | import { User } from '@prisma/client';
      |          ^^^^
    4 | import { CreateAgencyDto } from '@gitroom/nestjs-libraries/dtos/agencies/create.agency.dto';
    5 |
    6 | @Injectable()

ERROR in ./libraries/nestjs-libraries/src/database/prisma/agencies/agencies.service.ts:3:10
TS2305: Module '"@prisma/client"' has no exported member 'User'.
    1 | import { Injectable } from '@nestjs/common';
    2 | import { AgenciesRepository } from '@gitroom/nestjs-libraries/database/prisma/agencies/agencies.repository';
  > 3 | import { User } from '@prisma/client';
      |          ^^^^
    4 | import { CreateAgencyDto } from '@gitroom/nestjs-libraries/dtos/agencies/create.agency.dto';
    5 | import { EmailService } from '@gitroom/nestjs-libraries/services/email.service';
    6 |

ERROR in ./libraries/nestjs-libraries/src/database/prisma/integrations/integration.repository.ts:5:10
TS2305: Module '"@prisma/client"' has no exported member 'Integration'.
    3 | import dayjs from 'dayjs';
    4 | import * as console from 'node:console';
  > 5 | import { Integration } from '@prisma/client';
      |          ^^^^^^^^^^^
    6 | import { makeId } from '@gitroom/nestjs-libraries/services/make.is';
    7 | import { simpleUpload } from '@gitroom/nestjs-libraries/upload/r2.uploader';
    8 | import axios from 'axios';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/integrations/integration.service.ts:7:10
TS2305: Module '"@prisma/client"' has no exported member 'Integration'.
     5 | import { FacebookProvider } from '@gitroom/nestjs-libraries/integrations/social/facebook.provider';
     6 | import { SocialProvider } from '@gitroom/nestjs-libraries/integrations/social/social.integrations.interface';
  >  7 | import { Integration } from '@prisma/client';
       |          ^^^^^^^^^^^
     8 | import { NotificationService } from '@gitroom/nestjs-libraries/database/prisma/notifications/notification.service';
     9 | import { LinkedinPageProvider } from '@gitroom/nestjs-libraries/integrations/social/linkedin.page.provider';
    10 | import { simpleUpload } from '@gitroom/nestjs-libraries/upload/r2.uploader';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/marketplace/messages.repository.ts:4:10
TS2305: Module '"@prisma/client"' has no exported member 'From'.
    2 | import { Injectable } from '@nestjs/common';
    3 | import { NewConversationDto } from '@gitroom/nestjs-libraries/dtos/marketplace/new.conversation.dto';
  > 4 | import { From, OrderStatus } from '@prisma/client';
      |          ^^^^
    5 | import { AddMessageDto } from '@gitroom/nestjs-libraries/dtos/messages/add.message';
    6 | import { CreateOfferDto } from '@gitroom/nestjs-libraries/dtos/marketplace/create.offer.dto';
    7 |

ERROR in ./libraries/nestjs-libraries/src/database/prisma/marketplace/messages.repository.ts:4:16
TS2305: Module '"@prisma/client"' has no exported member 'OrderStatus'.
    2 | import { Injectable } from '@nestjs/common';
    3 | import { NewConversationDto } from '@gitroom/nestjs-libraries/dtos/marketplace/new.conversation.dto';
  > 4 | import { From, OrderStatus } from '@prisma/client';
      |                ^^^^^^^^^^^
    5 | import { AddMessageDto } from '@gitroom/nestjs-libraries/dtos/messages/add.message';
    6 | import { CreateOfferDto } from '@gitroom/nestjs-libraries/dtos/marketplace/create.offer.dto';
    7 |

ERROR in ./libraries/nestjs-libraries/src/database/prisma/marketplace/messages.service.ts:6:10
TS2305: Module '"@prisma/client"' has no exported member 'From'.
    4 | import { AddMessageDto } from '@gitroom/nestjs-libraries/dtos/messages/add.message';
    5 | import { CreateOfferDto } from '@gitroom/nestjs-libraries/dtos/marketplace/create.offer.dto';
  > 6 | import { From, OrderStatus, User } from '@prisma/client';
      |          ^^^^
    7 | import { BullMqClient } from '@gitroom/nestjs-libraries/bull-mq-transport/client/bull-mq.client';
    8 | import { OrganizationRepository } from '@gitroom/nestjs-libraries/database/prisma/organizations/organization.repository';
    9 | import { NotificationService } from '@gitroom/nestjs-libraries/database/prisma/notifications/notification.service';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/marketplace/messages.service.ts:6:16
TS2305: Module '"@prisma/client"' has no exported member 'OrderStatus'.
    4 | import { AddMessageDto } from '@gitroom/nestjs-libraries/dtos/messages/add.message';
    5 | import { CreateOfferDto } from '@gitroom/nestjs-libraries/dtos/marketplace/create.offer.dto';
  > 6 | import { From, OrderStatus, User } from '@prisma/client';
      |                ^^^^^^^^^^^
    7 | import { BullMqClient } from '@gitroom/nestjs-libraries/bull-mq-transport/client/bull-mq.client';
    8 | import { OrganizationRepository } from '@gitroom/nestjs-libraries/database/prisma/organizations/organization.repository';
    9 | import { NotificationService } from '@gitroom/nestjs-libraries/database/prisma/notifications/notification.service';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/marketplace/messages.service.ts:6:29
TS2305: Module '"@prisma/client"' has no exported member 'User'.
    4 | import { AddMessageDto } from '@gitroom/nestjs-libraries/dtos/messages/add.message';
    5 | import { CreateOfferDto } from '@gitroom/nestjs-libraries/dtos/marketplace/create.offer.dto';
  > 6 | import { From, OrderStatus, User } from '@prisma/client';
      |                             ^^^^
    7 | import { BullMqClient } from '@gitroom/nestjs-libraries/bull-mq-transport/client/bull-mq.client';
    8 | import { OrganizationRepository } from '@gitroom/nestjs-libraries/database/prisma/organizations/organization.repository';
    9 | import { NotificationService } from '@gitroom/nestjs-libraries/database/prisma/notifications/notification.service';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/media/media.service.ts:5:10
TS2305: Module '"@prisma/client"' has no exported member 'Organization'.
    3 | import { OpenaiService } from '@gitroom/nestjs-libraries/openai/openai.service';
    4 | import { SubscriptionService } from '@gitroom/nestjs-libraries/database/prisma/subscriptions/subscription.service';
  > 5 | import { Organization } from '@prisma/client';
      |          ^^^^^^^^^^^^
    6 |
    7 | @Injectable()
    8 | export class MediaService {

ERROR in ./libraries/nestjs-libraries/src/database/prisma/organizations/organization.repository.ts:2:10
TS2305: Module '"@prisma/client"' has no exported member 'Role'.
    1 | import { PrismaRepository } from '@gitroom/nestjs-libraries/database/prisma/prisma.service';
  > 2 | import { Role, SubscriptionTier } from '@prisma/client';
      |          ^^^^
    3 | import { Injectable } from '@nestjs/common';
    4 | import { AuthService } from '@gitroom/helpers/auth/auth.service';
    5 | import { CreateOrgUserDto } from '@gitroom/nestjs-libraries/dtos/auth/create.org.user.dto';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/organizations/organization.repository.ts:2:16
TS2305: Module '"@prisma/client"' has no exported member 'SubscriptionTier'.
    1 | import { PrismaRepository } from '@gitroom/nestjs-libraries/database/prisma/prisma.service';
  > 2 | import { Role, SubscriptionTier } from '@prisma/client';
      |                ^^^^^^^^^^^^^^^^
    3 | import { Injectable } from '@nestjs/common';
    4 | import { AuthService } from '@gitroom/helpers/auth/auth.service';
    5 | import { CreateOrgUserDto } from '@gitroom/nestjs-libraries/dtos/auth/create.org.user.dto';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/organizations/organization.service.ts:9:10
TS2305: Module '"@prisma/client"' has no exported member 'Organization'.
     7 | import dayjs from 'dayjs';
     8 | import { makeId } from '@gitroom/nestjs-libraries/services/make.is';
  >  9 | import { Organization } from '@prisma/client';
       |          ^^^^^^^^^^^^
    10 |
    11 | @Injectable()
    12 | export class OrganizationService {

ERROR in ./libraries/nestjs-libraries/src/database/prisma/posts/posts.repository.ts:4:10
TS2305: Module '"@prisma/client"' has no exported member 'APPROVED_SUBMIT_FOR_ORDER'.
    2 | import { Injectable } from '@nestjs/common';
    3 | import { Post as PostBody } from '@gitroom/nestjs-libraries/dtos/posts/create.post.dto';
  > 4 | import { APPROVED_SUBMIT_FOR_ORDER, Post, State } from '@prisma/client';
      |          ^^^^^^^^^^^^^^^^^^^^^^^^^
    5 | import { GetPostsDto } from '@gitroom/nestjs-libraries/dtos/posts/get.posts.dto';
    6 | import dayjs from 'dayjs';
    7 | import isoWeek from 'dayjs/plugin/isoWeek';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/posts/posts.repository.ts:4:37
TS2305: Module '"@prisma/client"' has no exported member 'Post'.
    2 | import { Injectable } from '@nestjs/common';
    3 | import { Post as PostBody } from '@gitroom/nestjs-libraries/dtos/posts/create.post.dto';
  > 4 | import { APPROVED_SUBMIT_FOR_ORDER, Post, State } from '@prisma/client';
      |                                     ^^^^
    5 | import { GetPostsDto } from '@gitroom/nestjs-libraries/dtos/posts/get.posts.dto';
    6 | import dayjs from 'dayjs';
    7 | import isoWeek from 'dayjs/plugin/isoWeek';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/posts/posts.repository.ts:4:43
TS2305: Module '"@prisma/client"' has no exported member 'State'.
    2 | import { Injectable } from '@nestjs/common';
    3 | import { Post as PostBody } from '@gitroom/nestjs-libraries/dtos/posts/create.post.dto';
  > 4 | import { APPROVED_SUBMIT_FOR_ORDER, Post, State } from '@prisma/client';
      |                                           ^^^^^
    5 | import { GetPostsDto } from '@gitroom/nestjs-libraries/dtos/posts/get.posts.dto';
    6 | import dayjs from 'dayjs';
    7 | import isoWeek from 'dayjs/plugin/isoWeek';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/posts/posts.service.ts:7:10
TS2305: Module '"@prisma/client"' has no exported member 'Integration'.
     5 | import dayjs from 'dayjs';
     6 | import { IntegrationManager } from '@gitroom/nestjs-libraries/integrations/integration.manager';
  >  7 | import { Integration, Post, Media, From } from '@prisma/client';
       |          ^^^^^^^^^^^
     8 | import { GetPostsDto } from '@gitroom/nestjs-libraries/dtos/posts/get.posts.dto';
     9 | import { NotificationService } from '@gitroom/nestjs-libraries/database/prisma/notifications/notification.service';
    10 | import { capitalize, chunk, shuffle } from 'lodash';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/posts/posts.service.ts:7:23
TS2305: Module '"@prisma/client"' has no exported member 'Post'.
     5 | import dayjs from 'dayjs';
     6 | import { IntegrationManager } from '@gitroom/nestjs-libraries/integrations/integration.manager';
  >  7 | import { Integration, Post, Media, From } from '@prisma/client';
       |                       ^^^^
     8 | import { GetPostsDto } from '@gitroom/nestjs-libraries/dtos/posts/get.posts.dto';
     9 | import { NotificationService } from '@gitroom/nestjs-libraries/database/prisma/notifications/notification.service';
    10 | import { capitalize, chunk, shuffle } from 'lodash';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/posts/posts.service.ts:7:29
TS2305: Module '"@prisma/client"' has no exported member 'Media'.
     5 | import dayjs from 'dayjs';
     6 | import { IntegrationManager } from '@gitroom/nestjs-libraries/integrations/integration.manager';
  >  7 | import { Integration, Post, Media, From } from '@prisma/client';
       |                             ^^^^^
     8 | import { GetPostsDto } from '@gitroom/nestjs-libraries/dtos/posts/get.posts.dto';
     9 | import { NotificationService } from '@gitroom/nestjs-libraries/database/prisma/notifications/notification.service';
    10 | import { capitalize, chunk, shuffle } from 'lodash';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/posts/posts.service.ts:7:36
TS2305: Module '"@prisma/client"' has no exported member 'From'.
     5 | import dayjs from 'dayjs';
     6 | import { IntegrationManager } from '@gitroom/nestjs-libraries/integrations/integration.manager';
  >  7 | import { Integration, Post, Media, From } from '@prisma/client';
       |                                    ^^^^
     8 | import { GetPostsDto } from '@gitroom/nestjs-libraries/dtos/posts/get.posts.dto';
     9 | import { NotificationService } from '@gitroom/nestjs-libraries/database/prisma/notifications/notification.service';
    10 | import { capitalize, chunk, shuffle } from 'lodash';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/stars/stars.service.ts:347:65
TS2339: Property 'totalStars' does not exist on type 'unknown'.
    345 |             ...acc,
    346 |             {
  > 347 |               totalStars: chunkedStars[chunkedStars.length - 1].totalStars,
        |                                                                 ^^^^^^^^^^
    348 |               date: chunkedStars[chunkedStars.length - 1].date,
    349 |             },
    350 |           ];

ERROR in ./libraries/nestjs-libraries/src/database/prisma/stars/stars.service.ts:348:59
TS2339: Property 'date' does not exist on type 'unknown'.
    346 |             {
    347 |               totalStars: chunkedStars[chunkedStars.length - 1].totalStars,
  > 348 |               date: chunkedStars[chunkedStars.length - 1].date,
        |                                                           ^^^^
    349 |             },
    350 |           ];
    351 |         }, [] as Array<{ totalStars: number; date: Date }>),

ERROR in ./libraries/nestjs-libraries/src/database/prisma/stars/stars.service.ts:356:65
TS2339: Property 'totalForks' does not exist on type 'unknown'.
    354 |             ...acc,
    355 |             {
  > 356 |               totalForks: chunkedForks[chunkedForks.length - 1].totalForks,
        |                                                                 ^^^^^^^^^^
    357 |               date: chunkedForks[chunkedForks.length - 1].date,
    358 |             },
    359 |           ];

ERROR in ./libraries/nestjs-libraries/src/database/prisma/stars/stars.service.ts:357:59
TS2339: Property 'date' does not exist on type 'unknown'.
    355 |             {
    356 |               totalForks: chunkedForks[chunkedForks.length - 1].totalForks,
  > 357 |               date: chunkedForks[chunkedForks.length - 1].date,
        |                                                           ^^^^
    358 |             },
    359 |           ];
    360 |         }, [] as Array<{ totalForks: number; date: Date }>),

ERROR in ./libraries/nestjs-libraries/src/database/prisma/subscriptions/subscription.repository.ts:4:10
TS2305: Module '"@prisma/client"' has no exported member 'Organization'.
    2 | import { PrismaRepository } from '@gitroom/nestjs-libraries/database/prisma/prisma.service';
    3 | import dayjs from 'dayjs';
  > 4 | import { Organization } from '@prisma/client';
      |          ^^^^^^^^^^^^
    5 |
    6 | @Injectable()
    7 | export class SubscriptionRepository {

ERROR in ./libraries/nestjs-libraries/src/database/prisma/subscriptions/subscription.service.ts:6:10
TS2305: Module '"@prisma/client"' has no exported member 'Organization'.
    4 | import { IntegrationService } from '@gitroom/nestjs-libraries/database/prisma/integrations/integration.service';
    5 | import { OrganizationService } from '@gitroom/nestjs-libraries/database/prisma/organizations/organization.service';
  > 6 | import { Organization } from '@prisma/client';
      |          ^^^^^^^^^^^^
    7 | import dayjs from 'dayjs';
    8 | import { makeId } from '@gitroom/nestjs-libraries/services/make.is';
    9 |

ERROR in ./libraries/nestjs-libraries/src/database/prisma/users/users.repository.ts:3:10
TS2305: Module '"@prisma/client"' has no exported member 'Provider'.
    1 | import { PrismaRepository } from '@gitroom/nestjs-libraries/database/prisma/prisma.service';
    2 | import { Injectable } from '@nestjs/common';
  > 3 | import { Provider } from '@prisma/client';
      |          ^^^^^^^^
    4 | import { AuthService } from '@gitroom/helpers/auth/auth.service';
    5 | import { ItemsDto } from '@gitroom/nestjs-libraries/dtos/marketplace/items.dto';
    6 | import { allTagsOptions } from '@gitroom/nestjs-libraries/database/prisma/marketplace/tags.list';

ERROR in ./libraries/nestjs-libraries/src/database/prisma/users/users.service.ts:3:10
TS2305: Module '"@prisma/client"' has no exported member 'Provider'.
    1 | import { Injectable } from '@nestjs/common';
    2 | import { UsersRepository } from '@gitroom/nestjs-libraries/database/prisma/users/users.repository';
  > 3 | import { Provider } from '@prisma/client';
      |          ^^^^^^^^
    4 | import { ItemsDto } from '@gitroom/nestjs-libraries/dtos/marketplace/items.dto';
    5 | import { UserDetailDto } from '@gitroom/nestjs-libraries/dtos/users/user.details.dto';
    6 | import { OrganizationRepository } from '@gitroom/nestjs-libraries/database/prisma/organizations/organization.repository';

ERROR in ./libraries/nestjs-libraries/src/dtos/auth/create.org.user.dto.ts:2:9
TS2305: Module '"@prisma/client"' has no exported member 'Provider'.
    1 | import {IsDefined, IsEmail, IsString, MinLength, ValidateIf} from "class-validator";
  > 2 | import {Provider} from '@prisma/client';
      |         ^^^^^^^^
    3 |
    4 | export class CreateOrgUserDto {
    5 |     @IsString()

ERROR in ./libraries/nestjs-libraries/src/services/stripe.service.ts:3:10
TS2305: Module '"@prisma/client"' has no exported member 'OrderItems'.
    1 | import Stripe from 'stripe';
    2 | import { Injectable } from '@nestjs/common';
  > 3 | import { OrderItems, Organization, User } from '@prisma/client';
      |          ^^^^^^^^^^
    4 | import { SubscriptionService } from '@gitroom/nestjs-libraries/database/prisma/subscriptions/subscription.service';
    5 | import { OrganizationService } from '@gitroom/nestjs-libraries/database/prisma/organizations/organization.service';
    6 | import { makeId } from '@gitroom/nestjs-libraries/services/make.is';

ERROR in ./libraries/nestjs-libraries/src/services/stripe.service.ts:3:22
TS2305: Module '"@prisma/client"' has no exported member 'Organization'.
    1 | import Stripe from 'stripe';
    2 | import { Injectable } from '@nestjs/common';
  > 3 | import { OrderItems, Organization, User } from '@prisma/client';
      |                      ^^^^^^^^^^^^
    4 | import { SubscriptionService } from '@gitroom/nestjs-libraries/database/prisma/subscriptions/subscription.service';
    5 | import { OrganizationService } from '@gitroom/nestjs-libraries/database/prisma/organizations/organization.service';
    6 | import { makeId } from '@gitroom/nestjs-libraries/services/make.is';

ERROR in ./libraries/nestjs-libraries/src/services/stripe.service.ts:3:36
TS2305: Module '"@prisma/client"' has no exported member 'User'.
    1 | import Stripe from 'stripe';
    2 | import { Injectable } from '@nestjs/common';
  > 3 | import { OrderItems, Organization, User } from '@prisma/client';
      |                                    ^^^^
    4 | import { SubscriptionService } from '@gitroom/nestjs-libraries/database/prisma/subscriptions/subscription.service';
    5 | import { OrganizationService } from '@gitroom/nestjs-libraries/database/prisma/organizations/organization.service';
    6 | import { makeId } from '@gitroom/nestjs-libraries/services/make.is';

webpack compiled with 32 errors (4136aeef174f5ec8)

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

 NX   Ran target build for project commands (6s)

   ✖  1/1 failed
   ✔  0/1 succeeded [0 read from cache]

jonathan-irvin avatar Sep 02 '24 01:09 jonathan-irvin

Hi @jonathan-irvin Please follow the Get Started guide https://docs.postiz.com/quickstart

You haven't created the Prisma types.

npm run prisma-db-push

nevo-david avatar Sep 02 '24 06:09 nevo-david

@jonathan-irvin please take the latest changes and try again :)

nevo-david avatar Sep 02 '24 06:09 nevo-david

Will do @nevo-david was on vacation this week and I'll pick this back up.

jonathan-irvin avatar Sep 07 '24 05:09 jonathan-irvin