Enabling optional https in development

This commit is contained in:
David Négrier 2020-06-25 10:32:47 +02:00
parent 371b4f0063
commit d18abaf067
4 changed files with 27 additions and 5 deletions

View File

@ -29,7 +29,7 @@ jobs:
- name: "Build" - name: "Build"
run: yarn run build run: yarn run build
env: env:
API_URL: "http://localhost:8080" API_URL: "localhost:8080"
working-directory: "front" working-directory: "front"
- name: "Lint" - name: "Lint"

View File

@ -24,7 +24,7 @@
}, },
"ports": [80], "ports": [80],
"env": { "env": {
"API_URL": "https://api."+url "API_URL": "api."+url
} }
}, },
"website": { "website": {

View File

@ -2,9 +2,14 @@ version: "3"
services: services:
reverse-proxy: reverse-proxy:
image: traefik:v2.0 image: traefik:v2.0
command: --api.insecure=true --providers.docker command:
- --api.insecure=true
- --providers.docker
- --entryPoints.web.address=:80
- --entryPoints.websecure.address=:443
ports: ports:
- "80:80" - "80:80"
- "443:443"
# The Web UI (enabled by --api.insecure=true) # The Web UI (enabled by --api.insecure=true)
- "8080:8080" - "8080:8080"
depends_on: depends_on:
@ -19,14 +24,20 @@ services:
DEBUG_MODE: "$DEBUG_MODE" DEBUG_MODE: "$DEBUG_MODE"
HOST: "0.0.0.0" HOST: "0.0.0.0"
NODE_ENV: development NODE_ENV: development
API_URL: http://api.workadventure.localhost API_URL: api.workadventure.localhost
STARTUP_COMMAND_1: yarn install STARTUP_COMMAND_1: yarn install
command: yarn run start command: yarn run start
volumes: volumes:
- ./front:/usr/src/app - ./front:/usr/src/app
labels: labels:
- "traefik.http.routers.front.rule=Host(`play.workadventure.localhost`)" - "traefik.http.routers.front.rule=Host(`play.workadventure.localhost`)"
- "traefik.http.routers.front.entryPoints=web"
- "traefik.http.services.front.loadbalancer.server.port=8080" - "traefik.http.services.front.loadbalancer.server.port=8080"
- "traefik.http.routers.front-ssl.rule=Host(`play.workadventure.localhost`)"
- "traefik.http.routers.front-ssl.entryPoints=websecure"
- "traefik.http.routers.front-ssl.tls=true"
- "traefik.http.routers.front-ssl.service=front"
back: back:
image: thecodingmachine/nodejs:12 image: thecodingmachine/nodejs:12
@ -39,7 +50,13 @@ services:
- ./back:/usr/src/app - ./back:/usr/src/app
labels: labels:
- "traefik.http.routers.back.rule=Host(`api.workadventure.localhost`)" - "traefik.http.routers.back.rule=Host(`api.workadventure.localhost`)"
- "traefik.http.routers.back.entryPoints=web"
- "traefik.http.services.back.loadbalancer.server.port=8080" - "traefik.http.services.back.loadbalancer.server.port=8080"
- "traefik.http.routers.back-ssl.rule=Host(`api.workadventure.localhost`)"
- "traefik.http.routers.back-ssl.entryPoints=websecure"
- "traefik.http.routers.back-ssl.tls=true"
- "traefik.http.routers.back-ssl.service=back"
website: website:
image: thecodingmachine/nodejs:12-apache image: thecodingmachine/nodejs:12-apache
@ -51,4 +68,9 @@ services:
- ./website:/var/www/html - ./website:/var/www/html
labels: labels:
- "traefik.http.routers.website.rule=Host(`workadventure.localhost`)" - "traefik.http.routers.website.rule=Host(`workadventure.localhost`)"
- "traefik.http.routers.website.entryPoints=web"
- "traefik.http.services.website.loadbalancer.server.port=80" - "traefik.http.services.website.loadbalancer.server.port=80"
- "traefik.http.routers.website-ssl.rule=Host(`workadventure.localhost`)"
- "traefik.http.routers.website-ssl.entryPoints=websecure"
- "traefik.http.routers.website-ssl.tls=true"
- "traefik.http.routers.website-ssl.service=website"

View File

@ -1,5 +1,5 @@
const DEBUG_MODE: boolean = process.env.DEBUG_MODE == "true"; const DEBUG_MODE: boolean = process.env.DEBUG_MODE == "true";
const API_URL = process.env.API_URL || "http://api.workadventure.localhost"; const API_URL = window.location.protocol + '//' + process.env.API_URL || "http://api.workadventure.localhost";
const RESOLUTION = 3; const RESOLUTION = 3;
const ZOOM_LEVEL = 1/*3/4*/; const ZOOM_LEVEL = 1/*3/4*/;
const POSITION_DELAY = 200; // Wait 200ms between sending position events const POSITION_DELAY = 200; // Wait 200ms between sending position events