Compare commits

..

3 Commits

Author SHA1 Message Date
Shubham Palriwala
09f885d365 feat: auto generate formbricks encryption key in one click setup (#953)
* fix: docker env parsing & response bug when built w docker

* chore: bring back env example

* fix: docker compose envs are now single place defined

* add: renaming of .env in docs

* remove: existence of prisma_generate_data_proxy

* fix: use newer env vars and a smarter way to handle existing .env file

* fix: remove text to remove existing .enb

* fix: remove comments, local testing, and mention of more updating via echo in prod script

* fix: env ending

* fix: finalllyyy the docker compose works

* wip

* fix: update self host docker compose

* fix: echo log rename
2023-10-05 16:14:23 +02:00
Matti Nannt
7e74cfa0d6 chore: update npm dependencies (#954)
* update packages npm packages

* fix types bug

* update demo npm packages

* update web npm packages

* change formbricks-web to v1.1
2023-10-05 16:11:21 +02:00
Matti Nannt
a612eafee5 fix: docker release deployment pipeline (#957) 2023-10-05 16:09:18 +02:00
19 changed files with 654 additions and 631 deletions

View File

@@ -12,7 +12,13 @@ jobs:
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
DATABASE_URL: "postgresql://postgres:postgres@localhost:5432/formbricks?schema=public"
steps:
- name: Generate Random NEXTAUTH_SECRET
run: |
SECRET=$(openssl rand -hex 16)
echo "NEXTAUTH_SECRET=$SECRET" >> $GITHUB_ENV
- name: Checkout Repo
uses: actions/checkout@v2
@@ -41,3 +47,6 @@ jobs:
tags: |
${{ secrets.DOCKER_USERNAME }}/formbricks:${{ env.RELEASE_TAG }}
${{ secrets.DOCKER_USERNAME }}/formbricks:latest
build-args: |
NEXTAUTH_SECRET=${{ env.NEXTAUTH_SECRET }}
DATABASE_URL=${{ env.DATABASE_URL }}

View File

@@ -13,7 +13,7 @@
"dependencies": {
"@formbricks/js": "workspace:*",
"@heroicons/react": "^2.0.18",
"next": "13.5.3",
"next": "13.5.4",
"react": "18.2.0",
"react-dom": "18.2.0"
},

View File

@@ -29,7 +29,7 @@
"@sindresorhus/slugify": "^2.2.1",
"@tailwindcss/typography": "^0.5.10",
"@types/node": "20.6.0",
"@types/react-highlight-words": "^0.16.4",
"@types/react-highlight-words": "^0.16.5",
"acorn": "^8.10.0",
"autoprefixer": "^10.4.15",
"clsx": "^2.0.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@formbricks/web",
"version": "1.0.3",
"version": "1.1.0",
"private": true,
"scripts": {
"clean": "rimraf .turbo node_modules .next",
@@ -26,25 +26,25 @@
"@radix-ui/react-collapsible": "^1.0.3",
"@react-email/components": "^0.0.7",
"@radix-ui/react-dropdown-menu": "^2.0.6",
"@sentry/nextjs": "^7.72.0",
"@t3-oss/env-nextjs": "^0.6.1",
"@sentry/nextjs": "^7.73.0",
"@t3-oss/env-nextjs": "^0.7.0",
"bcryptjs": "^2.4.3",
"encoding": "^0.1.13",
"eslint-config-next": "^13.5.3",
"eslint-config-next": "^13.5.4",
"googleapis": "^126.0.1",
"jsonwebtoken": "^9.0.2",
"lodash": "^4.17.21",
"lucide-react": "^0.279.0",
"next": "13.5.3",
"next-auth": "^4.23.1",
"lucide-react": "^0.284.0",
"next": "13.5.4",
"next-auth": "^4.23.2",
"nodemailer": "^6.9.5",
"posthog-js": "^1.81.1",
"posthog-js": "^1.82.1",
"prismjs": "^1.29.0",
"react": "18.2.0",
"react-beautiful-dnd": "^13.1.1",
"react-dom": "18.2.0",
"react-email": "^1.9.4",
"react-hook-form": "^7.46.2",
"react-email": "^1.9.5",
"react-hook-form": "^7.47.0",
"react-hot-toast": "^2.4.1",
"react-icons": "^4.11.0",
"swr": "^2.2.4",
@@ -55,7 +55,7 @@
"@formbricks/tsconfig": "workspace:*",
"@types/bcryptjs": "^2.4.4",
"@types/lodash": "^4.14.199",
"@types/markdown-it": "^13.0.1",
"@types/markdown-it": "^13.0.2",
"eslint-config-formbricks": "workspace:*"
}
}

View File

@@ -16,6 +16,10 @@ x-environment: &environment
# You do not need the NEXTAUTH_URL environment variable in Vercel.
NEXTAUTH_URL: http://localhost:3000
# Formbricks Encryption Key is used to generate encrypted single use URLs for Link Surveys
# You can use: $(openssl rand -base64 16) to generate one
# FORMBRICKS_ENCRYPTION_KEY:
# PostgreSQL password
POSTGRES_PASSWORD: postgres
@@ -27,6 +31,12 @@ x-environment: &environment
SMTP_USER:
SMTP_PASSWORD:
# Set the below value if you want to have another base URL apart from your Domain Name
# SURVEY_BASE_URL:
# Set the below value if you have and want to use a custom URL for the links created by the Link Shortener
# SHORT_SURVEY_BASE_URL:
# Uncomment the below and set it to 1 to disable Email Verification for new signups
# EMAIL_VERIFICATION_DISABLED:
@@ -58,6 +68,9 @@ x-environment: &environment
# GOOGLE_CLIENT_ID:
# GOOGLE_CLIENT_SECRET:
# Configure ASSET_PREFIX_URL when you want to ship JS & CSS files from a complete URL instead of the current domain
# ASSET_PREFIX_URL: *asset_prefix_url
services:
postgres:
restart: always

View File

@@ -170,6 +170,10 @@ x-environment: &environment
# You do not need the NEXTAUTH_URL environment variable in Vercel.
NEXTAUTH_URL: "https://$domain_name"
# Formbricks Encryption Key is used to generate encrypted single use URLs for Link Surveys
# You can use: $(openssl rand -base64 16) to generate one
FORMBRICKS_ENCRYPTION_KEY:
# PostgreSQL password
POSTGRES_PASSWORD: postgres
@@ -261,6 +265,11 @@ echo "🚙 Updating NEXTAUTH_SECRET in the Formbricks container..."
nextauth_secret=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32) && sed -i "/NEXTAUTH_SECRET:$/s/NEXTAUTH_SECRET:.*/NEXTAUTH_SECRET: $nextauth_secret/" docker-compose.yml
echo "🚗 NEXTAUTH_SECRET updated successfully!"
echo "🚙 Updating FORMBRICKS_ENCRYPTION_KEY in the Formbricks container..."
formbricks_encryption_key=$(openssl rand -base64 16 | tr -dc 'a-zA-Z0-9' | head -c 16) && sed -i "/FORMBRICKS_ENCRYPTION_KEY:$/s/FORMBRICKS_ENCRYPTION_KEY:.*/FORMBRICKS_ENCRYPTION_KEY: $formbricks_encryption_key/" docker-compose.yml
echo "🚗 FORMBRICKS_ENCRYPTION_KEY updated successfully!"
newgrp docker <<END
docker compose --env-file /dev/null up

View File

@@ -22,7 +22,7 @@
"@formbricks/lib": "workspace:*",
"@formbricks/tsconfig": "workspace:*",
"tsup": "^7.2.0",
"typescript": "5.1.6",
"typescript": "5.2.2",
"eslint-config-formbricks": "workspace:*"
}
}

View File

@@ -25,7 +25,7 @@
"predev": "pnpm generate"
},
"dependencies": {
"@prisma/client": "^5.3.1",
"@prisma/client": "^5.4.1",
"@prisma/extension-accelerate": "^0.6.2",
"dotenv-cli": "^7.3.0"
},
@@ -33,10 +33,10 @@
"@formbricks/tsconfig": "workspace:*",
"@formbricks/types": "workspace:*",
"eslint-config-formbricks": "workspace:*",
"prisma": "^5.3.1",
"prisma": "^5.4.1",
"prisma-dbml-generator": "^0.10.0",
"prisma-json-types-generator": "^3.0.1",
"zod": "^3.22.3",
"zod": "^3.22.4",
"zod-prisma": "^0.5.4"
}
}

View File

@@ -16,6 +16,6 @@
},
"dependencies": {
"@formbricks/database": "workspace:*",
"stripe": "^13.7.0"
"stripe": "^13.8.0"
}
}

View File

@@ -9,7 +9,7 @@
},
"devDependencies": {
"eslint": "^8.50.0",
"eslint-config-next": "^13.5.3",
"eslint-config-next": "^13.5.4",
"eslint-config-prettier": "^9.0.0",
"eslint-config-turbo": "latest",
"eslint-plugin-react": "7.33.2"

View File

@@ -42,8 +42,8 @@
"@formbricks/tsconfig": "workspace:*",
"@formbricks/types": "workspace:*",
"@types/jest": "^29.5.5",
"@typescript-eslint/eslint-plugin": "^6.7.3",
"@typescript-eslint/parser": "^6.7.3",
"@typescript-eslint/eslint-plugin": "^6.7.4",
"@typescript-eslint/parser": "^6.7.4",
"babel-jest": "^29.7.0",
"cross-env": "^7.0.3",
"eslint-config-formbricks": "workspace:*",
@@ -54,11 +54,11 @@
"jest-fetch-mock": "^3.0.3",
"jest-preset-preact": "^4.1.0",
"microbundle": "^0.15.1",
"preact": "10.17.1",
"preact": "10.18.1",
"preact-cli": "^3.5.0",
"preact-render-to-string": "^6.2.1",
"preact-render-to-string": "^6.2.2",
"regenerator-runtime": "^0.14.0",
"terser": "^5.20.0"
"terser": "^5.21.0"
},
"jest": {
"transformIgnorePatterns": [

View File

@@ -16,7 +16,7 @@
"@formbricks/types": "*",
"@paralleldrive/cuid2": "^2.2.2",
"date-fns": "^2.30.0",
"next-auth": "^4.22.3",
"next-auth": "^4.23.2",
"jsonwebtoken": "^9.0.2",
"markdown-it": "^13.0.2",
"nanoid": "^5.0.1",

View File

@@ -45,7 +45,7 @@
},
"devDependencies": {
"@types/express": "^4.17.18",
"@types/request-promise-native": "~1.0.18",
"@types/request-promise-native": "~1.0.19",
"@typescript-eslint/parser": "~6.7",
"eslint-plugin-n8n-nodes-base": "^1.16.0",
"gulp": "^4.0.2",

View File

@@ -8,6 +8,6 @@
},
"devDependencies": {
"prettier": "^3.0.3",
"prettier-plugin-tailwindcss": "^0.5.4"
"prettier-plugin-tailwindcss": "^0.5.5"
}
}

