neko_rooms

package module
v1.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 26, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

README

neko-rooms

release license pulls issues Chat on discord

Simple room management system for n.eko. Self hosted rabb.it alternative.

rooms new room n.eko

Zero-knowledge installation (with HTTPS and Traefik)

If you don't have any clue about docker and stuff but only want to have fun with friends in a shared browser, we got you covered!

  • Rent a VPS with public IP and OS Ubuntu.
  • Get a domain name pointing to your IP (you can even get some for free).
  • Run install script and follow instructions.
  • Secure using HTTPs thanks to Let's Encrypt and Traefik.
wget -O neko-rooms.sh https://raw.githubusercontent.com/m1k1o/neko-rooms/master/traefik/install
sudo bash neko-rooms.sh

How to start

If you want to use Traefik as reverse proxy, visit installation guide for traefik as reverse proxy.

Otherwise modify variables in docker-compose.yml and just run docker-compose up -d.

Download images / update

You need to pull all your images, that you want to use with neko-room. Otherwise, you might get this error: Error response from daemon: No such image: (see issue #1).

docker pull m1k1o/neko:firefox
docker pull m1k1o/neko:chromium
# etc...

If you want to update neko image, you need to pull new image and recreate all rooms, that use old image. To update neko rooms, simply run:

docker-compose pull
docker-compose up -d
Enable storage

You might have encountered this error:

Mounts cannot be specified because storage is disabled or unavailable.

If you didn't specify storage yet, you can do it using this tutorial.

Use nvidia GPU

If you want to use nvidia GPU, you need to install nvidia-docker.

Change neko images to nvidia images in docker-compose.yml using envorinment variable NEKO_ROOMS_NEKO_IMAGES:

NEKO_ROOMS_NEKO_IMAGES="
  ghcr.io/m1k1o/neko/nvidia-chromium:latest
  ghcr.io/m1k1o/neko/nvidia-google-chrome:latest
  ghcr.io/m1k1o/neko/nvidia-microsoft-edge:latest
  ghcr.io/m1k1o/neko/nvidia-brave:latest
"

When creating new room, you need to specify to use GPU in expext settings.

Docs

For more information visit docs.

Roadmap:
  • add GUI
  • add HTTPS support
  • add authentication provider for traefik
  • allow specifying custom ENV variables
  • allow mounting directories for persistent data
  • optionally remove Traefik as dependency
  • add upgrade button
  • auto pull images, that do not exist
  • add bearer token to for API
  • add docker SSH / TCP support
  • add docker swarm support
  • add k8s support

Documentation

Index

Constants

View Source
const Header = `` /* 452-byte string literal not displayed */

Variables

This section is empty.

Functions

This section is empty.

Types

type Configs

type Configs struct {
	Root   *config.Root
	Server *config.Server
	Room   *config.Room
}

type MainCtx

type MainCtx struct {
	Version *Version
	Configs *Configs
	// contains filtered or unexported fields
}
var Service *MainCtx

func (*MainCtx) Preflight

func (main *MainCtx) Preflight()

func (*MainCtx) ServeCommand

func (main *MainCtx) ServeCommand(cmd *cobra.Command, args []string)

func (*MainCtx) Shutdown

func (main *MainCtx) Shutdown()

func (*MainCtx) Start

func (main *MainCtx) Start()

type Version

type Version struct {
	Major     string
	Minor     string
	Patch     string
	GitCommit string
	GitBranch string
	BuildDate string
	GoVersion string
	Compiler  string
	Platform  string
}

func (*Version) Details

func (i *Version) Details() string

func (*Version) String

func (i *Version) String() string

Directories

Path Synopsis
cmd
internal
api
pkg
prefix
Package prefix implements a tree data structure that can be used to store and retrieve values based on a path prefix.
Package prefix implements a tree data structure that can be used to store and retrieve values based on a path prefix.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL