Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing problems with remote URLs #13

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
teamname="wiq_0"
teamname="wiq_0"
WIQ_EXTERNAL_DNS_NAME_OR_IP=$DOCKER_HOST_IP
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,19 @@ sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-
sudo chmod +x /usr/local/bin/docker-compose
```

After installing Docker, we need to set up a global environment variable to configure external container connectivity. This can be done by editing the /etc/environment file:

```bash
sudo nano /etc/environment
```

and adding the following line:

```bash
DOCKER_HOST_IP=[IP address of the remote machine]
```


### Continuous delivery (GitHub Actions)

Once we have our machine ready, we could deploy by hand the application, taking our docker-compose file and executing it in the remote machine.
Expand Down
10 changes: 6 additions & 4 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -27,7 +27,7 @@ services:

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:
Expand All @@ -41,7 +41,7 @@ services:

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:
Expand All @@ -58,13 +58,15 @@ services:

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
Expand Down
2 changes: 2 additions & 0 deletions gatewayservice/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
AUTH_SERVICE_URL=http://localhost:8002
USER_SERVICE_URL=http://localhost:8001
3 changes: 3 additions & 0 deletions gatewayservice/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,8 @@ RUN npm install
# Copy the app source code to the working directory
COPY . .

#Remove env file (not necesary for docker)
RUN rm -f .env

# Define the command to run your app
CMD ["node", "gateway-service.js"]
1 change: 1 addition & 0 deletions users/authservice/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
MONGODB_URI=mongodb://localhost:27017/userdb
3 changes: 3 additions & 0 deletions users/authservice/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ RUN npm install
# Copy the app source code to the working directory
COPY . .

#Remove env file (not necesary for docker)
RUN rm -f .env

# Expose the port the app runs on
EXPOSE 8002

Expand Down
1 change: 1 addition & 0 deletions users/userservice/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
MONGODB_URI=mongodb://localhost:27017/userdb
3 changes: 3 additions & 0 deletions users/userservice/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ RUN npm install
# Copy the app source code to the working directory
COPY . .

#Remove env file (not necesary for docker)
RUN rm -f .env

# Expose the port the app runs on
EXPOSE 8001

Expand Down
6 changes: 2 additions & 4 deletions webapp/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@ FROM node:20

COPY . /app
WORKDIR /app

#Remove env file (not necesary for docker)
RUN rm -f .env
#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
RUN npm install serve
Expand Down
2 changes: 1 addition & 1 deletion webapp/src/components/AddUser.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import React, { useState } from 'react';
import axios from 'axios';
import { Container, Typography, TextField, Button, Snackbar } from '@mui/material';

const apiEndpoint = process.env.REACT_APP_API_ENDPOINT || 'http://localhost:8000';
const apiEndpoint = process.env.REACT_APP_API_ENDPOINT;

const AddUser = () => {
const [username, setUsername] = useState('');
Expand Down
2 changes: 1 addition & 1 deletion webapp/src/components/Login.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down