Skip to content

Commit

Permalink
Merge pull request #7901 from ever-co/chore/optimize-replacements
Browse files Browse the repository at this point in the history
chore: attempt to optimize replacements
  • Loading branch information
evereq authored Jun 29, 2024
2 parents 4362438 + 0dc5803 commit acc09e3
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 107 deletions.
6 changes: 3 additions & 3 deletions .deploy/webapp/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ RUN apk --update add bash && \
RUN node --version
RUN npm --version

COPY wait .deploy/webapp/entrypoint.compose.sh .deploy/webapp/entrypoint.prod.sh /
COPY wait .deploy/webapp/entrypoint.compose.sh .deploy/webapp/entrypoint.prod.sh .deploy/webapp/replacements.sed /

RUN chmod +x /wait /entrypoint.compose.sh /entrypoint.prod.sh && dos2unix /entrypoint.compose.sh && dos2unix /entrypoint.prod.sh

Expand Down Expand Up @@ -120,7 +120,7 @@ USER node:node

WORKDIR /srv/gauzy

COPY --chown=node:node --from=dependencies /wait /entrypoint.compose.sh /entrypoint.prod.sh /
COPY --chown=node:node --from=dependencies /wait /entrypoint.compose.sh /entrypoint.prod.sh /replacements.sed /
COPY --chown=node:node --from=dependencies /srv/gauzy .
COPY . .

Expand Down Expand Up @@ -149,7 +149,7 @@ FROM nginx:alpine AS production

WORKDIR /srv/gauzy

COPY --chown=nginx:nginx --from=dependencies /wait /entrypoint.compose.sh /entrypoint.prod.sh ./
COPY --chown=nginx:nginx --from=dependencies /wait /entrypoint.compose.sh /entrypoint.prod.sh /replacements.sed ./
COPY --chown=nginx:nginx .deploy/webapp/nginx.compose.conf /etc/nginx/conf.d/compose.conf.template
COPY --chown=nginx:nginx .deploy/webapp/nginx.prod.conf /etc/nginx/conf.d/prod.conf.template
COPY --chown=nginx:nginx --from=build /srv/gauzy/dist/apps/gauzy .
Expand Down
53 changes: 1 addition & 52 deletions .deploy/webapp/entrypoint.compose.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,58 +6,7 @@ set -ex
export WAIT_HOSTS=$API_HOST:$API_PORT

# In production we should replace some values in generated JS code
sed -i "s#DOCKER_API_HOST#$API_HOST#g" *.js
sed -i "s#DOCKER_API_PORT#$API_PORT#g" *.js
sed -i "s#DOCKER_API_BASE_URL#$API_BASE_URL#g" *.js
sed -i "s#DOCKER_CLIENT_BASE_URL#$CLIENT_BASE_URL#g" *.js
sed -i "s#DOCKER_GAUZY_CLOUD_APP#$GAUZY_CLOUD_APP#g" *.js
sed -i "s#DOCKER_SENTRY_DSN#$SENTRY_DSN#g" *.js
sed -i "s#DOCKER_SENTRY_TRACES_SAMPLE_RATE#$SENTRY_TRACES_SAMPLE_RATE#g" *.js
sed -i "s#DOCKER_CHATWOOT_SDK_TOKEN#$CHATWOOT_SDK_TOKEN#g" *.js
sed -i "s#DOCKER_CHAT_MESSAGE_GOOGLE_MAP#$CHAT_MESSAGE_GOOGLE_MAP#g" *.js
sed -i "s#DOCKER_CLOUDINARY_CLOUD_NAME#$CLOUDINARY_CLOUD_NAME#g" *.js
sed -i "s#DOCKER_CLOUDINARY_API_KEY#$CLOUDINARY_API_KEY#g" *.js
sed -i "s#DOCKER_GOOGLE_MAPS_API_KEY#$GOOGLE_MAPS_API_KEY#g" *.js
sed -i "s#DOCKER_GOOGLE_PLACE_AUTOCOMPLETE#$GOOGLE_PLACE_AUTOCOMPLETE#g" *.js
sed -i "s|DOCKER_HUBSTAFF_REDIRECT_URL|$HUBSTAFF_REDIRECT_URL|g" *.js
sed -i "s#DOCKER_DEFAULT_LATITUDE#$DEFAULT_LATITUDE#g" *.js
sed -i "s#DOCKER_DEFAULT_LONGITUDE#$DEFAULT_LONGITUDE#g" *.js
sed -i "s#DOCKER_DEFAULT_CURRENCY#$DEFAULT_CURRENCY#g" *.js
sed -i "s#DOCKER_DEFAULT_COUNTRY#$DEFAULT_COUNTRY#g" *.js
sed -i "s#DOCKER_DEMO#$DEMO#g" *.js
sed -i "s#DOCKER_WEB_HOST#$WEB_HOST#g" *.js
sed -i "s#DOCKER_WEB_PORT#$WEB_PORT#g" *.js
sed -i "s#DOCKER_GAUZY_GITHUB_CLIENT_ID#$GAUZY_GITHUB_CLIENT_ID#g" *.js
sed -i "s#DOCKER_GAUZY_GITHUB_APP_NAME#$GAUZY_GITHUB_APP_NAME#g" *.js
sed -i "s|DOCKER_GAUZY_GITHUB_REDIRECT_URL|$GAUZY_GITHUB_REDIRECT_URL|g" *.js
sed -i "s#DOCKER_GAUZY_GITHUB_APP_ID#$GAUZY_GITHUB_APP_ID#g" *.js
sed -i "s|DOCKER_GAUZY_GITHUB_POST_INSTALL_URL|$GAUZY_GITHUB_POST_INSTALL_URL|g" *.js
sed -i "s|DOCKER_JITSU_BROWSER_URL|$JITSU_BROWSER_URL|g" *.js
sed -i "s#DOCKER_JITSU_BROWSER_WRITE_KEY#$JITSU_BROWSER_WRITE_KEY#g" *.js
sed -i "s|DOCKER_NO_INTERNET_LOGO|$NO_INTERNET_LOGO|g" *.js
sed -i "s#DOCKER_FILE_PROVIDER#$FILE_PROVIDER#g" *.js
sed -i "s|DOCKER_PLATFORM_LOGO|$PLATFORM_LOGO|g" *.js
sed -i "s|DOCKER_GAUZY_DESKTOP_LOGO_512X512|$GAUZY_DESKTOP_LOGO_512X512|g" *.js
sed -i "s|DOCKER_PLATFORM_PRIVACY_URL|$PLATFORM_PRIVACY_URL|g" *.js
sed -i "s|DOCKER_PLATFORM_TOS_URL|$PLATFORM_TOS_URL|g" *.js
sed -i "s|DOCKER_PROJECT_REPO|$PROJECT_REPO|g" *.js
sed -i "s|DOCKER_I18N_FILES_URL|$I18N_FILES_URL|g" *.js
sed -i "s#DOCKER_COMPANY_NAME#$COMPANY_NAME#g" *.js
sed -i "s|DOCKER_COMPANY_LINK|$COMPANY_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_SITE_NAME|$COMPANY_SITE_NAME|g" *.js
sed -i "s|DOCKER_COMPANY_SITE_LINK|$COMPANY_SITE_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_GITHUB_LINK|$COMPANY_GITHUB_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_GITLAB_LINK|$COMPANY_GITLAB_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_FACEBOOK_LINK|$COMPANY_FACEBOOK_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_TWITTER_LINK|$COMPANY_TWITTER_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_IN_LINK|$COMPANY_IN_LINK|g" *.js
sed -i "s|DOCKER_PLATFORM_WEBSITE_URL|$PLATFORM_WEBSITE_URL|g" *.js
sed -i "s|DOCKER_PLATFORM_WEBSITE_DOWNLOAD_URL|$PLATFORM_WEBSITE_DOWNLOAD_URL|g" *.js
sed -i "s|DOCKER_DESKTOP_APP_DOWNLOAD_LINK_APPLE|$DESKTOP_APP_DOWNLOAD_LINK_APPLE|g" *.js
sed -i "s|DOCKER_DESKTOP_APP_DOWNLOAD_LINK_WINDOWS|$DESKTOP_APP_DOWNLOAD_LINK_WINDOWS|g" *.js
sed -i "s|DOCKER_DESKTOP_APP_DOWNLOAD_LINK_LINUX|$DESKTOP_APP_DOWNLOAD_LINK_LINUX|g" *.js
sed -i "s|DOCKER_MOBILE_APP_DOWNLOAD_LINK|$MOBILE_APP_DOWNLOAD_LINK|g" *.js
sed -i "s|DOCKER_EXTENSION_DOWNLOAD_LINK|$EXTENSION_DOWNLOAD_LINK|g" *.js
sed -i -f replacements.sed *.js

