d4b05b5 (parent 16fc80c)9/21/2022, 12:21:47 AM
chore(deploy): make it deployable
+ 15
- 62
file deleted
Dockerfile
@@ -1,47 +0,0 @@
-FROM node:alpine as builder
-RUN apk add --no-cache libc6-compat
-WORKDIR /app
-
-COPY db/ /app
-COPY package.json /app
-COPY yarn.lock /app
-COPY app.manifest.json /app
-COPY .env.production /app
-
-# install production dependencies
-RUN yarn install --pure-lockfile --production
-
-# Save production depenencies installed so we can later copy them in the production image
-RUN cp -R node_modules /tmp/node_modules
-
-# install all dependencies including devDependencies
-RUN yarn install --pure-lockfile
-COPY . .
-
-ENV NODE_OPTIONS --openssl-legacy-provider
-ENV NODE_ENV production
-ENV HOST "localhost"
-ENV PORT 4100
-
-# Generate prisma schema
-RUN yarn generate
-RUN cp -R ./node_modules/.prisma/client /tmp/node_modules/.prisma/client
-
-# Build app
-RUN yarn build
-
-FROM node:slim
-WORKDIR /app
-COPY --from=builder /tmp/node_modules ./node_modules
-# COPY --from=builder /app/node_modules/@prisma/client ./node_modules/@prisma/client
-COPY --from=builder /tmp/node_modules/.prisma/client ./node_modules/.prisma
-COPY --from=builder /app/dist ./dist
-COPY --from=builder /app/package.json ./
-COPY --from=builder /app/.env.production ./
-COPY ./.env.production ./dist/.env
-COPY ./.env.production ./.env
-
-ENV PORT 4100
-EXPOSE 4100
-
-CMD [ "yarn", "start" ]

app/components/MarkdownToJsx.tsx
@@ -54,11 +54,10 @@ export const MarkdownToJsx: VFC<MarkdownToJsxProps> = ({
               "lang-",
               ""
             );
-            const html = Prism.highlight(
-              code,
-              Prism.languages[language],
-              language
-            );
+            const html =
+              language in Prism.languages
+                ? Prism.highlight(code, Prism.languages[language], language)
+                : code;
             return (
               <pre data-language={language} className={` language-${language}`}>
                 <StyledCodeTag

@@ -1,7 +1,7 @@
 generator client {
   provider        = "prisma-client-js"
   previewFeatures = ["filterJson", "fullTextSearch"]
-  binaryTargets   = ["native", "linux-musl"]
+  binaryTargets   = ["native", "linux-musl", "debian-openssl-1.1.x"]
 }
 
 datasource db {

@@ -12,12 +12,15 @@
     "HOST": "0.0.0.0",
     "PORT": 1337,
     "COOKIE_NAME": "git_ethicdevs_ssid",
-    "COOKIE_SECRET": "no-session-only-cookies",
+    "COOKIE_SECRET": "@gitfoss_ethicdevs_cookie_secret",
+    "DATABASE_URL": "@gitfoss_ethicdevs_database_url",
     "DEPLOYMENT_DOMAIN": "git.ethicdevs.com",
-    "DEPLOYMENT_SCHEME": "https"
+    "DEPLOYMENT_SCHEME": "https",
+    "GIT_REPOSITORIES_ROOT": "/opt/git_repos"
   },
   "labels": {
     "traefik.http.routers.git_ethicdevs_com_web.entrypoints": "web",
     "traefik.http.routers.git_ethicdevs_com_web.rule": "Host(`git.ethicdevs.com`)"
-  }
+  },
+  "volumes": ["/opt/git_repos:/opt/git_repos"]
 }

@@ -9,18 +9,16 @@
   "scripts": {
     "postinstall": "patch-package",
     "clean": "rm -rf dist/",
-    "env:local": "export $(echo $(cat .env.local | sed 's/#.*//g'| xargs) | envsubst)",
-    "env:prod": "export $(echo $(cat .env.production | sed 's/#.*//g'| xargs) | envsubst)",
     "generate": "run-s generate:prisma",
     "generate:prisma": "prisma generate",
     "generate:prisma-data-proxy": "prisma generate --data-proxy",
     "db:push": "prisma db push --preview-feature",
-    "migrate:dev": "yarn env:local && prisma migrate dev",
-    "migrate:deploy": "yarn env:prod && prisma migrate deploy",
-    "migrate:reset": "yarn env:local && prisma migrate reset",
+    "migrate:dev": "prisma migrate dev",
+    "migrate:deploy": "prisma migrate deploy",
+    "migrate:reset": "prisma migrate reset",
     "bundle:islands": "NODE_ENV=production bundle-islands",
     "build:ts": "NODE_ENV=production tsc",
-    "build": "run-s clean build:ts bundle:islands",
+    "build": "run-s clean generate build:ts bundle:islands",
     "dev": "NODE_ENV=development ts-node-dev --respawn ./app/server.ts",
     "deploy": "exoframe deploy --update",
     "start": "NODE_ENV=production node ./dist/app/server.js",