chore(deploy): make it deployable@@ -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" ]
@@ -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",