mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-11 00:05:36 +02:00
✨feat: Updated Documentation (#127)
Added GitHub contributors to the homepage and and added the the Container CLI section with @DatCaptainHorse . --------- Co-authored-by: Diefferson Koderer Môro <diefferson.moro@gmail.com>
This commit is contained in:
committed by
GitHub
parent
be17ba026b
commit
565c459a5b
70
apps/docs/components/content/Contributors.vue
Normal file
70
apps/docs/components/content/Contributors.vue
Normal file
@@ -0,0 +1,70 @@
|
||||
<template>
|
||||
|
||||
|
||||
|
||||
<div class="py-8">
|
||||
<h2 class="text-3xl lg:text-4xl font-bold mb-12 text-gray-900">
|
||||
Contributors made <span class="text-orange-500">Nestri</span>
|
||||
</h2>
|
||||
<div class="grid grid-cols-4 sm:grid-cols-5 md:grid-cols-8 gap-4 sm:gap-5 lg:gap-6">
|
||||
<div
|
||||
v-for="(contributor, index) in contributors"
|
||||
:key="index"
|
||||
class="pt-[100%] relative"
|
||||
>
|
||||
<NuxtLink
|
||||
v-if="contributor.login"
|
||||
:key="contributor.login"
|
||||
:to="`https://github.com/${contributor.login}`"
|
||||
class="absolute inset-0 flex transition-all"
|
||||
:style="{
|
||||
'transition-delay': `${(index % 8 + Math.floor(index / 8)) * 20}ms`
|
||||
}"
|
||||
>
|
||||
<UTooltip class="w-full text-orange-500" :text="contributor.login">
|
||||
<NuxtImg
|
||||
:src="contributor.avatar_url"
|
||||
provider="ipx"
|
||||
densities="x1 x2"
|
||||
height="80px"
|
||||
width="80px"
|
||||
:alt="contributor.login"
|
||||
loading="lazy"
|
||||
class="rounded-xl w-full h-full transition lg:hover:scale-110"
|
||||
/>
|
||||
</UTooltip>
|
||||
<span class="inline-block rounded-t px-1 bg-gray-950 text-white absolute -bottom-2 right-0 font-medium text-sm">
|
||||
<span class="font-light text-xs text-gray-400">#</span>{{ index + 1 }}
|
||||
</span>
|
||||
|
||||
</NuxtLink>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from 'vue'
|
||||
|
||||
const contributors = ref([])
|
||||
|
||||
// Fetch contributors data from GitHub without authentication
|
||||
const fetchContributors = async () => {
|
||||
try {
|
||||
const response = await fetch('https://api.github.com/repos/nestriness/nestri/contributors')
|
||||
if (!response.ok) throw new Error('Failed to fetch contributors')
|
||||
contributors.value = await response.json()
|
||||
} catch (error) {
|
||||
console.error('Error fetching contributors:', error)
|
||||
}
|
||||
}
|
||||
|
||||
// Fetch contributors when component is mounted
|
||||
onMounted(fetchContributors)
|
||||
</script>
|
||||
<style>
|
||||
:hover.
|
||||
</style>
|
||||
@@ -46,3 +46,10 @@ Play your favorite games on the go or with your friends on your own game cloud.
|
||||
::-->
|
||||
::
|
||||
|
||||
|
||||
|
||||
::contributors
|
||||
|
||||
|
||||
|
||||
::
|
||||
@@ -1,8 +1,10 @@
|
||||
# What is Nestri?
|
||||
|
||||
Nestri is a self-hosted cloud-gaming solution that allows you to stream and play your own games remotely from any device with a browser. Similar to services like NVIDIA GeForce Now, Nestri lets you enjoy high-performance gaming without being physically tied to your gaming PC. The key difference is that Nestri is entirely self-hosted, meaning you have complete control over the server, the games you install, and the overall setup.
|
||||
Nestri is a self-hosted cloud gaming platform that enables you to spin up dedicated gaming sessions remotely and play your own games from any device with a browser. Unlike remote desktop solutions like Parsec, which focus on streaming a desktop environment, Nestri is designed specifically for cloud gaming. It works similarly to services like NVIDIA GeForce Now, allowing you to enjoy high-performance gaming without needing to be physically near your gaming PC.
|
||||
|
||||
The key difference with Nestri is that it’s entirely self-hosted, so you have full control over the server, the games you install, and the entire setup. Nestri is ideal for gamers who prioritize privacy, flexibility, and control, offering a way to manage your own gaming infrastructure rather than relying on third-party services. As long as you have a stable internet connection and access to a web browser, you can game from virtually anywhere.
|
||||
|
||||
|
||||
Nestri is designed for gamers who value privacy, flexibility, and control, making it the ideal choice for those who prefer to manage their own infrastructure rather than rely on third-party services. You can play your games from virtually anywhere, as long as you have access to a web browser and a stable internet connection.
|
||||
## Nestri Modules
|
||||
|
||||
To provide a smooth and efficient gaming experience, Nestri is composed of the following key components:
|
||||
|
||||
19
apps/docs/content/1.introduction/2.faq.md
Normal file
19
apps/docs/content/1.introduction/2.faq.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# FAQ
|
||||
|
||||
|
||||
## Is Nestri free?
|
||||
Yes! Nestri offers two options: a free, self-hosted version and a paid, hosted version.
|
||||
- Self-Hosted Version (Free): If you have your own server, you can install and run Nestri for free. Since Nestri is open-source, you have full access to the codebase, allowing for transparency and flexibility in your setup.
|
||||
- Hosted Version (Paid): The hosted version of Nestri operates similarly to services like NVIDIA GeForce Now. With a subscription, you can play your games on Nestri’s infrastructure without needing any technical knowledge—just sign up, log in, and start gaming!
|
||||
|
||||
## Does Nestri require a high-speed internet connection?
|
||||
Yes, a stable and fast internet connection is essential for a smooth gaming experience. While you don’t need extremely high speeds (like 1 Gbps fiber), low latency is critical. Since cloud gaming is sensitive to delay, your device needs to connect to one of our relays with minimal lag. Ensuring a strong, stable network connection close to a relay server is important to avoid delays in gameplay, especially during fast-paced action sequences.
|
||||
|
||||
## Where are Nestri’s relays located?
|
||||
Currently, we have one relay deployed in Helsinki, Finland. As we grow, we plan to add more relays to reduce latency and improve connection quality for users in different regions. Our next planned relay is in Copenhagen, Denmark. Since we’re a startup with a limited budget, we’ll continue to roll out more relays as demand grows and more users join the platform.
|
||||
|
||||
## Is Nestri like Parsec?
|
||||
No, Nestri is not like Parsec, which is used to access and game on an existing desktop remotely. Nestri is a server application designed specifically for cloud gaming. Rather than connecting to a physical Windows desktop, Nestri runs your games within a Docker or Podman container, allowing you to play remotely without needing to access a traditional desktop environment.
|
||||
|
||||
## Do I need a high-end server with a 4090 GPU and a 64-core CPU?
|
||||
Not necessarily! Nestri doesn’t have strict hardware requirements in terms of having the latest or most powerful CPU or GPU. Just as with traditional gaming, better hardware will enhance your experience with improved graphics and higher FPS. The exact specs you need will depend on the games you want to play and the performance you’re aiming for. Keep in mind that, because Nestri runs games on Linux using Proton and the Gstreamer encoding, there will be a bit of additional processing required, so some extra power will be helpful.
|
||||
@@ -1,8 +1,10 @@
|
||||
# Prerequisite
|
||||
|
||||
In order to run Nestri on your own server, there are a few things you need to prepare before you can start installing nestri-node. On this page we go through the requirements needed to get started with Nestri.
|
||||
To run Nestri on your own server, there are several essential preparations required before installing nestri-node. This page outlines the key requirements to get Nestri up and running smoothly.
|
||||
|
||||
Although it may be very tempting to skip this step, you shouldn't! You will save yourself a lot of headaches and wasted hours because something doesn't work due to lack of setup beforehand.
|
||||
Nestri-node supports AMD, NVIDIA, and Intel graphics cards. For optimal performance, however, we recommend using Intel or NVIDIA GPUs. Our testing has shown that these GPUs provide the best results, while AMD graphics cards may encounter limitations due to partial support for Arch Linux in AMD's AMF drivers. As a workaround, we utilize the VA-API plugin for GStreamer with AMD cards to ensure functionality.
|
||||
|
||||
While it might be tempting to skip this setup, we advise against it. Taking the time to prepare now will help you avoid potential issues and wasted hours later.
|
||||
|
||||
## Hardware Requirements
|
||||
|
||||
|
||||
22
apps/docs/content/2.nestri-node/5.container-cli.md
Normal file
22
apps/docs/content/2.nestri-node/5.container-cli.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Container CLI
|
||||
The Container CLI for Nestri provides parameters to configure and manage your container environment. Use these options to set values like `relay-url`, `video resolution`, and `frame rate`. Additionally, activate `verbose` mode and logging to assist in debugging and error tracking. This documentation details each parameter to help you optimize your container setup effectively
|
||||
|
||||
|
||||
| **Parameter** | **Type** | **Default** | **Description** |
|
||||
| ---------------------------- | ---------- | --------------------- | ---------------------------------------------------------------------------------------------------- |
|
||||
| `-v, --verbose` | `string` | false | Shows more logs, for issues we recommend turning it on before running nestri-server and sending the logs for debugging (i.e. `nestri-server --verbose=true > logs.txt`) |
|
||||
| `-d, --debug-feed` | `string` | false | Adds a timer overlay at bottom-right in the video stream, along with spawning an X11 window on host for doing comparisons against |
|
||||
| `-u, --relay-url` | `string` | https://relay.fst.so | [MoQ relay](/nestri-relay/what-is-nestri-node) endpoint URL (must begin with `https://` as MoQ __can't work with unsafe connections__) |
|
||||
| `-p, --relay-path` | `string` | default generated on start if not set | namespace/path for the stream, identifies the stream (basically stream name), must be unique |
|
||||
| **Video** | | | |
|
||||
| `-r, --resolution ` | `string` | 1280x720 | Sets nestri virtual display + stream resolution using `WIDTHxHEIGHT` format |
|
||||
| `-f, --framerate` | `integer` | 60 | Framerate for nestri virtual display + stream |
|
||||
| `-g, --gpu-vendor` | `string` | | allows selecting specific GPU by vendor name (`nvidia`, `amd` or `intel`) |
|
||||
| `-i, --gpu-index` | `string` | | allows selecting a GPU by it's general name, doesn't have to be full name as it's matched partially (i.e. `3060` would get you `RTX 3060` GPU, but it would also let `RTX 3060 Ti` pass) |
|
||||
| `-a, --gpu-card-path` | `string` | | allows specifying GPU by `/dev/dri/cardX` or `/dev/dri/renderX` path, this won't work with the other 3 gpu parameters as it's explicitly setting the GPU |
|
||||
| **Encoder** | | | |
|
||||
| `-c, --encoder-vcodec` | `string` | h264 | Sets the stream video codec (`h264` or `av1`) |
|
||||
| `-t, --encoder-type` | `string` | hardware | Sets whether to use GPU encoder (`hardware`), or CPU encoder (`software`, only should be used with debugging or if GPU has no encoding capabilities) |
|
||||
| `-e, --encoder-name` | `string` | | forces a specific encoder by GStreamer element name (i.e. `vah264enc`) |
|
||||
| `-q, --encoder-cqp` | `string` | 25 | sets the stream quality level, lower means higher quality and much more bitrate used |
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
export default defineNuxtConfig({
|
||||
// https://github.com/nuxt-themes/docus
|
||||
extends: ['@nuxt-themes/docus'],
|
||||
components: true,
|
||||
|
||||
|
||||
devtools: { enabled: true },
|
||||
|
||||
modules: [
|
||||
// Remove it if you don't use Plausible analytics
|
||||
// https://github.com/nuxt-modules/plausible
|
||||
'@nuxtjs/plausible'
|
||||
],
|
||||
modules: [// Remove it if you don't use Plausible analytics
|
||||
// https://github.com/nuxt-modules/plausible
|
||||
'@nuxtjs/plausible', '@nuxt/ui'],
|
||||
|
||||
compatibilityDate: '2024-09-29'
|
||||
})
|
||||
@@ -13,6 +13,7 @@
|
||||
"@nuxt-themes/docus": "latest",
|
||||
"@nuxt/devtools": "^1.4.1",
|
||||
"@nuxt/eslint-config": "^0.5.6",
|
||||
"@nuxt/ui": "^2.19.2",
|
||||
"@nuxtjs/plausible": "^1.0.2",
|
||||
"@types/node": "^20.16.5",
|
||||
"eslint": "^9.10.0",
|
||||
|
||||
2044
package-lock.json
generated
2044
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user