View File

@@ -21,10 +21,10 @@
"autoprefixer": "^10.4.16",
"eslint-config-formbricks": "workspace:*",
"postcss": "^8.4.31",
"preact": "^10.17.1",
"preact": "^10.18.1",
"tailwindcss": "^3.3.3",
"terser": "^5.20.0",
"terser": "^5.21.0",
"typescript": "^5.2.2",
"vite": "^4.4.9"
"vite": "^4.4.11"
}
}

View File

@@ -7,9 +7,9 @@
"clean": "rimraf node_modules"
},
"devDependencies": {
"@types/node": "20.7.0",
"@types/react": "18.2.23",
"@types/react-dom": "18.2.7",
"@types/node": "20.8.2",
"@types/react": "18.2.25",
"@types/react-dom": "18.2.10",
"typescript": "5.2.2"
}
}

View File

@@ -11,6 +11,6 @@
"@formbricks/tsconfig": "workspace:*"
},
"dependencies": {
"zod": "^3.22.3"
"zod": "^3.22.4"
}
}

View File

@@ -43,8 +43,8 @@
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"cmdk": "^0.2.0",
"lucide-react": "^0.279.0",
"next": "13.5.3",
"lucide-react": "^0.284.0",
"next": "13.5.4",
"react-colorful": "^5.6.1",
"react-confetti": "^6.1.0",
"react-day-picker": "^8.8.2",

1182
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff