generated from coop-cloud/example
WIP: more work on packaging
This commit is contained in:
parent
9395f2eed4
commit
640be61c68
15
.env.sample
15
.env.sample
|
@ -4,3 +4,18 @@ DOMAIN=workadventure.example.com
|
||||||
## Domain aliases
|
## Domain aliases
|
||||||
#EXTRA_DOMAINS=', `www.workadventure.example.com`'
|
#EXTRA_DOMAINS=', `www.workadventure.example.com`'
|
||||||
LETS_ENCRYPT_ENV=production
|
LETS_ENCRYPT_ENV=production
|
||||||
|
|
||||||
|
DEBUG_MODE=true
|
||||||
|
JITSI_URL=meet.jit.si
|
||||||
|
# If your Jitsi environment has authentication set up, you MUST set JITSI_PRIVATE_MODE to "true" and you MUST pass a SECRET_JITSI_KEY to generate the JWT secret
|
||||||
|
JITSI_PRIVATE_MODE=false
|
||||||
|
JITSI_ISS=
|
||||||
|
SECRET_JITSI_KEY=
|
||||||
|
|
||||||
|
# URL of the TURN server (needed to "punch a hole" through some networks for P2P connections)
|
||||||
|
TURN_SERVER=
|
||||||
|
TURN_USER=
|
||||||
|
TURN_PASSWORD=
|
||||||
|
|
||||||
|
# The URL used by default, in the form: "/_/global/map/url.json"
|
||||||
|
START_ROOM_URL=/_/global/maps.workadventu.re/Floor0/floor0.json
|
||||||
|
|
16
README.md
16
README.md
|
@ -3,14 +3,14 @@
|
||||||
A collaborative web application (virtual office) presented as a 16-bit RPG video game • https://github.com/thecodingmachine/workadventure
|
A collaborative web application (virtual office) presented as a 16-bit RPG video game • https://github.com/thecodingmachine/workadventure
|
||||||
|
|
||||||
<!-- metadata -->
|
<!-- metadata -->
|
||||||
* **Category**:
|
* **Category**: Apps
|
||||||
* **Status**:
|
* **Status**: ❹💣
|
||||||
* **Image**: [`workadventure`](https://hub.docker.com/r/workadventure/workadventure)
|
* **Image**: [`thecodingmachine/workadventure*`](https://hub.docker.com/r/thecodingmachine/)
|
||||||
* **Healthcheck**:
|
* **Healthcheck**: No
|
||||||
* **Backups**:
|
* **Backups**: No
|
||||||
* **Email**:
|
* **Email**: No
|
||||||
* **Tests**:
|
* **Tests**: No
|
||||||
* **SSO**:
|
* **SSO**: No
|
||||||
<!-- endmetadata -->
|
<!-- endmetadata -->
|
||||||
|
|
||||||
## Basic usage
|
## Basic usage
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cd /output || exit
|
||||||
|
|
||||||
|
# shellcheck disable=SC2010
|
||||||
|
ls | grep -v private | grep -v "$DOMAIN" | xargs -r rm -r
|
75
compose.yml
75
compose.yml
|
@ -1,31 +1,70 @@
|
||||||
---
|
|
||||||
version: "3.8"
|
version: "3.8"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: nginx:1.19.2
|
image: thecodingmachine/workadventure-front:v1.3.0
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
|
environment:
|
||||||
|
DEBUG_MODE: "$DEBUG_MODE"
|
||||||
|
JITSI_URL: $JITSI_URL
|
||||||
|
JITSI_PRIVATE_MODE: "$JITSI_PRIVATE_MODE"
|
||||||
|
API_URL: "pusher.${DOMAIN}"
|
||||||
|
TURN_SERVER: "${TURN_SERVER}"
|
||||||
|
TURN_USER: "${TURN_USER}"
|
||||||
|
TURN_PASSWORD: "${TURN_PASSWORD}"
|
||||||
|
START_ROOM_URL: "${START_ROOM_URL}"
|
||||||
deploy:
|
deploy:
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: on-failure
|
condition: on-failure
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
|
- "traefik.http.services.${STACK_NAME}-app.loadbalancer.server.port=80"
|
||||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
- "traefik.http.routers.${STACK_NAME}-app.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
||||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
- "traefik.http.routers.${STACK_NAME}-app.entrypoints=web-secure"
|
||||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
- "traefik.http.routers.${STACK_NAME}-app.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||||
## Redirect from EXTRA_DOMAINS to DOMAIN
|
- coop-cloud.${STACK_NAME}.app.version=master-ffce89aa
|
||||||
#- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
|
pusher:
|
||||||
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
|
image: thecodingmachine/workadventure-pusher:master
|
||||||
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
|
command: yarn run runprod
|
||||||
healthcheck:
|
networks:
|
||||||
test: ["CMD", "curl", "-f", "http://localhost"]
|
- proxy
|
||||||
interval: 30s
|
environment:
|
||||||
timeout: 10s
|
SECRET_JITSI_KEY: "$SECRET_JITSI_KEY"
|
||||||
retries: 10
|
SECRET_KEY: yourSecretKey
|
||||||
start_period: 1m
|
API_URL: back:50051
|
||||||
|
JITSI_URL: $JITSI_URL
|
||||||
|
JITSI_ISS: $JITSI_ISS
|
||||||
|
deploy:
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.services.${STACK_NAME}-pusher.loadbalancer.server.port=8080"
|
||||||
|
- "traefik.http.routers.${STACK_NAME}-pusher.rule=Host(`pusher.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.${STACK_NAME}-pusher.entrypoints=web-secure"
|
||||||
|
- "traefik.http.routers.${STACK_NAME}-pusher.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||||
|
- coop-cloud.${STACK_NAME}.pusher.version=master-b64e57f5
|
||||||
|
back:
|
||||||
|
image: thecodingmachine/workadventure-back:v1.3.0
|
||||||
|
command: yarn run runprod
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
environment:
|
||||||
|
SECRET_JITSI_KEY: "$SECRET_JITSI_KEY"
|
||||||
|
ADMIN_API_TOKEN: "$ADMIN_API_TOKEN"
|
||||||
|
ADMIN_API_URL: "$ADMIN_API_URL"
|
||||||
|
JITSI_URL: $JITSI_URL
|
||||||
|
JITSI_ISS: $JITSI_ISS
|
||||||
|
deploy:
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.services.${STACK_NAME}-back.loadbalancer.server.port=8080"
|
||||||
|
- "traefik.http.routers.${STACK_NAME}-back.rule=Host(`api.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.${STACK_NAME}-back.entrypoints=web-secure"
|
||||||
|
- "traefik.http.routers.${STACK_NAME}-back.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||||
|
- coop-cloud.${STACK_NAME}.back.version=master-bfadc487
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
external: true
|
external: true
|
||||||
|
|
Reference in New Issue