# We need to copy nginx.conf to correct place
envsubst '${API_HOST} ${API_PORT}' < /etc/nginx/conf.d/compose.conf.template > /etc/nginx/nginx.conf
Expand Down
53 changes: 1 addition & 52 deletions .deploy/webapp/entrypoint.prod.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,58 +4,7 @@ set -ex
# This Entrypoint used when we run Docker container outside of Docker Compose (e.g. in k8s)

# In production we should replace some values in generated JS code
sed -i "s#DOCKER_API_HOST#$API_HOST#g" *.js
sed -i "s#DOCKER_API_PORT#$API_PORT#g" *.js
sed -i "s#DOCKER_API_BASE_URL#$API_BASE_URL#g" *.js
sed -i "s#DOCKER_CLIENT_BASE_URL#$CLIENT_BASE_URL#g" *.js
sed -i "s#DOCKER_GAUZY_CLOUD_APP#$GAUZY_CLOUD_APP#g" *.js
sed -i "s#DOCKER_SENTRY_DSN#$SENTRY_DSN#g" *.js
sed -i "s#DOCKER_SENTRY_TRACES_SAMPLE_RATE#$SENTRY_TRACES_SAMPLE_RATE#g" *.js
sed -i "s#DOCKER_CHATWOOT_SDK_TOKEN#$CHATWOOT_SDK_TOKEN#g" *.js
sed -i "s#DOCKER_CHAT_MESSAGE_GOOGLE_MAP#$CHAT_MESSAGE_GOOGLE_MAP#g" *.js
sed -i "s#DOCKER_CLOUDINARY_CLOUD_NAME#$CLOUDINARY_CLOUD_NAME#g" *.js
sed -i "s#DOCKER_CLOUDINARY_API_KEY#$CLOUDINARY_API_KEY#g" *.js
sed -i "s#DOCKER_GOOGLE_MAPS_API_KEY#$GOOGLE_MAPS_API_KEY#g" *.js
sed -i "s#DOCKER_GOOGLE_PLACE_AUTOCOMPLETE#$GOOGLE_PLACE_AUTOCOMPLETE#g" *.js
sed -i "s|DOCKER_HUBSTAFF_REDIRECT_URL|$HUBSTAFF_REDIRECT_URL|g" *.js
sed -i "s#DOCKER_DEFAULT_LATITUDE#$DEFAULT_LATITUDE#g" *.js
sed -i "s#DOCKER_DEFAULT_LONGITUDE#$DEFAULT_LONGITUDE#g" *.js
sed -i "s#DOCKER_DEFAULT_CURRENCY#$DEFAULT_CURRENCY#g" *.js
sed -i "s#DOCKER_DEFAULT_COUNTRY#$DEFAULT_COUNTRY#g" *.js
sed -i "s#DOCKER_DEMO#$DEMO#g" *.js
sed -i "s#DOCKER_WEB_HOST#$WEB_HOST#g" *.js
sed -i "s#DOCKER_WEB_PORT#$WEB_PORT#g" *.js
sed -i "s#DOCKER_GAUZY_GITHUB_CLIENT_ID#$GAUZY_GITHUB_CLIENT_ID#g" *.js
sed -i "s#DOCKER_GAUZY_GITHUB_APP_NAME#$GAUZY_GITHUB_APP_NAME#g" *.js
sed -i "s|DOCKER_GAUZY_GITHUB_REDIRECT_URL|$GAUZY_GITHUB_REDIRECT_URL|g" *.js
sed -i "s#DOCKER_GAUZY_GITHUB_APP_ID#$GAUZY_GITHUB_APP_ID#g" *.js
sed -i "s|DOCKER_GAUZY_GITHUB_POST_INSTALL_URL|$GAUZY_GITHUB_POST_INSTALL_URL|g" *.js
sed -i "s|DOCKER_JITSU_BROWSER_URL|$JITSU_BROWSER_URL|g" *.js
sed -i "s#DOCKER_JITSU_BROWSER_WRITE_KEY#$JITSU_BROWSER_WRITE_KEY#g" *.js
sed -i "s|DOCKER_NO_INTERNET_LOGO|$NO_INTERNET_LOGO|g" *.js
sed -i "s#DOCKER_FILE_PROVIDER#$FILE_PROVIDER#g" *.js
sed -i "s|DOCKER_PLATFORM_LOGO|$PLATFORM_LOGO|g" *.js
sed -i "s|DOCKER_GAUZY_DESKTOP_LOGO_512X512|$GAUZY_DESKTOP_LOGO_512X512|g" *.js
sed -i "s|DOCKER_PLATFORM_PRIVACY_URL|$PLATFORM_PRIVACY_URL|g" *.js
sed -i "s|DOCKER_PLATFORM_TOS_URL|$PLATFORM_TOS_URL|g" *.js
sed -i "s|DOCKER_PROJECT_REPO|$PROJECT_REPO|g" *.js
sed -i "s|DOCKER_I18N_FILES_URL|$I18N_FILES_URL|g" *.js
sed -i "s#DOCKER_COMPANY_NAME#$COMPANY_NAME#g" *.js
sed -i "s|DOCKER_COMPANY_LINK|$COMPANY_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_SITE_NAME|$COMPANY_SITE_NAME|g" *.js
sed -i "s|DOCKER_COMPANY_SITE_LINK|$COMPANY_SITE_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_GITHUB_LINK|$COMPANY_GITHUB_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_GITLAB_LINK|$COMPANY_GITLAB_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_FACEBOOK_LINK|$COMPANY_FACEBOOK_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_TWITTER_LINK|$COMPANY_TWITTER_LINK|g" *.js
sed -i "s|DOCKER_COMPANY_IN_LINK|$COMPANY_IN_LINK|g" *.js
sed -i "s|DOCKER_PLATFORM_WEBSITE_URL|$PLATFORM_WEBSITE_URL|g" *.js
sed -i "s|DOCKER_PLATFORM_WEBSITE_DOWNLOAD_URL|$PLATFORM_WEBSITE_DOWNLOAD_URL|g" *.js
sed -i "s|DOCKER_DESKTOP_APP_DOWNLOAD_LINK_APPLE|$DESKTOP_APP_DOWNLOAD_LINK_APPLE|g" *.js
sed -i "s|DOCKER_DESKTOP_APP_DOWNLOAD_LINK_WINDOWS|$DESKTOP_APP_DOWNLOAD_LINK_WINDOWS|g" *.js
sed -i "s|DOCKER_DESKTOP_APP_DOWNLOAD_LINK_LINUX|$DESKTOP_APP_DOWNLOAD_LINK_LINUX|g" *.js
sed -i "s|DOCKER_MOBILE_APP_DOWNLOAD_LINK|$MOBILE_APP_DOWNLOAD_LINK|g" *.js
sed -i "s|DOCKER_EXTENSION_DOWNLOAD_LINK|$EXTENSION_DOWNLOAD_LINK|g" *.js
sed -i -f replacements.sed *.js

