diff --git a/.github/workflows/cd/cloudretro.io/config.yaml b/.github/workflows/cd/cloudretro.io/config.yaml index fa8b21a59..64eb78072 100644 --- a/.github/workflows/cd/cloudretro.io/config.yaml +++ b/.github/workflows/cd/cloudretro.io/config.yaml @@ -21,7 +21,7 @@ worker: https: true tls: address: :444 - domain: cloudretro.io +# domain: cloudretro.io emulator: libretro: diff --git a/.github/workflows/cd/docker-compose.yml b/.github/workflows/cd/docker-compose.yml index c15a95287..11380d5c7 100644 --- a/.github/workflows/cd/docker-compose.yml +++ b/.github/workflows/cd/docker-compose.yml @@ -1,5 +1,4 @@ -x-params: - &default-params +x-params: &default-params image: ghcr.io/giongto35/cloud-game/cloud-game:${IMAGE_TAG:-master} network_mode: "host" privileged: true @@ -8,6 +7,33 @@ x-params: - seccomp:unconfined logging: driver: "journald" +x-worker: &worker + depends_on: + - coordinator +# deploy: +# mode: replicated +# replicas: 4 + environment: + - DISPLAY=:99 + - MESA_GL_VERSION_OVERRIDE=4.5 + - CLOUD_GAME_WORKER_LIBRARY_BASEPATH=/usr/local/share/cloud-game/assets/games + - CLOUD_GAME_EMULATOR_LIBRETRO_CORES_PATHS_LIBS=/usr/local/share/cloud-game/assets/cores + - CLOUD_GAME_WORKER_SERVER_TLS_DOMAIN=cloudretro.io + command: ./worker + volumes: + - ${APP_DIR:-/cloud-game}/cache:/usr/local/share/cloud-game/assets/cache + - ${APP_DIR:-/cloud-game}/cores:/usr/local/share/cloud-game/assets/cores + - ${APP_DIR:-/cloud-game}/games:/usr/local/share/cloud-game/assets/games + - ${APP_DIR:-/cloud-game}/libretro:/usr/local/share/cloud-game/libretro + - ${APP_DIR:-/cloud-game}/home:/root/.cr + - x11:/tmp/.X11-unix + healthcheck: + test: curl -f https://cloudretro.io/echo || exit 1 + interval: 2m + timeout: 10s + retries: 3 + start_period: 40s + start_interval: 5s services: @@ -21,26 +47,30 @@ services: - ${APP_DIR:-/cloud-game}/games:/usr/local/share/cloud-game/assets/games - ${APP_DIR:-/cloud-game}/home:/root/.cr - worker: - <<: *default-params - depends_on: - - coordinator - deploy: - mode: replicated - replicas: 4 + worker01: + <<: [ *default-params, *worker ] environment: - - DISPLAY=:99 - - MESA_GL_VERSION_OVERRIDE=4.5 - - CLOUD_GAME_WORKER_LIBRARY_BASEPATH=/usr/local/share/cloud-game/assets/games - - CLOUD_GAME_EMULATOR_LIBRETRO_CORES_PATHS_LIBS=/usr/local/share/cloud-game/assets/cores - command: ./worker - volumes: - - ${APP_DIR:-/cloud-game}/cache:/usr/local/share/cloud-game/assets/cache - - ${APP_DIR:-/cloud-game}/cores:/usr/local/share/cloud-game/assets/cores - - ${APP_DIR:-/cloud-game}/games:/usr/local/share/cloud-game/assets/games - - ${APP_DIR:-/cloud-game}/libretro:/usr/local/share/cloud-game/libretro - - ${APP_DIR:-/cloud-game}/home:/root/.cr - - x11:/tmp/.X11-unix + - CLOUD_GAME_WORKER_SERVER_TLS_ADDRESS=:444 + healthcheck: + test: curl -f https://cloudretro.io:444/echo || exit 1 + worker02: + <<: [ *default-params, *worker ] + environment: + - CLOUD_GAME_WORKER_SERVER_TLS_ADDRESS=:445 + healthcheck: + test: curl -f https://cloudretro.io:445/echo || exit 1 + worker03: + <<: [ *default-params, *worker ] + environment: + - CLOUD_GAME_WORKER_SERVER_TLS_ADDRESS=:446 + healthcheck: + test: curl -f https://cloudretro.io:446/echo || exit 1 + worker04: + <<: [ *default-params, *worker ] + environment: + - CLOUD_GAME_WORKER_SERVER_TLS_ADDRESS=:447 + healthcheck: + test: curl -f https://cloudretro.io:447/echo || exit 1 xvfb: image: kcollins/xvfb:latest diff --git a/Dockerfile b/Dockerfile index abae4a678..837b41900 100644 --- a/Dockerfile +++ b/Dockerfile @@ -76,6 +76,7 @@ COPY --from=build_coordinator /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ FROM ubuntu:lunar AS worker RUN apt-get -q update && apt-get -q install --no-install-recommends -y \ + curl \ libx11-6 \ libxext6 \ && apt-get autoremove \