|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- # Cognhacker
-
- ## Notes d’installation de la VM
-
- - Déploiement Ubuntu 22.04.1 LTS avec le package OpenSSH + Docker
- - Changement des MDP root et cognhacker
- - Installation d’utilitaires : ``apt install -y curl wget git screen htop vim nano sudo tree iperf3 unzip sshfs nmap apache2``
- - MAJ et redémarrage
- - Mise en service d’apache et clone du site
- - ``echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf``
-
- ## Installation de WorkAdventure
-
- Quelques tutos :
-
- * https://shownotes.opensourceisawesome.com/virtual-office-to-virtual-meetings-with-workadventure/
- * https://wiki.techinc.nl/Work-Adventure/install
- * https://github.com/thecodingmachine/workadventure/tree/master/contrib/docker
-
- Création de l’arborescence :
- ````
- /root/
- ├── workad
- │ ├── docker-compose.yml
- │ └── .env
- /srv/
- └── www
- ├── .git
- ├── index.html
- └── README.md
- ````
-
- **docker-compose.yml**
- ````
- version: "3.3"
- services:
- reverse-proxy:
- image: traefik:v2.5
- command:
- - --log.level=WARN
- - --providers.docker
- - --entryPoints.web.address=:80
- ports:
- - "9999:80"
- depends_on:
- - pusher
- - front
- volumes:
- - /var/run/docker.sock:/var/run/docker.sock
- restart: unless-stopped
-
- front:
- #build:
- # context: ./
- # dockerfile: front/Dockerfile
- image: thecodingmachine/workadventure-front:v1.12.11
- environment:
- DEBUG_MODE: "$DEBUG_MODE"
- JITSI_URL: $JITSI_URL
- JITSI_PRIVATE_MODE: "$JITSI_PRIVATE_MODE"
- PUSHER_URL: /pusher
- ADMIN_URL: /admin
- TURN_SERVER: "${TURN_SERVER}"
- TURN_USER: "${TURN_USER}"
- TURN_PASSWORD: "${TURN_PASSWORD}"
- MAX_PER_GROUP: "${MAX_PER_GROUP}"
- MAX_USERNAME_LENGTH: "${MAX_USERNAME_LENGTH}"
- START_ROOM_URL: "${START_ROOM_URL}"
- DISABLE_NOTIFICATIONS: "${DISABLE_NOTIFICATIONS}"
- SKIP_RENDER_OPTIMIZATIONS: "${SKIP_RENDER_OPTIMIZATIONS}"
- labels:
- - "traefik.http.routers.front.rule=PathPrefix(`/`)"
- - "traefik.http.routers.front.entryPoints=web"
- - "traefik.http.services.front.loadbalancer.server.port=80"
- - "traefik.http.routers.front.service=front"
- restart: unless-stopped
-
- pusher:
- #build:
- # context: ./
- # dockerfile: pusher/Dockerfile
- image: thecodingmachine/workadventure-pusher:v1.12.11
- environment:
- SECRET_JITSI_KEY: "${SECRET_JITSI_KEY}"
- SECRET_KEY: ${SECRET_KEY}
- API_URL: back:50051
- ADMIN_API_URL: "${ADMIN_API_URL}"
- ADMIN_API_TOKEN: "${ADMIN_API_TOKEN}"
- JITSI_URL: ${JITSI_URL}
- JITSI_ISS: ${JITSI_ISS}
- FRONT_URL : ${FRONT_URL}
- START_ROOM_URL: "${START_ROOM_URL}"
- labels:
- - "traefik.http.middlewares.strip-pusher-prefix.stripprefix.prefixes=/pusher"
- - "traefik.http.routers.pusher.rule=PathPrefix(`/pusher`)"
- - "traefik.http.routers.pusher.middlewares=strip-pusher-prefix@docker"
- - "traefik.http.routers.pusher.entryPoints=web"
- - "traefik.http.services.pusher.loadbalancer.server.port=8080"
- - "traefik.http.routers.pusher.service=pusher"
- restart: unless-stopped
-
- back:
- #build:
- # context: ./
- # dockerfile: back/Dockerfile
- image: thecodingmachine/workadventure-back:v1.12.11
- environment:
- SECRET_KEY: ${SECRET_KEY}
- STARTUP_COMMAND_1: yarn install
- 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}
- MAX_PER_GROUP: ${MAX_PER_GROUP}
- TURN_STATIC_AUTH_SECRET: "${TURN_STATIC_AUTH_SECRET}"
- REDIS_HOST: redis
- labels:
- - "traefik.http.middlewares.strip-api-prefix.stripprefix.prefixes=/api"
- - "traefik.http.routers.back.rule=PathPrefix(`/api`)"
- - "traefik.http.routers.back.middlewares=strip-api-prefix@docker"
- - "traefik.http.routers.back.entryPoints=web"
- - "traefik.http.services.back.loadbalancer.server.port=8080"
- - "traefik.http.routers.back.service=back"
- restart: unless-stopped
-
- redis:
- image: redis:6
- restart: unless-stopped
- ````
-
- **.env**
- ````
- # The base domain
- DOMAIN=lab.cognhacker.net
-
- DEBUG_MODE=false
- 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/cognhacker.github.io/wa/maps/lab.json
-
- # The email address used by Let's encrypt to send renewal warnings (compulsory)
- ACME_EMAIL=orga@cognhacker.net
-
- # Set to true to allow using this instance as a target for the apiUrl property
- FEDERATE_PUSHER=false
-
- # Server settings
- MAX_PER_GROUP=10
- MAX_USERNAME_LENGTH=12
- DISABLE_NOTIFICATIONS=false
- SKIP_RENDER_OPTIMIZATIONS=false
-
- # Enable / disable chat
- ENABLE_CHAT=false
-
- # Secrets
- SECRET_KEY="**********************"
- ADMIN_API_TOKEN="**********************"
- ADMIN_API_URL=
- ````
|