# We may not need to use that env vars now in nginx.config, but we may want later.
# Also we just need to copy nginx.conf to correct place anyway...
Expand Down
52 changes: 52 additions & 0 deletions .deploy/webapp/replacements.sed
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
s#DOCKER_API_HOST#$API_HOST#g
s#DOCKER_API_PORT#$API_PORT#g
s#DOCKER_API_BASE_URL#$API_BASE_URL#g
s#DOCKER_CLIENT_BASE_URL#$CLIENT_BASE_URL#g
s#DOCKER_GAUZY_CLOUD_APP#$GAUZY_CLOUD_APP#g
s#DOCKER_SENTRY_DSN#$SENTRY_DSN#g
s#DOCKER_SENTRY_TRACES_SAMPLE_RATE#$SENTRY_TRACES_SAMPLE_RATE#g
s#DOCKER_CHATWOOT_SDK_TOKEN#$CHATWOOT_SDK_TOKEN#g
s#DOCKER_CHAT_MESSAGE_GOOGLE_MAP#$CHAT_MESSAGE_GOOGLE_MAP#g
s#DOCKER_CLOUDINARY_CLOUD_NAME#$CLOUDINARY_CLOUD_NAME#g
s#DOCKER_CLOUDINARY_API_KEY#$CLOUDINARY_API_KEY#g
s#DOCKER_GOOGLE_MAPS_API_KEY#$GOOGLE_MAPS_API_KEY#g
s#DOCKER_GOOGLE_PLACE_AUTOCOMPLETE#$GOOGLE_PLACE_AUTOCOMPLETE#g
s|DOCKER_HUBSTAFF_REDIRECT_URL|$HUBSTAFF_REDIRECT_URL|g
s#DOCKER_DEFAULT_LATITUDE#$DEFAULT_LATITUDE#g
s#DOCKER_DEFAULT_LONGITUDE#$DEFAULT_LONGITUDE#g
s#DOCKER_DEFAULT_CURRENCY#$DEFAULT_CURRENCY#g
s#DOCKER_DEFAULT_COUNTRY#$DEFAULT_COUNTRY#g
s#DOCKER_DEMO#$DEMO#g
s#DOCKER_WEB_HOST#$WEB_HOST#g
s#DOCKER_WEB_PORT#$WEB_PORT#g
s#DOCKER_GAUZY_GITHUB_CLIENT_ID#$GAUZY_GITHUB_CLIENT_ID#g
s#DOCKER_GAUZY_GITHUB_APP_NAME#$GAUZY_GITHUB_APP_NAME#g
s|DOCKER_GAUZY_GITHUB_REDIRECT_URL|$GAUZY_GITHUB_REDIRECT_URL|g
s#DOCKER_GAUZY_GITHUB_APP_ID#$GAUZY_GITHUB_APP_ID#g
s|DOCKER_GAUZY_GITHUB_POST_INSTALL_URL|$GAUZY_GITHUB_POST_INSTALL_URL|g
s|DOCKER_JITSU_BROWSER_URL|$JITSU_BROWSER_URL|g
s#DOCKER_JITSU_BROWSER_WRITE_KEY#$JITSU_BROWSER_WRITE_KEY#g
s|DOCKER_NO_INTERNET_LOGO|$NO_INTERNET_LOGO|g
s#DOCKER_FILE_PROVIDER#$FILE_PROVIDER#g
s|DOCKER_PLATFORM_LOGO|$PLATFORM_LOGO|g
s|DOCKER_GAUZY_DESKTOP_LOGO_512X512|$GAUZY_DESKTOP_LOGO_512X512|g
s|DOCKER_PLATFORM_PRIVACY_URL|$PLATFORM_PRIVACY_URL|g
s|DOCKER_PLATFORM_TOS_URL|$PLATFORM_TOS_URL|g
s|DOCKER_PROJECT_REPO|$PROJECT_REPO|g
s|DOCKER_I18N_FILES_URL|$I18N_FILES_URL|g
s#DOCKER_COMPANY_NAME#$COMPANY_NAME#g
s|DOCKER_COMPANY_LINK|$COMPANY_LINK|g
s|DOCKER_COMPANY_SITE_NAME|$COMPANY_SITE_NAME|g
s|DOCKER_COMPANY_SITE_LINK|$COMPANY_SITE_LINK|g
s|DOCKER_COMPANY_GITHUB_LINK|$COMPANY_GITHUB_LINK|g
s|DOCKER_COMPANY_GITLAB_LINK|$COMPANY_GITLAB_LINK|g
s|DOCKER_COMPANY_FACEBOOK_LINK|$COMPANY_FACEBOOK_LINK|g
s|DOCKER_COMPANY_TWITTER_LINK|$COMPANY_TWITTER_LINK|g
s|DOCKER_COMPANY_IN_LINK|$COMPANY_IN_LINK|g
s|DOCKER_PLATFORM_WEBSITE_URL|$PLATFORM_WEBSITE_URL|g
s|DOCKER_PLATFORM_WEBSITE_DOWNLOAD_URL|$PLATFORM_WEBSITE_DOWNLOAD_URL|g
s|DOCKER_DESKTOP_APP_DOWNLOAD_LINK_APPLE|$DESKTOP_APP_DOWNLOAD_LINK_APPLE|g
s|DOCKER_DESKTOP_APP_DOWNLOAD_LINK_WINDOWS|$DESKTOP_APP_DOWNLOAD_LINK_WINDOWS|g
s|DOCKER_DESKTOP_APP_DOWNLOAD_LINK_LINUX|$DESKTOP_APP_DOWNLOAD_LINK_LINUX|g
s|DOCKER_MOBILE_APP_DOWNLOAD_LINK|$MOBILE_APP_DOWNLOAD_LINK|g
s|DOCKER_EXTENSION_DOWNLOAD_LINK|$EXTENSION_DOWNLOAD_LINK|g

0 comments on commit acc09e3

Please sign in to comment.