diff --git a/docker-compose.yml b/docker-compose.yml index 673b3d4d..b7c73821 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,8 @@ services: ports: - '443:443' - '80:80' + volumes: + - ssl:/etc/letsencrypt/live/sel2-1.ugent.be/ api: build: dockerfile: ./backend.Dockerfile @@ -46,3 +48,4 @@ volumes: dwengo_postgres_data: dwengo_loki_data: dwengo_grafana_data: + ssl: diff --git a/frontend.Dockerfile b/frontend.Dockerfile index 6491bb5f..b5b765d2 100644 --- a/frontend.Dockerfile +++ b/frontend.Dockerfile @@ -10,6 +10,8 @@ RUN npm run build # production stage FROM nginx:stable AS production-stage +COPY ./nginx/nginx.conf /etc/nginx/ COPY --from=build-stage /app/frontend/dist /usr/share/nginx/html EXPOSE 80 +EXPOSE 443 CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 00000000..81bf2ae5 --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,50 @@ +worker_processes auto; + +events { + worker_connections 1024; +} + +http { + server { + server_name sel2-1.ugent.be; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + location /api/ { + proxy_pass http://127.0.0.1:2002/; + } + + listen 80; + listen 443 default_server ssl; # managed by Certbot + ssl_certificate /etc/letsencrypt/live/sel2-1.ugent.be/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/sel2-1.ugent.be/privkey.pem; # managed by Certbot + include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot + ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot + +} + + server { + listen 2002; + server_name dwengo-api; + + location / { + root /usr/share/api; + } + + } + +# server { +# if ($host = sel2-1.ugent.be) { +# return 301 https://$host$request_uri; +# } # managed by Certbot +# +# +# listen 80; +# server_name sel2-1.ugent.be; +# return 404; # managed by Certbot +# +# } +} \ No newline at end of file