From 8119a740549dd08bfd5d2bfbcdf0c7248dab17b8 Mon Sep 17 00:00:00 2001 From: geekup-legodevops <72587752+geekup-legodevops@users.noreply.github.com> Date: Wed, 1 Sep 2021 12:32:08 +0700 Subject: [PATCH] feat: Implement fat container for appsmith application (#6678) Adds a Dockerfile along with accompanying scripts and definitions for building a fat Docker image. This image, when run as a container, will include the server, client, RTS, and necessary vendor services running all within. --- Dockerfile | 87 +++++ deploy/fat_container/.gitignore | 2 + deploy/fat_container/README.md | 104 +++++ deploy/fat_container/docker-compose.yml | 18 + deploy/fat_container/entrypoint.sh | 198 ++++++++++ .../images/appsmith_supervisord_ui.png | Bin 0 -> 173245 bytes .../scripts/renew-certificate.sh | 27 ++ .../templates/cron.d/renew-certificate | 1 + deploy/fat_container/templates/docker.env.sh | 85 ++++ .../fat_container/templates/mongo-init.js.sh | 33 ++ .../fat_container/templates/nginx_app.conf.sh | 145 +++++++ .../fat_container/templates/supervisord.conf | 35 ++ .../application_process/backend.conf | 12 + .../supervisord/application_process/cron.conf | 12 + .../application_process/editor.conf | 12 + .../supervisord/application_process/rts.conf | 12 + .../templates/supervisord/mongodb.conf | 12 + .../templates/supervisord/redis.conf | 12 + deploy/fat_container/utils/.gitignore | 1 + deploy/fat_container/utils/bin/export_db.js | 61 +++ deploy/fat_container/utils/bin/import_db.js | 49 +++ deploy/fat_container/utils/bin/index.js | 34 ++ deploy/fat_container/utils/bin/utils.js | 14 + deploy/fat_container/utils/package-lock.json | 364 ++++++++++++++++++ deploy/fat_container/utils/package.json | 24 ++ 25 files changed, 1354 insertions(+) create mode 100644 Dockerfile create mode 100644 deploy/fat_container/.gitignore create mode 100644 deploy/fat_container/README.md create mode 100644 deploy/fat_container/docker-compose.yml create mode 100755 deploy/fat_container/entrypoint.sh create mode 100644 deploy/fat_container/images/appsmith_supervisord_ui.png create mode 100644 deploy/fat_container/scripts/renew-certificate.sh create mode 100644 deploy/fat_container/templates/cron.d/renew-certificate create mode 100644 deploy/fat_container/templates/docker.env.sh create mode 100644 deploy/fat_container/templates/mongo-init.js.sh create mode 100644 deploy/fat_container/templates/nginx_app.conf.sh create mode 100644 deploy/fat_container/templates/supervisord.conf create mode 100644 deploy/fat_container/templates/supervisord/application_process/backend.conf create mode 100644 deploy/fat_container/templates/supervisord/application_process/cron.conf create mode 100644 deploy/fat_container/templates/supervisord/application_process/editor.conf create mode 100644 deploy/fat_container/templates/supervisord/application_process/rts.conf create mode 100644 deploy/fat_container/templates/supervisord/mongodb.conf create mode 100644 deploy/fat_container/templates/supervisord/redis.conf create mode 100644 deploy/fat_container/utils/.gitignore create mode 100644 deploy/fat_container/utils/bin/export_db.js create mode 100644 deploy/fat_container/utils/bin/import_db.js create mode 100755 deploy/fat_container/utils/bin/index.js create mode 100644 deploy/fat_container/utils/bin/utils.js create mode 100644 deploy/fat_container/utils/package-lock.json create mode 100644 deploy/fat_container/utils/package.json diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..290e3f9738 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,87 @@ +FROM debian:buster + +LABEL maintainer="tech@appsmith.com" + +# Set workdir to /opt/appsmith +WORKDIR /opt/appsmith + +# Update APK packages - Base Layer +RUN apt-get update && apt-get install --no-install-recommends -y \ + supervisor curl cron certbot nginx gnupg \ + redis wget gettext openjdk-11-jre \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Install MongoDB v4.0.5, Redis - Service Layer +RUN wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add - +RUN echo "deb [ arch=amd64,arm64 ]http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list \ + && apt-get remove wget -y + +# Install node v14 - Service Layer +RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - \ + && apt-get -y install --no-install-recommends -y mongodb-org=4.4.6 nodejs \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Clean up cache file - Service layer +RUN rm -rf \ + /root/.cache \ + /root/.npm \ + /root/.pip \ + /usr/local/share/doc \ + /usr/share/doc \ + /usr/share/man \ + /var/lib/apt/lists/* \ + /tmp/* + +# Define volumes - Service Layer +VOLUME [ "/appsmith-stacks" ] + +# ------------------------------------------------------------------------ +# Add backend server - Application Layer +ARG JAR_FILE=./app/server/appsmith-server/target/server-*.jar +ARG PLUGIN_JARS=./app/server/appsmith-plugins/*/target/*.jar +ARG APPSMITH_SEGMENT_CE_KEY +ENV APPSMITH_SEGMENT_CE_KEY=${APPSMITH_SEGMENT_CE_KEY} +#Create the plugins directory +RUN mkdir -p ./backend ./editor ./rts ./backend/plugins ./templates ./utils + +#Add the jar to the container +COPY ${JAR_FILE} backend/server.jar +COPY ${PLUGIN_JARS} backend/plugins/ + +# Add client UI - Application Layer +COPY ./app/client/build editor/ + +# Add RTS - Application Layer +COPY ./app/rts/package.json ./app/rts/dist/* rts/ +COPY ./app/rts/node_modules rts/node_modules + +# Nginx & MongoDB config template - Configuration layer +COPY ./deploy/fat_container/templates/nginx_app.conf.sh ./deploy/fat_container/templates/mongo-init.js.sh ./deploy/fat_container/templates/docker.env.sh templates/ + +# Add bootstrapfile +COPY ./deploy/fat_container/entrypoint.sh ./deploy/fat_container/scripts/* ./ + +# Add uitl tools +COPY ./deploy/fat_container/utils ./utils +RUN cd ./utils && npm install && npm install -g . + +# Add process config to be run by supervisord +COPY ./deploy/fat_container/templates/supervisord.conf /etc/supervisor/supervisord.conf +COPY ./deploy/fat_container/templates/supervisord/ templates/supervisord/ + +# Add defined cron job +COPY ./deploy/fat_container/templates/cron.d /etc/cron.d/ +RUN chmod 0644 /etc/cron.d/* + +RUN chmod +x entrypoint.sh renew-certificate.sh + +# Update path to load appsmith utils tool as default +ENV PATH /opt/appsmith/utils/node_modules/.bin:$PATH + +EXPOSE 80 +EXPOSE 443 +EXPOSE 9001 +ENTRYPOINT [ "/opt/appsmith/entrypoint.sh" ] +CMD ["/usr/bin/supervisord" ,"-n"] \ No newline at end of file diff --git a/deploy/fat_container/.gitignore b/deploy/fat_container/.gitignore new file mode 100644 index 0000000000..51b4a89f32 --- /dev/null +++ b/deploy/fat_container/.gitignore @@ -0,0 +1,2 @@ +test/* +stacks/* \ No newline at end of file diff --git a/deploy/fat_container/README.md b/deploy/fat_container/README.md new file mode 100644 index 0000000000..0237b86da5 --- /dev/null +++ b/deploy/fat_container/README.md @@ -0,0 +1,104 @@ + +# I. Getting started +You can begin using appsmith via our cloud instance or by deploying appsmith yourself + +* [Using Appsmith Cloud](quick-start.md#appsmith-cloud) **\(recommended\):** Create a new application with just one click +* [Using Docker](quick-start.md#docker): Deploy anywhere using docker + +## Appsmith Cloud + +The fastest way to get started with appsmith is using our cloud-hosted version. It's as easy as + +1. [Create an Account](https://app.appsmith.com/user/signup) +2. [Start Building](core-concepts/building-the-ui/) + +# II. Setup Appsmith use fat container +## 1. Prerequisites +- Ensure `docker` and `docker-compose` is installed and currently running: + - Install Docker: [https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) + - Install Docker Compose: [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/) +## 2. Step to setup +- 1. Create `docker-compose.yaml` and copy the following content into it +``` +version: "3" +services: + appsmith: + image: appsmith_fat + container_name: appsmith_fat + ports: + - "80:80" + - "443:443" + - "9001:9001" + volumes: + - ./stacks:/appsmith-stacks + auto_update: + image: containrrr/watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + # Update check interval in seconds. + command: --interval 300 --label-enable --cleanup +``` +2. Start application +``` +docker-compose up -d +``` +- It takes several minutes to pull the docker image and initialize the application +3. Check if application running correctly. +``` +docker ps +#Output should look like this +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +3b8f2c9638d0 appsmith/appsmith "/opt/appsmith/entrypoint.sh" 17 minutes ago Up 17 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp appsmith +``` +## 3. Custom Domain & Config application +To host Appsmith on a custom domain, you can contact your domain registrar and update your DNS records. Most domain registrars have documentation on how you can do this yourself. + +* [GoDaddy](https://in.godaddy.com/help/create-a-subdomain-4080) +* [Amazon Route 53](https://aws.amazon.com/premiumsupport/knowledge-center/create-subdomain-route-53/) +* [Digital Ocean](https://www.digitalocean.com/docs/networking/dns/how-to/add-subdomain/) +* [NameCheap](https://www.namecheap.com/support/knowledgebase/article.aspx/9776/2237/how-to-create-a-subdomain-for-my-domain) +* [Domain.com](https://www.domain.com/help/article/domain-management-how-to-update-subdomains) + +Then, you can update your custom domain from the application's configuration UI +## 4. Instance Management Utilities +> Fat container provide some utils to support you easy to maintenance application +### 4.1 Export database +Our container also supports exporting data from the internal database for backup or reuse purpose + +Export the internal database (You can use command `docker ps` to check the name or the ID of container) +``` +docker exec appsmith_fat appsmith export_db +``` +The output file will be stored in mounted directory `/data/backup/data.archive` + +In case of you have changed the mounted point in the docker-compose file, please change the prefix `./deploy/fat_container/stacks` to the correct one + +Now, you can use this output file as a backup or as a migration file +### 4.2 Import database +It is also available to import data from another database into application's internal database + +First of all, you need to copy or move the gzip file to the container's mounted folder `/data/restore/data.archive` +(*Note: file name must be `data.archive` to ensure the absolute path works as expected*) + +Or you can copy directly to the running container using `docker cp` command +``` +docker cp appsmith_fat:/appsmith-stacks/data/restore +``` + +Then, simply run following command to import data to internal database +``` +docker exec appsmith_fat appsmith import_db +``` +### 4.3 Supervisord UI +To manage the application's processes using supervisord, you can use the supervisord UI + +You can use the browser to access port `9001` of the host (`http://localhost:9001` if you run the container on your local machine) +

+ +

+ +In this UI, you can manage your application's process. You should stop application's service (MongoDB, Redis) in case of using external service +## Troubleshooting +If at any time you encounter an error during the installation process, reach out to **support@appsmith.com** or join our [Discord Server](https://discord.com/invite/rBTTVJp) + +If you know the error and would like to reinstall Appsmith, simply delete the installation folder and the templates folder and execute the script again \ No newline at end of file diff --git a/deploy/fat_container/docker-compose.yml b/deploy/fat_container/docker-compose.yml new file mode 100644 index 0000000000..f181872afe --- /dev/null +++ b/deploy/fat_container/docker-compose.yml @@ -0,0 +1,18 @@ +version: "3" +services: + appsmith: + build: + context: ../../ + container_name: appsmith_fat + ports: + - "80:80" + - "443:443" + - "9001:9001" + volumes: + - ./stacks:/appsmith-stacks + auto_update: + image: containrrr/watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + # Update check interval in seconds. + command: --interval 300 --label-enable --cleanup diff --git a/deploy/fat_container/entrypoint.sh b/deploy/fat_container/entrypoint.sh new file mode 100755 index 0000000000..e35d2b89e0 --- /dev/null +++ b/deploy/fat_container/entrypoint.sh @@ -0,0 +1,198 @@ +#!/usr/bin/env bash + +set -e + +check_initialized_db() { + echo 'Check initialized database' + shouldPerformInitdb=1 + for path in \ + "$MONGO_DB_PATH/WiredTiger" \ + "$MONGO_DB_PATH/journal" \ + "$MONGO_DB_PATH/local.0" \ + "$MONGO_DB_PATH/storage.bson"; do + if [ -e "$path" ]; then + shouldPerformInitdb=0 + return + fi + done + echo "Should initialize database" +} + +init_mongodb() { + echo "Init database" + MONGO_DB_PATH="/appsmith-stacks/data/mongodb" + MONGO_LOG_PATH="$MONGO_DB_PATH/log" + MONGO_DB_KEY="$MONGO_DB_PATH/key" + mkdir -p "$MONGO_DB_PATH" + touch "$MONGO_LOG_PATH" + + check_initialized_db + + if [[ $shouldPerformInitdb -gt 0 ]]; then + # Start installed MongoDB service - Dependencies Layer + mongod --fork --port 27017 --dbpath "$MONGO_DB_PATH" --logpath "$MONGO_LOG_PATH" + echo "Waiting 10s for mongodb init" + sleep 10 + bash "/opt/appsmith/templates/mongo-init.js.sh" "$APPSMITH_MONGO_USERNAME" "$APPSMITH_MONGO_PASSWORD" >"/appsmith-stacks/configuration/mongo-init.js" + mongo "127.0.0.1/${APPSMITH_MONGO_DATABASE}" /appsmith-stacks/configuration/mongo-init.js + echo "Seeding db done" + + echo "Enable replica set" + mongod --dbpath "$MONGO_DB_PATH" --shutdown || true + echo "Fork process" + openssl rand -base64 756 >"$MONGO_DB_KEY" + chmod go-rwx,u-wx "$MONGO_DB_KEY" + mongod --fork --port 27017 --dbpath "$MONGO_DB_PATH" --logpath "$MONGO_LOG_PATH" --replSet mr1 --keyFile "$MONGO_DB_KEY" --bind_ip localhost + echo "Waiting 10s for mongodb init with replica set" + sleep 10 + mongo "$APPSMITH_MONGODB_URI" --eval 'rs.initiate()' + mongod --dbpath "$MONGO_DB_PATH" --shutdown || true + fi +} + +init_ssl_cert() { + local domain="$1" + NGINX_SSL_CMNT="" + + local rsa_key_size=4096 + local data_path="/appsmith-stacks/data/certificate" + + mkdir -p "$data_path" "$data_path"/{conf,www} + + if ! [[ -e "$data_path/conf/options-ssl-nginx.conf" && -e "$data_path/conf/ssl-dhparams.pem" ]]; then + echo "Downloading recommended TLS parameters..." + curl -s https://raw.githubusercontent.com/certbot/certbot/master/certbot-nginx/certbot_nginx/_internal/tls_configs/options-ssl-nginx.conf >"$data_path/conf/options-ssl-nginx.conf" + curl -s https://raw.githubusercontent.com/certbot/certbot/master/certbot/certbot/ssl-dhparams.pem >"$data_path/conf/ssl-dhparams.pem" + echo + fi + + echo "Re-generating nginx config template with domain" + bash "/opt/appsmith/templates/nginx_app.conf.sh" "$NGINX_SSL_CMNT" "$APPSMITH_CUSTOM_DOMAIN" >"/etc/nginx/conf.d/nginx_app.conf.template" + + echo "Generating nginx configuration" + cat /etc/nginx/conf.d/nginx_app.conf.template | envsubst "$(printf '$%s,' $(env | grep -Eo '^APPSMITH_[A-Z0-9_]+'))" | sed -e 's|\${\(APPSMITH_[A-Z0-9_]*\)}||g' >/etc/nginx/sites-available/default + + local live_path="/etc/letsencrypt/live/$domain" + if [[ -e "$live_path" ]]; then + echo "Existing certificate for domain $domain" + nginx -s reload + return + fi + + echo "Creating certificate for '$domain'" + + echo "Requesting Let's Encrypt certificate for '$domain'..." + echo "Generating OpenSSL key for '$domain'..." + + mkdir -p "$live_path" && openssl req -x509 -nodes -newkey rsa:2048 -days 1 \ + -keyout "$live_path/privkey.pem" \ + -out "$live_path/fullchain.pem" \ + -subj "/CN=localhost" + + echo "Reload Nginx" + nginx -s reload + + echo "Removing key now that validation is done for $domain..." + rm -Rfv /etc/letsencrypt/live/$domain /etc/letsencrypt/archive/$domain /etc/letsencrypt/renewal/$domain.conf + + echo "Generating certification for domain $domain" + mkdir -p "$data_path/certbot" + certbot certonly --webroot --webroot-path="$data_path/certbot" \ + --register-unsafely-without-email \ + --domains $domain \ + --rsa-key-size $rsa_key_size \ + --agree-tos \ + --force-renewal + + echo "Reload nginx" + nginx -s reload +} + +configure_ssl() { + NGINX_SSL_CMNT="#" + + echo "Mounting Let's encrypt folder" + rm -rf /etc/letsencrypt + mkdir -p /appsmith-stacks/letsencrypt + ln -s /appsmith-stacks/letsencrypt /etc/letsencrypt + + echo "Generating nginx config template without domain" + bash "/opt/appsmith/templates/nginx_app.conf.sh" "$NGINX_SSL_CMNT" "$APPSMITH_CUSTOM_DOMAIN" > "/etc/nginx/conf.d/nginx_app.conf.template" + + echo "Generating nginx configuration" + cat /etc/nginx/conf.d/nginx_app.conf.template | envsubst "$(printf '$%s,' $(env | grep -Eo '^APPSMITH_[A-Z0-9_]+'))" | sed -e 's|\${\(APPSMITH_[A-Z0-9_]*\)}||g' > /etc/nginx/sites-available/default + nginx + + if [[ -n $APPSMITH_CUSTOM_DOMAIN ]]; then + init_ssl_cert "$APPSMITH_CUSTOM_DOMAIN" + fi + nginx -s stop +} + +configure_supervisord() { + SUPERVISORD_CONF_PATH="/opt/appsmith/templates/supervisord" + if [[ -f "/etc/supervisor/conf.d/"*.conf ]]; then + rm "/etc/supervisor/conf.d/"* + fi + + cp -f "$SUPERVISORD_CONF_PATH/application_process/"*.conf /etc/supervisor/conf.d + if [[ "$APPSMITH_MONGODB_URI" = "mongodb://appsmith:$APPSMITH_MONGO_PASSWORD@localhost/appsmith" ]]; then + cp "$SUPERVISORD_CONF_PATH/mongodb.conf" /etc/supervisor/conf.d/ + fi + if [[ "$APPSMITH_REDIS_URL" = "redis://127.0.0.1:6379" ]]; then + cp "$SUPERVISORD_CONF_PATH/redis.conf" /etc/supervisor/conf.d/ + fi +} + +echo 'Checking configuration file' +CONF_PATH="/appsmith-stacks/configuration" +ENV_PATH="$CONF_PATH/docker.env" +if ! [[ -e "$ENV_PATH" ]]; then + echo "Generating default configuration file" + mkdir -p "$CONF_PATH" + AUTO_GEN_MONGO_PASSWORD=$(tr -dc A-Za-z0-9 "$ENV_PATH" +fi + +if [[ -f /appsmith-stacks/configuration/docker.env ]]; then + echo 'Load environment configuration' + set -o allexport + . /appsmith-stacks/configuration/docker.env + set +o allexport +fi + +# Check for enviroment vairalbes +echo 'Checking environment configuration' +if [[ -z "${APPSMITH_MAIL_ENABLED}" ]]; then + unset APPSMITH_MAIL_ENABLED # If this field is empty is might cause application crash +fi + +if [[ -z "${APPSMITH_OAUTH2_GITHUB_CLIENT_ID}" ]] || [[ -z "${APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET}" ]]; then + unset APPSMITH_OAUTH2_GITHUB_CLIENT_ID # If this field is empty is might cause application crash + unset APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET +fi + +if [[ -z "${APPSMITH_OAUTH2_GOOGLE_CLIENT_ID}" ]] || [[ -z "${APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET}" ]]; then + unset APPSMITH_OAUTH2_GOOGLE_CLIENT_ID # If this field is empty is might cause application crash + unset APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET +fi + +if [[ -z "${APPSMITH_GOOGLE_MAPS_API_KEY}" ]]; then + unset APPSMITH_GOOGLE_MAPS_API_KEY +fi + +if [[ -z "${APPSMITH_RECAPTCHA_SITE_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_SECRET_KEY}" ]] || [[ -z "${APPSMITH_RECAPTCHA_ENABLED}" ]]; then + unset APPSMITH_RECAPTCHA_SITE_KEY # If this field is empty is might cause application crash + unset APPSMITH_RECAPTCHA_SECRET_KEY + unset APPSMITH_RECAPTCHA_ENABLED +fi + +# Main Section +init_mongodb +configure_ssl +configure_supervisord + +# Handle CMD command +exec "$@" \ No newline at end of file diff --git a/deploy/fat_container/images/appsmith_supervisord_ui.png b/deploy/fat_container/images/appsmith_supervisord_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..523ff950deefcead68815dd6113ed91cef578938 GIT binary patch literal 173245 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

1POIbT9y_ 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 dmp1@c5@|2I&2 +fi \ No newline at end of file diff --git a/deploy/fat_container/templates/cron.d/renew-certificate b/deploy/fat_container/templates/cron.d/renew-certificate new file mode 100644 index 0000000000..61e46e5b47 --- /dev/null +++ b/deploy/fat_container/templates/cron.d/renew-certificate @@ -0,0 +1 @@ +* * * * 0 root exec /opt/appsmith/renew-certificate.sh diff --git a/deploy/fat_container/templates/docker.env.sh b/deploy/fat_container/templates/docker.env.sh new file mode 100644 index 0000000000..8d1c9ab343 --- /dev/null +++ b/deploy/fat_container/templates/docker.env.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +set -o nounset + +MONGO_PASSWORD="$1" +ENCRYPTION_PASSWORD="$2" +ENCRYPTION_SALT="$3" + +cat < 0) { + shell.echo('application is not running, starting supervisord') + shell.exec('/usr/bin/supervisord') + } + }) + + shell.echo('stop backend & rts application before export database') + stop_application() + export_database() + shell.echo('start backend & rts application after export database') + shell.echo() + shell.echo('\033[0;33m++++++++++++++++++++ NOTE ++++++++++++++++++++') + shell.echo() + shell.echo('Please remember to also copy APPSMITH_ENCRYPTION_SALT and APPSMITH_ENCRYPTION_PASSWORD variables from the docker.env file to the target instance where you intend to import this database dump.') + shell.echo() + shell.echo('++++++++++++++++++++++++++++++++++++++++++++++\033[0m') + shell.echo() + } catch (err) { + shell.echo(err) + errorCode = 1 + } finally { + start_application(); + process.exit(errorCode); + } +} + +module.exports = { + runExportDatabase: main +}; \ No newline at end of file diff --git a/deploy/fat_container/utils/bin/import_db.js b/deploy/fat_container/utils/bin/import_db.js new file mode 100644 index 0000000000..8770b66eaa --- /dev/null +++ b/deploy/fat_container/utils/bin/import_db.js @@ -0,0 +1,49 @@ +// Init function export mongodb +var shell = require('shelljs') + +// Load env configuration +const RESTORE_PATH = '/appsmith-stacks/data/restore' + +function import_database() { + console.log('import_database ....') + const cmd = `mongorestore --uri='${process.env.APPSMITH_MONGODB_URI}' --gzip --archive=${RESTORE_PATH}/data.archive` + shell.exec(cmd) + console.log('import_database done') +} + +function stop_application() { + shell.exec('/usr/bin/supervisorctl stop backend rts') +} + +function start_application() { + shell.exec('/usr/bin/supervisorctl start backend rts') +} + +// Main application workflow +function main() { + let errorCode = 0 + try { + check_supervisord_status_cmd = '/usr/bin/supervisorctl' + shell.exec(check_supervisord_status_cmd, function (code) { + if (code > 0) { + shell.echo('application is not running, starting supervisord') + shell.exec('/usr/bin/supervisord') + } + }) + + shell.echo('stop backend & rts application before import database') + stop_application() + import_database() + shell.echo('start backend & rts application after import database') + } catch (err) { + shell.echo(err) + errorCode = 1 + } finally { + start_application(); + process.exit(errorCode); + } +} + +module.exports = { + runImportDatabase: main +}; \ No newline at end of file diff --git a/deploy/fat_container/utils/bin/index.js b/deploy/fat_container/utils/bin/index.js new file mode 100755 index 0000000000..9d1cecc48e --- /dev/null +++ b/deploy/fat_container/utils/bin/index.js @@ -0,0 +1,34 @@ +#! /usr/bin/env node + +const utils = require('./utils') +const export_db = require('./export_db.js') +const import_db = require('./import_db.js') +const yargs = require("yargs"); + +const APPLICATION_CONFIG_PATH='/appsmith-stacks/configuration/docker.env' + +// Loading latest application configuration +require('dotenv').config( + { path: APPLICATION_CONFIG_PATH } +) + +if(yargs.argv._[0] == 'export_db' || yargs.argv._[0] == 'ex'){ + console.log('Exporting database') + export_db.runExportDatabase(); + console.log('Export database done') + return; +} + +if(yargs.argv._[0] == 'import_db' || yargs.argv._[0] == 'im'){ + console.log('Importing database') + import_db.runImportDatabase(); + console.log('Importing database done') + return; +} + +if(yargs.argv._[0] == null){ + utils.showHelp(); + return; +} +utils.showHelp(); +return; \ No newline at end of file diff --git a/deploy/fat_container/utils/bin/utils.js b/deploy/fat_container/utils/bin/utils.js new file mode 100644 index 0000000000..dca9c70e56 --- /dev/null +++ b/deploy/fat_container/utils/bin/utils.js @@ -0,0 +1,14 @@ +const chalk = require('chalk') +const usage = chalk.hex('#83aaff')("\nUsage: appsmith to interactive with appsmith utils toool"); +module.exports = {showHelp: showHelp}; + + + +function showHelp() { + console.log(usage); + console.log('\nOptions:\r') + console.log('\tex, export_db\t\tExport interal database.\r') + console.log('\tim, import_db\t\tImport interal database.\r') + console.log('\t--help\t\t\t'+ 'Show help.' + '\t\t\t' + '[boolean]\n') +} + diff --git a/deploy/fat_container/utils/package-lock.json b/deploy/fat_container/utils/package-lock.json new file mode 100644 index 0000000000..af767ef55e --- /dev/null +++ b/deploy/fat_container/utils/package-lock.json @@ -0,0 +1,364 @@ +{ + "name": "appsmith_utils", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "boxen": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", + "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.0", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "shelljs": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } +} diff --git a/deploy/fat_container/utils/package.json b/deploy/fat_container/utils/package.json new file mode 100644 index 0000000000..f49c5d54f2 --- /dev/null +++ b/deploy/fat_container/utils/package.json @@ -0,0 +1,24 @@ +{ + "name": "appsmith_utils", + "version": "1.0.0", + "description": "appsmith utils tool", + "main": "bin/index.js", + "author": "", + "license": "Apache-2.0", + "private": true, + "repository": { + "type": "git", + "url": "https://github.com/appsmithorg/appsmith.git", + "directory": "deploy/fat_container" + }, + "dependencies": { + "boxen": "^5.0.1", + "chalk": "^4.1.2", + "dotenv": "^10.0.0", + "shelljs": "^0.8.4", + "yargs": "^17.1.1" + }, + "bin": { + "appsmith": "./bin/index.js" + } +}