diff --git a/.env b/.env index 131b17e4..7a9ba72a 100644 --- a/.env +++ b/.env @@ -1 +1,2 @@ -teamname="wiq_0" \ No newline at end of file +teamname="wiq_0" +WIQ_EXTERNAL_DNS_NAME_OR_IP=$DOCKER_HOST_IP \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2905c196..853033bb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -124,5 +124,6 @@ jobs: command: | wget https://raw.githubusercontent.com/arquisoft/wiq_0/master/docker-compose.yml -O docker-compose.yml wget https://raw.githubusercontent.com/arquisoft/wiq_0/master/.env -O .env + export DOCKER_HOST_IP=${{ secrets.DEPLOY_HOST }} docker compose --profile prod down docker compose --profile prod up -d diff --git a/README.md b/README.md index fb89a4a1..df6abf16 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,7 @@ deploy: command: | wget https://raw.githubusercontent.com/arquisoft/wiq_0/master/docker-compose.yml -O docker-compose.yml wget https://raw.githubusercontent.com/arquisoft/wiq_0/master/.env -O .env + export DOCKER_HOST_IP=${{ secrets.DEPLOY_HOST }} docker compose --profile prod down docker compose --profile prod up -d ``` diff --git a/docker-compose.yml b/docker-compose.yml index c105ed50..4fe25a25 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: authservice: container_name: authservice-${teamname:-defaultASW} - image: ghcr.io/arquisoft/wiq_0/authservice:latest + image: ghcr.io/arquisoft/${teamname:-wiq_0}/authservice:latest profiles: ["dev", "prod"] build: ./users/authservice depends_on: @@ -23,11 +23,11 @@ services: networks: - mynetwork environment: - MONGODB_URI: mongodb://mongodb:27017/userdb + MONGODB_URI: mongodb://${WIQ_EXTERNAL_DNS_NAME_OR_IP:-mongodb}:27017/userdb userservice: container_name: userservice-${teamname:-defaultASW} - image: ghcr.io/arquisoft/wiq_0/userservice:latest + image: ghcr.io/arquisoft/${teamname:-wiq_0}/userservice:latest profiles: ["dev", "prod"] build: ./users/userservice depends_on: @@ -37,11 +37,11 @@ services: networks: - mynetwork environment: - MONGODB_URI: mongodb://mongodb:27017/userdb + MONGODB_URI: mongodb://${WIQ_EXTERNAL_DNS_NAME_OR_IP:-mongodb}:27017/userdb gatewayservice: container_name: gatewayservice-${teamname:-defaultASW} - image: ghcr.io/arquisoft/wiq_0/gatewayservice:latest + image: ghcr.io/arquisoft/${teamname:-wiq_0}/gatewayservice:latest profiles: ["dev", "prod"] build: ./gatewayservice depends_on: @@ -53,18 +53,21 @@ services: networks: - mynetwork environment: - AUTH_SERVICE_URL: http://authservice:8002 - USER_SERVICE_URL: http://userservice:8001 + AUTH_SERVICE_URL: http://${WIQ_EXTERNAL_DNS_NAME_OR_IP:-authservice}:8002 + USER_SERVICE_URL: http://${WIQ_EXTERNAL_DNS_NAME_OR_IP:-userservice}:8001 + HOST_IP: ${WIQ_EXTERNAL_DNS_NAME_OR_IP:-localhost} webapp: container_name: webapp-${teamname:-defaultASW} - image: ghcr.io/arquisoft/wiq_0/webapp:latest + image: ghcr.io/arquisoft/${teamname:-wiq_0}/webapp:latest profiles: ["dev", "prod"] build: ./webapp depends_on: - gatewayservice ports: - "3000:3000" + environment: + REACT_APP_API_ENDPOINT: http://${WIQ_EXTERNAL_DNS_NAME_OR_IP:-localhost}:8000 prometheus: image: prom/prometheus diff --git a/gatewayservice/gateway-service.js b/gatewayservice/gateway-service.js index 88b84c8f..6527df61 100644 --- a/gatewayservice/gateway-service.js +++ b/gatewayservice/gateway-service.js @@ -6,8 +6,8 @@ const promBundle = require('express-prom-bundle'); const app = express(); const port = 8000; -const authServiceUrl = process.env.AUTH_SERVICE_URL || 'http://localhost:8002'; -const userServiceUrl = process.env.USER_SERVICE_URL || 'http://localhost:8001'; +const authServiceUrl = process.env.AUTH_SERVICE_URL ; +const userServiceUrl = process.env.USER_SERVICE_URL ; app.use(cors()); app.use(express.json()); diff --git a/users/authservice/auth-service.js b/users/authservice/auth-service.js index 9764f088..cefbdf8e 100644 --- a/users/authservice/auth-service.js +++ b/users/authservice/auth-service.js @@ -11,7 +11,7 @@ const port = 8002; app.use(express.json()); // Connect to MongoDB -const mongoUri = process.env.MONGODB_URI || 'mongodb://localhost:27017/userdb'; +const mongoUri = process.env.MONGODB_URI; mongoose.connect(mongoUri); // Function to validate required fields in the request body diff --git a/users/userservice/user-service.js b/users/userservice/user-service.js index be958427..b5cd7cb1 100644 --- a/users/userservice/user-service.js +++ b/users/userservice/user-service.js @@ -12,7 +12,7 @@ const port = 8001; app.use(bodyParser.json()); // Connect to MongoDB -const mongoUri = process.env.MONGODB_URI || 'mongodb://localhost:27017/userdb'; +const mongoUri = process.env.MONGODB_URI; mongoose.connect(mongoUri); diff --git a/webapp/Dockerfile b/webapp/Dockerfile index 3cbad8b7..87dde8c7 100644 --- a/webapp/Dockerfile +++ b/webapp/Dockerfile @@ -6,8 +6,6 @@ WORKDIR /app #Install the dependencies RUN npm install -ARG API_URI="http://localhost:8000" -ENV REACT_APP_API_ENDPOINT=$API_URI #Create an optimized version of the webapp RUN npm run build diff --git a/webapp/src/components/Login.js b/webapp/src/components/Login.js index 0ad6268e..4397a52b 100644 --- a/webapp/src/components/Login.js +++ b/webapp/src/components/Login.js @@ -11,7 +11,7 @@ const Login = () => { const [createdAt, setCreatedAt] = useState(''); const [openSnackbar, setOpenSnackbar] = useState(false); - const apiEndpoint = process.env.REACT_APP_API_ENDPOINT || 'http://localhost:8000'; + const apiEndpoint = process.env.REACT_APP_API_ENDPOINT; const loginUser = async () => { try {