update Docker image to has reverse procy nginx server for port 80 443
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,6 +3,7 @@
|
|||||||
# *database/mysql.sock
|
# *database/mysql.sock
|
||||||
File_Storage
|
File_Storage
|
||||||
database/
|
database/
|
||||||
|
certbot/
|
||||||
# database/ibdata1
|
# database/ibdata1
|
||||||
# database/mysql.ibd
|
# database/mysql.ibd
|
||||||
# database/undo*
|
# database/undo*
|
||||||
|
|||||||
@@ -5,17 +5,8 @@ FROM debian:latest AS build-env
|
|||||||
#ENV DEBIAN_FRONTEND=noninteractive
|
#ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN apt-get update
|
RUN apt-get update
|
||||||
#RUN apt-get upgrade -y
|
|
||||||
#RUN apt-get --fix-missing update
|
|
||||||
RUN apt-get install -y curl git wget unzip libgconf-2-4 gdb libstdc++6 libglu1-mesa fonts-droid-fallback python3
|
|
||||||
#RUN apt-get install -y curl git unzip
|
|
||||||
#RUN apt-get install -y curl git unzip xz-utils zip libglu1-mesa
|
|
||||||
#RUN apt-get install -y curl git unzip wget python3 fonts-droid-fallback
|
|
||||||
#RUN apt-get clean
|
|
||||||
|
|
||||||
#ENV DEBIAN_FRONTEND=dialog
|
RUN apt-get install -y curl git wget unzip libgconf-2-4 gdb libstdc++6 libglu1-mesa fonts-droid-fallback python3
|
||||||
#ENV PUB_HOSTED_URL=https://pub.flutter-io.cn
|
|
||||||
#ENV FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
|
|
||||||
|
|
||||||
# download Flutter SDK from Flutter Github repo
|
# download Flutter SDK from Flutter Github repo
|
||||||
RUN git clone -b master https://github.com/flutter/flutter.git /usr/local/flutter
|
RUN git clone -b master https://github.com/flutter/flutter.git /usr/local/flutter
|
||||||
@@ -25,12 +16,6 @@ RUN git clone -b master https://github.com/flutter/flutter.git /usr/local/flutte
|
|||||||
ENV PATH="/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin:${PATH}"
|
ENV PATH="/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin:${PATH}"
|
||||||
#ENV PATH "$PATH:/home/developer/flutter/bin"
|
#ENV PATH "$PATH:/home/developer/flutter/bin"
|
||||||
|
|
||||||
# Run flutter doctor
|
|
||||||
#RUN flutter pub get
|
|
||||||
#RUN rmdir /usr/local/flutter/bin/cache
|
|
||||||
#RUN flutter pub cache repair
|
|
||||||
#RUN dart pub add args:^2.4.2
|
|
||||||
#RUN flutter dart pub add args:^2.4.2
|
|
||||||
RUN flutter doctor -v
|
RUN flutter doctor -v
|
||||||
|
|
||||||
# Enable flutter web
|
# Enable flutter web
|
||||||
@@ -42,16 +27,49 @@ RUN flutter config --enable-web
|
|||||||
# Copy files to container and build
|
# Copy files to container and build
|
||||||
RUN mkdir /app/
|
RUN mkdir /app/
|
||||||
COPY . /app/
|
COPY . /app/
|
||||||
WORKDIR /app/
|
|
||||||
# RUN flutter pub add web:^0.5.0
|
# VOLUME ["/app"]
|
||||||
# RUN flutter pub run pdfx:install_web
|
|
||||||
|
WORKDIR /app
|
||||||
RUN flutter upgrade
|
RUN flutter upgrade
|
||||||
RUN flutter build web -t ./lib/main_prod.dart
|
RUN flutter build web -t ./lib/main_prod.dart
|
||||||
|
|
||||||
# Record the exposed port
|
# RUN cd ..
|
||||||
EXPOSE 8080
|
|
||||||
|
|
||||||
# make server startup script executable and start the web server
|
EXPOSE 83
|
||||||
|
# COPY /app/build/web
|
||||||
|
|
||||||
|
# # Use Nginx to serve the app
|
||||||
|
# FROM nginx:alpine
|
||||||
|
|
||||||
|
# #install requirements for certbot
|
||||||
|
# RUN apk add python3 py3-pip
|
||||||
|
|
||||||
|
# # RUN apk add --no-cache py3-certbot-nginx
|
||||||
|
# RUN apk add certbot-nginx
|
||||||
|
# RUN mkdir /etc/letsencrypt
|
||||||
|
|
||||||
|
# # Copy the build artifacts from the build stage, and the Nginx configuration
|
||||||
|
# COPY --from=build-env /app/build/web /usr/share/nginx/html
|
||||||
|
# COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
# # COPY /certbot/conf /etc/letsencrypt
|
||||||
|
# # ./Frontend/patient_manager/certbot/conf:/etc/letsencrypt
|
||||||
|
# # - ./Frontend/patient_manager/certbot/www:/var/www/certbot
|
||||||
|
|
||||||
|
# #RUN certbot --nginx -d mzansi-innovation-hub.co.za
|
||||||
|
|
||||||
|
# EXPOSE 80 443
|
||||||
|
|
||||||
|
|
||||||
|
# CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|
||||||
|
|
||||||
|
# RUN certbot --nginx -d mzansi-innovation-hub.co.za -d www.mzansi-innovation-hub.co.za
|
||||||
|
|
||||||
|
# # Record the exposed port
|
||||||
|
# EXPOSE 8080
|
||||||
|
|
||||||
|
# # make server startup script executable and start the web server
|
||||||
RUN ["chmod", "+x", "/app/server/server.sh"]
|
RUN ["chmod", "+x", "/app/server/server.sh"]
|
||||||
|
|
||||||
ENTRYPOINT [ "/app/server/server.sh"]
|
ENTRYPOINT [ "/app/server/server.sh"]
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Define the port
|
# Define the port
|
||||||
PORT=80
|
PORT=83
|
||||||
|
|
||||||
# Check if the port is in use and release it if necessary.
|
# Check if the port is in use and release it if necessary.
|
||||||
echo "Checking if port $PORT is in use..."
|
echo "Checking if port $PORT is in use..."
|
||||||
|
|||||||
@@ -36,15 +36,48 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- mysqldb
|
- mysqldb
|
||||||
|
|
||||||
|
nginx:
|
||||||
|
container_name: nginx
|
||||||
|
restart: unless-stopped
|
||||||
|
image: nginx
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- 443:443
|
||||||
|
volumes:
|
||||||
|
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
|
||||||
|
- webApp:/usr/share/nginx/html
|
||||||
|
depends_on:
|
||||||
|
- user-interface
|
||||||
|
|
||||||
user-interface:
|
user-interface:
|
||||||
container_name: MIH-UX
|
container_name: MIH-UX
|
||||||
build:
|
build:
|
||||||
context: ./Frontend/patient_manager
|
context: ./Frontend/patient_manager
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "83:83"
|
||||||
|
volumes:
|
||||||
|
- webApp:/app/build/web
|
||||||
|
# - ./certbot/www:/var/www/certbot
|
||||||
depends_on:
|
depends_on:
|
||||||
- api
|
- api
|
||||||
|
|
||||||
|
# certbot:
|
||||||
|
# image: certbot/certbot
|
||||||
|
# container_name: certbot
|
||||||
|
# volumes:
|
||||||
|
# - ./certbot/conf:/etc/letsencrypt
|
||||||
|
# - ./certbot/www:/var/www/certbot
|
||||||
|
# depends_on:
|
||||||
|
# - user-interface
|
||||||
|
# #command: certonly --email yasienmeth@gmail.com -d mzansi-innovation-hub.co.za --agree-tos --manual --preferred-challenges dns
|
||||||
|
# command: certonly --webroot -w /var/www/certbot --force-renewal --email yasienmeth@gmail.com -d mzansi-innovation-hub.co.za --agree-tos
|
||||||
|
# # command: >-
|
||||||
|
# # certonly --test-cert --reinstall --webroot --webroot-path=/var/www/certbot
|
||||||
|
# # --email yasienmeth@gmail.com --agree-tos --no-eff-email
|
||||||
|
# # -d mzansi-innovation-hub.co.za
|
||||||
|
# # depends_on:
|
||||||
|
# # - user-interface
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
container_name: MIH-Minio
|
container_name: MIH-Minio
|
||||||
image: docker.io/bitnami/minio:2022
|
image: docker.io/bitnami/minio:2022
|
||||||
@@ -58,8 +91,14 @@ services:
|
|||||||
- MINIO_ROOT_PASSWORD=C@rtoon1995
|
- MINIO_ROOT_PASSWORD=C@rtoon1995
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
Mzanzi_Innovation_Hub:
|
webApp:
|
||||||
driver: local
|
certbotConf:
|
||||||
|
certbotChall:
|
||||||
|
# driver: local
|
||||||
|
# driver_opts:
|
||||||
|
# type: none
|
||||||
|
# device: ./webapp1
|
||||||
|
# o: bind
|
||||||
|
|
||||||
# networks:
|
# networks:
|
||||||
# default:
|
# default:
|
||||||
|
|||||||
45
nginx/nginx.conf
Normal file
45
nginx/nginx.conf
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
server_tokens off;
|
||||||
|
charset utf-8;
|
||||||
|
|
||||||
|
# always redirect to https
|
||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
|
||||||
|
server_name mzansi-innovation-hub.co.za;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html;
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
location ~ /.well-known/acme-challenge/ {
|
||||||
|
root /var/www/certbot;
|
||||||
|
}
|
||||||
|
|
||||||
|
# return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
# server {
|
||||||
|
# listen 443 ssl;
|
||||||
|
# http2 on;
|
||||||
|
# # use the certificates
|
||||||
|
# ssl_certificate /etc/letsencrypt/live/mzansi-innovation-hub.co.za/fullchain.pem;
|
||||||
|
# ssl_certificate_key /etc/letsencrypt/live/mzansi-innovation-hub.co.za/privkey.pem;
|
||||||
|
# server_name mzansi-innovation-hub.co.za;
|
||||||
|
# root /var/www/html;
|
||||||
|
# index index.php index.html index.htm;
|
||||||
|
|
||||||
|
# location / {
|
||||||
|
# root /usr/share/nginx/html;
|
||||||
|
# index index.html;
|
||||||
|
# try_files $uri $uri/ =404;
|
||||||
|
# }
|
||||||
|
|
||||||
|
# }
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user