Skip to content
Snippets Groups Projects
Commit a8244eb5 authored by migudel's avatar migudel :speech_balloon:
Browse files

Ficheros docker and envs

parent 12fe7db2
No related branches found
No related tags found
2 merge requests!26Revert "Funciona register",!14Ficheros docker and envs
.env 0 → 100644
AUTH_SERVICE_HOSTNAME=auth-api
USERS_SERVICE_HOSTNAME=users-api
HOTELS_SERVICE_HOSTNAME=hotels-api
BOOKINGS_SERVICE_HOSTNAME=bookings-api
DB_SERVICE_HOSTNAME=roomsbooking
DB_DATABASE_NAME=RoomsBooking
\ No newline at end of file
# Etapa 1: Construcción de la aplicación Angular
FROM node:20 AS build
# Establecer el directorio de trabajo
WORKDIR /app
# Copiar archivos de package.json e instalar dependencias
COPY package*.json ./
RUN npm install
# Copiar el código fuente de Angular
COPY . .
# Compilar la aplicación Angular para producción
RUN npm run build -- --output-path=dist/app --configuration production
# Etapa 2: Servidor Nginx para producción
FROM nginx:alpine AS production
# Copiar los archivos de construcción generados en la etapa anterior a la carpeta de Nginx
COPY --from=build /app/dist/app/browser /usr/share/nginx/html
# Exponer el puerto 80 para Nginx
EXPOSE 7920
# Iniciar Nginx
CMD ["nginx", "-g", "daemon off;"]
server {
# Ubicación de los archivos estáticos
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ /index.html;
}
# Configuración de caché (opcional)
location ~* \.(?:manifest|css|js|map|json)$ {
expires 1h;
add_header Cache-Control "public";
}
# Deshabilitar la cache de contenido dinámico
location ~* \.(?:png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
expires 1h;
access_log off;
}
error_page 404 /index.html;
}
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
export const environment = { export const environment = {
production: true, production: true,
authAPI: 'http://auth-api:8080', authAPI: 'http://auth-api:8080',
userAPI: 'http://user-api:8080', userAPI: 'http://users-api:8080',
hotelAPI: 'http://hotels-api:8080', hotelAPI: 'http://hotels-api:8080',
bookingAPI: 'http://bookings-api:8080', bookingAPI: 'http://bookings-api:8080',
}; };
version: "3.7"
volumes:
kong_data: {}
users_data: {}
networks: #Red interna para comunicar los servicios (“Services on the same network can communicate with each other using their name”)
kong-net: {}
services:
RoomsBooking-WEB:
image: roomsbooking-web-image
build:
context: ./angular/RestClient
dockerfile: ./Dockerfile
restart: unless-stopped
ports:
- 4221:80
networks: # Networks to join
- kong-net
depends_on:
- RoomsBooking-API
RoomsBooking-API:
image: roomsbooking-api-image
build:
context: ./java/roomBooking
dockerfile: ./Dockerfile
restart: unless-stopped
ports:
- 8080:8080
networks: # Networks to join
- kong-net
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://RoomsBooking-database:3306/RoomsBooking?createDatabaseIfNotExist=true
depends_on:
- RoomsBooking-database
RoomsBooking-database:
image: mysql #Usamos imagen del respositorio ya creada
hostname: RoomsBooking-database
cap_add:
- SYS_NICE
restart: unless-stopped
ports:
- "3307:3306"
networks:
- kong-net
volumes:
- users_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ClaveRoot
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_DATABASE: RoomsBooking
MYSQL_ROOT_HOST: "%"
volumes:
kong_data: {}
users_data: {}
networks:
kong-net: {}
services:
Auth-API:
image: auth-api-image
hostname: ${AUTH_SERVICE_HOSTNAME}
build:
context: ./java/services/auth
dockerfile: Dockerfile
restart: unless-stopped
ports:
- 8101:8080
networks:
- kong-net
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://${DB_SERVICE_HOSTNAME}:3306/${DB_DATABASE_NAME}?createDatabaseIfNotExist=true
depends_on:
- RoomsBooking-database
Users-API:
image: users-api-image
hostname: "${USERS_SERVICE_HOSTNAME}"
build:
context: ./java/services/users
dockerfile: Dockerfile
restart: unless-stopped
ports:
- 8111:8080
networks:
- kong-net
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://${DB_SERVICE_HOSTNAME}:3306/${DB_DATABASE_NAME}?createDatabaseIfNotExist=true
depends_on:
- RoomsBooking-database
Hotels-API:
image: hotels-api-image
hostname: ${HOTES_SERVICE_HOSTNAME}
build:
context: ./java/services/hotels
dockerfile: Dockerfile
restart: unless-stopped
ports:
- 8121:8080
networks:
- kong-net
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://${DB_SERVICE_HOSTNAME}:3306/${DB_DATABASE_NAME}?createDatabaseIfNotExist=true
depends_on:
- RoomsBooking-database
- Bookings-API
Bookings-API:
image: bookings-api-image
hostname: ${BOOKINGS_SERVICE_HOSTNAME}
build:
context: ./java/services/bookings
dockerfile: Dockerfile
restart: unless-stopped
ports:
- 8131:8080
networks:
- kong-net
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://${DB_SERVICE_HOSTNAME}:3306/${DB_DATABASE_NAME}?createDatabaseIfNotExist=true
depends_on:
- RoomsBooking-database
RoomsBooking-database:
image: mysql
hostname: RoomsBooking-database
cap_add:
- SYS_NICE
restart: unless-stopped
ports:
- "3307:3306"
networks:
- kong-net
volumes:
- users_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ClaveRoot
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_DATABASE: RoomsBooking
MYSQL_ROOT_HOST: "%"
RoomsBooking-Web:
image: roomsbooking-web-image
build:
context: ./angular/RestClient
dockerfile: ./Dockerfile
restart: unless-stopped
ports:
- 3328:80
networks:
- kong-net
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://${DB_SERVICE_HOSTNAME}:3306/${DB_DATABASE_NAME}?createDatabaseIfNotExist=true
depends_on:
- RoomsBooking-database
FROM maven:3-openjdk-17 AS maven
WORKDIR /app
COPY ./ ./
RUN mvn -Dmaven.test.skip clean package
FROM openjdk:17-jdk-oracle
ARG JAR_FILE=/app/target/*.jar
COPY --from=maven ${JAR_FILE} app.jar
ENV PORT 8080
EXPOSE $PORT
ENTRYPOINT ["java","-jar", "/app.jar"]
\ No newline at end of file
FROM maven:3-openjdk-17 AS maven
WORKDIR /app
COPY ./ ./
RUN mvn -Dmaven.test.skip clean package
FROM openjdk:17-jdk-oracle
ARG JAR_FILE=/app/target/*.jar
COPY --from=maven ${JAR_FILE} app.jar
ENV PORT 8080
EXPOSE $PORT
ENTRYPOINT ["java","-jar", "/app.jar"]
\ No newline at end of file
FROM maven:3-openjdk-17 AS maven
WORKDIR /app
COPY ./ ./
RUN mvn -Dmaven.test.skip clean package
FROM openjdk:17-jdk-oracle
ARG JAR_FILE=/app/target/*.jar
COPY --from=maven ${JAR_FILE} app.jar
ENV PORT 8080
EXPOSE $PORT
ENTRYPOINT ["java","-jar", "/app.jar"]
\ No newline at end of file
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
FROM maven:3-openjdk-17 AS maven
WORKDIR /app
COPY ./ ./
RUN mvn -Dmaven.test.skip clean package
FROM openjdk:17-jdk-oracle
ARG JAR_FILE=/app/target/*.jar
COPY --from=maven ${JAR_FILE} app.jar
ENV PORT 8080
EXPOSE $PORT
ENTRYPOINT ["java","-jar", "/app.jar"]
\ No newline at end of file
FROM maven:3-openjdk-17 AS maven
WORKDIR /app
COPY ./ ./
RUN mvn -Dmaven.test.skip clean package
FROM openjdk:17-jdk-oracle
ARG JAR_FILE=/app/target/*.jar
COPY --from=maven ${JAR_FILE} app.jar
ENV PORT 8080
EXPOSE $PORT
ENTRYPOINT ["java","-jar", "/app.jar"]
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment