From ac84639687f1baf187f9b7c31a06a591959fae9f Mon Sep 17 00:00:00 2001 From: Ricardo Paes Date: Mon, 14 Feb 2022 08:27:05 -0300 Subject: [PATCH] Add environment variable in frontend and ssl --- .env.example | 14 +++++- .gitignore | 1 + ...ss.yaml => docker-compose.browserless.yaml | 0 docker-compose.yaml | 13 ++++-- frontend/.docker/add-env-vars.sh | 27 +++++++++++ frontend/.docker/nginx/conf.d/default.conf | 20 +++++++-- .../.docker/nginx/include.d/letsencrypt.conf | 45 +++++++++++++++++++ frontend/.docker/nginx/include.d/root.conf | 16 ------- frontend/.docker/nginx/include.d/spa.conf | 34 +++++--------- frontend/.docker/nginx/include.d/ssl.conf | 2 + frontend/.docker/nginx/sites.d/backend.conf | 11 +++++ frontend/.docker/nginx/sites.d/frontend.conf | 11 +++++ frontend/Dockerfile | 11 ++--- frontend/public/index.html | 1 + frontend/src/components/MessagesList/index.js | 4 +- .../components/NotificationsPopOver/index.js | 4 +- frontend/src/components/QrcodeModal/index.js | 4 +- frontend/src/components/Ticket/index.js | 4 +- frontend/src/components/TicketsList/index.js | 4 +- frontend/src/config.js | 16 +++++++ frontend/src/hooks/useAuth.js/index.js | 4 +- frontend/src/hooks/useTickets/index.js | 3 +- frontend/src/hooks/useWhatsApps/index.js | 4 +- frontend/src/pages/Contacts/index.js | 4 +- frontend/src/pages/Queues/index.js | 4 +- frontend/src/pages/QuickAnswers/index.js | 4 +- frontend/src/pages/Settings/index.js | 4 +- frontend/src/pages/Users/index.js | 4 +- frontend/src/services/api.js | 3 +- frontend/src/services/socket-io.js | 8 ++++ 30 files changed, 207 insertions(+), 77 deletions(-) rename docker-compose-browserless.yaml => docker-compose.browserless.yaml (100%) create mode 100644 frontend/.docker/add-env-vars.sh create mode 100644 frontend/.docker/nginx/include.d/letsencrypt.conf delete mode 100755 frontend/.docker/nginx/include.d/root.conf create mode 100644 frontend/.docker/nginx/include.d/ssl.conf create mode 100644 frontend/.docker/nginx/sites.d/backend.conf create mode 100755 frontend/.docker/nginx/sites.d/frontend.conf create mode 100644 frontend/src/config.js create mode 100644 frontend/src/services/socket-io.js diff --git a/.env.example b/.env.example index 28d690e..f22b049 100644 --- a/.env.example +++ b/.env.example @@ -1,7 +1,19 @@ +# MYSQL MYSQL_ROOT_PASSWORD=strongpassword MYSQL_DATABASE=whaticket +TZ=America/Fortaleza + +# BACKEND +BACKEND_PORT=8080 +BACKEND_SERVER_NAME=api.mydomain.com +BACKEND_URL=https://api.mydomain.com/ JWT_SECRET=3123123213123 JWT_REFRESH_SECRET=75756756756 + +# FRONTEND FRONTEND_PORT=3000 -TZ=America/Fortaleza +FRONTEND_SERVER_NAME=myapp.mydomain.com +FRONTEND_URL=https://myapp.mydomain.com/ + +# BROWSERLESS MAX_CONCURRENT_SESSIONS=1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 9f89ea2..b5c1a76 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .docker/data/ +ssl/ .env \ No newline at end of file diff --git a/docker-compose-browserless.yaml b/docker-compose.browserless.yaml similarity index 100% rename from docker-compose-browserless.yaml rename to docker-compose.browserless.yaml diff --git a/docker-compose.yaml b/docker-compose.yaml index 8a3f503..a7a113d 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -16,9 +16,11 @@ services: - DB_NAME=${MYSQL_DATABASE:-whaticket} - JWT_SECRET=${JWT_SECRET:-3123123213123} - JWT_REFRESH_SECRET=${JWT_REFRESH_SECRET:-75756756756} - - BACKEND_URL=${BACKEND_URL:-http://localhost:3000/api} - - FRONTEND_URL=${BACKEND_URL:-http://localhost:3000} + - BACKEND_URL=${BACKEND_URL:-http://localhost:8080} + - FRONTEND_URL=${FRONTEND_URL:-http://localhost:3000} - CHROME_ARGS=--no-sandbox --disable-setuid-sandbox + ports: + - ${BACKEND_PORT:-8080}:3000 networks: - whaticket @@ -29,7 +31,12 @@ services: context: ./frontend dockerfile: ./Dockerfile environment: - - URL_BACKEND=http://backend:3000/ + - URL_BACKEND=backend:3000 + - REACT_APP_BACKEND_URL=${BACKEND_URL:-http://localhost:8080/} + - FRONTEND_SERVER_NAME=${FRONTEND_SERVER_NAME} + - BACKEND_SERVER_NAME=${BACKEND_SERVER_NAME} + volumes: + - ./ssl/:/etc/nginx/ssl/ networks: - whaticket diff --git a/frontend/.docker/add-env-vars.sh b/frontend/.docker/add-env-vars.sh new file mode 100644 index 0000000..6752d0e --- /dev/null +++ b/frontend/.docker/add-env-vars.sh @@ -0,0 +1,27 @@ +_writeFrontendEnvVars() { + ENV_JSON="$(jq --compact-output --null-input 'env | with_entries(select(.key | startswith("REACT_APP_")))')" + ENV_JSON_ESCAPED="$(printf "%s" "${ENV_JSON}" | sed -e 's/[\&/]/\\&/g')" + sed -i "s/