Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demo video and small features / refacto #79

Merged
merged 15 commits into from
Dec 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,24 @@
[![Discord](https://img.shields.io/discord/856434175455133727?style=for-the-badge&logo=discord&logoColor=ffffff&label=Chat%20with%20us&labelColor=6A7EC2&color=7389D8)](https://discord.gg/dCxDVfVnSD)
[![GitHub License](https://img.shields.io/github/license/PierreBeucher/cloudypad?style=for-the-badge&color=00d4c4)](./LICENSE.txt)


Cloudy Pad lets you deploy a Cloud gaming server anywhere in the world and play your own games - without requiring a powerful gaming machine or a costly subscription:

- Run any application (**Steam**, Pegasus, Firefox...) thanks to [Wolf streaming server](https://games-on-whales.github.io/wolf/stable/)
- Stream with **[Moonlight](https://moonlight-stream.org/)** client
- Run your games through **[Steam](https://store.steampowered.com/)**, **[Pegasus](https://pegasus-frontend.org/)** or **[Lutris](https://lutris.net/)**
- Deploy on **AWS**, **Google Cloud**, **Azure** or **Paperspace**
- Use **Spot instances** for up to **90% cheaper** instances with some Clouders
- Use **Spot instances** for up to **90% cheaper** instances
- Play **30 hours per month** for **~15$ / month or less**
- **Pay by the hour, no subscription** required
- Compatible with **[Moonlight](https://moonlight-stream.org/)** streaming client

![](docs/src/assets/cloudypad-overview.png)
**Not familiar with Cloud Gaming ?** See [What's Cloud Gaming and how is Cloudy Pad useful ?](./docs/src/what-is-cloud-gaming.md)

**[📜 See full documentation](https://cloudypad.gg)**
[![](./docs/src/assets/demo.gif)](https://cloudypad.gg)

**Not familiar with Cloud Gaming ?** See [What's Cloud Gaming and how is Cloudy Pad useful ?](./docs/src/what-is-cloud-gaming.md)
**[📜 Full documentation](https://cloudypad.gg)**

[**🫰 Cost estimation per Cloud provider**](https://cloudypad.gg/cost/index.html)

[![Discord](https://img.shields.io/discord/856434175455133727?style=for-the-badge&logo=discord&logoColor=ffffff&label=Chat%20with%20us&labelColor=6A7EC2&color=7389D8)](https://discord.gg/dCxDVfVnSD)

---

Expand Down
9 changes: 9 additions & 0 deletions ansible/roles/wolf/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Instance name set on Wolf and shown by Moonlight client
wolf_instance_name: wolf

# Image versions to use for each apps
# Lock version with hash for better reproducibility
wolf_app_steam_image: ghcr.io/games-on-whales/steam:edge@sha256:9130e7b4cfe1e82979148e7ff89ef95886d5f7a2bf60a7ba4d0cdbf720347bf0
wolf_app_lutris_image: ghcr.io/games-on-whales/lutris:edge@sha256:47efba06507c3d8b02e324ce3582ac355abb5a12985c30eec5f93828fa628b05
wolf_app_pegasus_image: ghcr.io/games-on-whales/pegasus:edge@sha256:f8ab22c55bc2234475662766f53d75074b9b4e31abeb7840a21c847e6ec77559
wolf_app_retroarch_image: ghcr.io/games-on-whales/retroarch:edge@sha256:c45d4473da0fd2294be61b8fc3bb30f5f713ef97a0aa41d0a6e7f0a94ed51330
17 changes: 16 additions & 1 deletion ansible/roles/wolf/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,11 @@
command:
cmd: "{{ ansible_user_dir }}/wolf/docker-nvidia-volume.sh"

- name: Copy Wolf config.toml
template:
src: wolf-config.toml
dest: "{{ ansible_user_dir }}/wolf/config.toml"

- name: Copy docker-compose file
template:
src: docker-compose.nvidia.yml
Expand All @@ -112,4 +117,14 @@
- name: Run docker compose stack
community.docker.docker_compose_v2:
project_src: "{{ ansible_user_dir }}/wolf"
files: docker-compose.nvidia.yml
files: docker-compose.nvidia.yml

- name: Copy Docker Compose preheat pull file
ansible.builtin.template:
src: docker-compose.app-preheat.yml
dest: "{{ ansible_user_dir }}/wolf/docker-compose.app-preheat.yml"

- name: Pull images using preheat Compose file
community.docker.docker_compose_v2_pull:
project_src: /tmp
files: "{{ ansible_user_dir }}/wolf/docker-compose.app-preheat.yml"
11 changes: 11 additions & 0 deletions ansible/roles/wolf/templates/docker-compose.app-preheat.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Only references images used by Wolf
# This Compose is used to pull all images in parallel for faster subequent startup when using Wolf
services:
wolf_app_steam:
image: {{ wolf_app_steam_image }}
wolf_app_lutris:
image: {{ wolf_app_lutris_image }}
wolf_app_pegasus:
image: {{ wolf_app_pegasus_image }}
wolf_app_retroarch:
image: {{ wolf_app_retroarch_image }}
1 change: 1 addition & 0 deletions ansible/roles/wolf/templates/docker-compose.nvidia.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ services:
# Used by other containers created by wolf. Do not change
- /etc/wolf/:/etc/wolf:rw
- /etc/wolf/cfg:/etc/wolf/cfg:rw
- "{{ ansible_user_dir }}/wolf/config.toml:/etc/wolf/cfg/config.toml"
- /tmp/sockets:/tmp/sockets:rw
- /var/run/docker.sock:/var/run/docker.sock:rw
- /dev/:/dev/:rw
Expand Down
Loading