Docker compose setup (#513)

* fix password reset bug

* self hosted mode middleware changes on  pages

* fix lint

* wip: self hosted changes

* wip: self hosted frontend changes

* wip self hosted mode changes

* typo correction

* remove commented logic

* fix env variable names

* fix lint issues

* fix minor updates

* #445 Switched from single monolithic docker image to a docker-compose
 orchestrated network of services

* Automatically configures shared secret

* Working through some issues

* Use local file storage

* Moved the dockerfiles

* Fixed some issues when building from clean

* Corrected workflow

* Hopefully schedules everything correctly now

* Prep storage for worker process as well

* .env files are required

* Pinned dependency versions

* Disable self hosted in the client as well

* Removed double defaulting logic

* Using regexs is more succinct

* Added FRONT_URL environment variable

* Merge 236e4-self-hosted-mode-changes

* Improve inital user setup

* Finalized the new docker-compose setup

* Fix back-end formatting issues

---------

Co-authored-by: Frank <csskfaves@gmail.com>
Co-authored-by: Don Benjamin <don@webhammer.co.uk>
This commit is contained in:
Julien Nahum
2024-08-05 12:06:20 +02:00
committed by GitHub
parent 6b13f95322
commit 3280e38ee1
49 changed files with 6152 additions and 3431 deletions

View File

@@ -32,7 +32,7 @@
>
Templates
</NuxtLink>
<template v-if="featureBaseEnabled">
<template v-if="appStore.featureBaseEnabled">
<button
v-if="user"
:class="navLinkClasses"
@@ -54,7 +54,7 @@
</a>
</template>
<NuxtLink
v-if="$route.name !== 'ai-form-builder' && user === null"
v-if="($route.name !== 'ai-form-builder' && user === null) && (!appStore.selfHosted || appStore.aiFeaturesEnabled)"
:to="{ name: 'ai-form-builder' }"
:class="navLinkClasses"
class="hidden lg:inline"
@@ -63,9 +63,9 @@
</NuxtLink>
<NuxtLink
v-if="
paidPlansEnabled &&
(appStore.paidPlansEnabled &&
(user === null || (user && workspace && !workspace.is_pro)) &&
$route.name !== 'pricing'
$route.name !== 'pricing') && !appStore.selfHosted
"
:to="{ name: 'pricing' }"
:class="navLinkClasses"
@@ -248,6 +248,7 @@
</NuxtLink>
<v-button
v-if="!appStore.selfHosted"
v-track.nav_create_form_click
size="small"
class="shrink-0"
@@ -313,12 +314,6 @@ export default {
workspace() {
return this.workspacesStore.getCurrent
},
paidPlansEnabled() {
return this.config.public.paidPlansEnabled
},
featureBaseEnabled() {
return this.config.public.featureBaseOrganization !== null
},
showAuth() {
return this.$route.name && this.$route.name !== "forms-slug"
},
@@ -340,14 +335,8 @@ export default {
userOnboarded() {
return this.user && this.user.has_forms === true
},
hasCrisp() {
return (
this.config.public.crispWebsiteId &&
this.config.public.crispWebsiteId !== ""
)
},
hasNewChanges() {
if (import.meta.server || !window.Featurebase) return false
if (import.meta.server || !window.Featurebase || !this.appStore.featureBaseEnabled) return false
return window.Featurebase("unviewed_changelog_count") > 0
},
},

View File

@@ -22,6 +22,7 @@
<div class="flex justify-center mt-5 md:mt-0">
<div class="grid grid-cols-1 lg:grid-cols-2 gap-x-4 gap-y-2">
<router-link
v-if="!appStore.selfHosted"
:to="{ name: 'privacy-policy' }"
class="text-gray-600 dark:text-gray-400 transition-colors duration-300 hover:text-nt-blue"
>
@@ -29,6 +30,7 @@
</router-link>
<router-link
v-if="!appStore.selfHosted"
:to="{ name: 'terms-conditions' }"
class="text-gray-600 dark:text-gray-400 transition-colors duration-300 hover:text-nt-blue"
>
@@ -70,6 +72,7 @@ export default {
const authStore = useAuthStore()
return {
user: computed(() => authStore.user),
appStore: useAppStore(),
opnformConfig,
}
},

View File

@@ -58,7 +58,10 @@
Log in to continue
</v-button>
<p class="text-gray-500 mt-4">
<p
v-if="!appStore.selfHosted"
class="text-gray-500 mt-4"
>
Don't have an account?
<a
v-if="isQuick"
@@ -99,6 +102,7 @@ export default {
emits: ['afterQuickLogin', 'openRegister'],
setup() {
return {
appStore: useAppStore(),
authStore: useAuthStore(),
formsStore: useFormsStore(),
workspaceStore: useWorkspacesStore(),
@@ -139,7 +143,11 @@ export default {
this.redirect()
})
.catch((error) => {
console.error(error)
if (error.response?._data?.message == "You must change your credentials when in self host mode") {
// this.showForgotModal = true
this.redirect()
}
})
.finally(() => {
this.loading = false