GithubHelp home page GithubHelp logo

nubosoftware / linux-remote-desktop Goto Github PK

View Code? Open in Web Editor NEW
306.0 14.0 34.0 2.89 MB

Linux based secure, open source, multi-tenant environment for remote work.

License: Apache License 2.0

Dockerfile 3.79% Shell 12.36% JavaScript 83.85%
remote remote-desktop rdp docker remote-work

linux-remote-desktop's Introduction

Linux Remote Desktop

VDI that's based on Linux Containers

This project creates a secure, open source, multi-tenant VDI environment for remote work. Users in your organization can access a remote Linux OS based desktop, run applications, as well as access other important resources. The remote environment is based on a docker container, is efficient and scalable, and can be deployed to an unlimited number of users. A web admin control panel is available to allow admins to control the organization's environment.

The project is based on many open source projects, such as:

  • xrdp - an open source RDP server
  • Apache Guacamole - clientless remote desktop gateway
  • Nubo - Secure remote environment
  • Ubuntu Xrdp - multi user remote desktop Server in docker container.

Getting Started

Please follow the detailed Getting Started Guide which provides step-by-step instructions on how to install and configure a full working VDI system on a Linux server.

For a sneak peek - running the bootstrap script using docker.

Required: Linux system with docker engine installed.

Copy & paste the following on your terminal:

sudo curl -L https://github.com/nubosoftware/linux-remote-desktop/releases/download/0.9.1/bootstrap.sh -o /usr/local/bin/nubo-bootstrap.sh ; sudo chmod +x /usr/local/bin/nubo-bootstrap.sh ; sudo /usr/local/bin/nubo-bootstrap.sh

Live Demo

Live demo of end user's client is available at: Linux Remote Desktop Demo

To get a live demo of the Admin Control Panel, please email us at: [email protected]

Building and Running from Source Code

Information is available at docs folder

Screenshots

Example of a user’s remote desktop (available in a Chrome browser) Desktop Admin control panel – App management Admin control panel

linux-remote-desktop's People

Contributors

ivdok avatar nubosoftware avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linux-remote-desktop's Issues

PUT request on invite

Hi. I installed nobu remote desktop and register my users.

  1. I was add them on profiles tab and try send invite to they email addresses, but on PUT request /api/profiles/my-users%40my-domain/invite i got that response from api
status	"0"
message	Object { code: "EAUTH", response: "535 Authentication Credentials Invalid", responseCode: 535, … }
code	"EAUTH"
response	"535 Authentication Credentials Invalid"
responseCode	535
command	"AUTH PLAIN"

nubo-frontend doesn't logs any events, how i can debug any things?

  1. Where i can read any docs about configurations?, for example email settings

  2. You didn't say any word about customs network for every docker container

https - secure communication with Desktop Client

Hi team,

I set up the system exactly according to

https://github.com/nubosoftware/linux-remote-desktop/blob/main/docs/getting-started-guide.md

Everything went smoothly, however, I have problems with accessing the server as

The main page (not for administration) does not open, since the certificate is self-signed and this is not accepted in many cases.
I do have my own CA issued certificates, I put them in docker-compose.xml, see here:


environment:
REGISTRY_HTTP_TLS_CERTIFICATE: /cert/xy-space.de.crt
REGISTRY_HTTP_TLS_KEY: /cert/xy-space.de.key
REGISTRY_AUTH: htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
REGISTRY_AUTH_HTPASSWD_PATH: /cert/htpasswd
REGISTRY_STORAGE_DELETE_ENABLED: 'true'

I changed in nubomanagement/.../Settings.json

the serverurl from http: to https:

"serverurl": "https://rds.xy-space.de/",

Still my certificate authority issued certificates do not get used (yes, they are readable). I verified with my browser which gives the information on the certificates.

How do you properly set up https (secure setup) for using the Desktop Client?

P. S. In the logs there ARE some errors (probably unrelated) but I wonder what their meaning is for the production server


2022-08-01T21:12:03.287Z nubo-ps platform_server[9] error: Cannot read ../cert/root.crt file, err: Error: ENOENT: no such file or directory, open '../cert/root.crt'
2022-08-01T21:12:03.289Z nubo-ps platform_server[9] error: Cannot read ../cert/platformFull.crt file, err: Error: ENOENT: no such file or directory, open '../cert/platformFull.crt'
2022-08-01T21:12:11.694Z nubo-frontend nubomanagement-public[17] error: Cannot read ../cert/root.crt file, err: Error: ENOENT: no such file or directory, open '../cert/root.crt'
2022-08-01T21:12:11.691Z nubo-frontend nubomanagement-public[17] error: Cannot read ../cert/root.crt file, err: Error: ENOENT: no such file or directory, open '../cert/root.crt'
terve:/opt/nubo # docker logs nubo-rsyslog | grep Error
2022-08-01T21:12:03.286Z nubo-ps platform_server[9] info: initMachine cannot load machine details: Error: ENOENT: no such file or directory, open './machine.conf'
2022-08-01T21:12:03.287Z nubo-ps platform_server[9] error: Cannot read ../cert/root.crt file, err: Error: ENOENT: no such file or directory, open '../cert/root.crt'
2022-08-01T21:12:03.289Z nubo-ps platform_server[9] error: Cannot read ../cert/platformFull.crt file, err: Error: ENOENT: no such file or directory, open '../cert/platformFull.crt'
2022-08-01T21:12:03.289Z nubo-ps platform_server[9] error: Cannot read ../cert/platform.key file, err: Error: ENOENT: no such file or directory, open '../cert/platform.key'
2022-08-01T21:12:03.526Z nubo-ps platform_server[9] error: Unable to register on management (http://nubo-management:8080). err: Error: connect ECONNREFUSED 192.168.0.4:8080 Error: connect ECONNREFUSED 192.168.0.4:8080
2022-08-01T21:12:05.241Z nubo-gateway nubogateway[9] info: Cannot register gateway. Error: Error: connect ECONNREFUSED 172.30.0.3:8080
2022-08-01T21:12:08.564Z nubo-management nubomanagement[29] error: selfRegisterPlatformTtl error: Error: Platform registration not found! Error: Platform registration not found!
2022-08-01T21:12:11.694Z nubo-frontend nubomanagement-public[17] error: Cannot read ../cert/root.crt file, err: Error: ENOENT: no such file or directory, open '../cert/root.crt'
2022-08-01T21:12:11.691Z nubo-frontend nubomanagement-public[17] error: Cannot read ../cert/root.crt file, err: Error: ENOENT: no such file or directory, open '../cert/root.crt'
2022-08-01T21:12:38.811Z nubo-ps platform_server[9] info: Error create symlink for debs folder: Error: ENOENT: no such file or directory, unlink '/opt/platform_server/debs'
2022-08-01T21:12:38.871Z nubo-management nubomanagement-daemon[35] info: Common.mailer.send: Error: 140529894988592:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:331:
2022-08-02T03:02:03.314Z nubo-frontend nubomanagement-public[17] error: Error serving /favicon.ico - Not Found
2022-08-02T03:02:16.744Z nubo-frontend nubomanagement-public[17] error: Error serving /favicon.ico - Not Found
2022-08-02T03:02:20.357Z nubo-frontend nubomanagement-public[17] error: Error serving /favicon.ico - Not Found
2022-08-02T03:02:20.947Z nubo-frontend nubomanagement-public[17] error: Error serving /favicon.ico - Not Found
2022-08-02T03:02:25.966Z nubo-frontend nubomanagement-public[17] error: Error serving /favicon.ico - Not Found

Martin.

P. S. The admin control panel is accessible, no problem here.

Possibilities to change keyboard layout

Hi team,

I use a German layout keyboard. When running the desktop, in the settings, I can change the keyboard layout to "German" but this does not get applied (not even after logging out and logging in again).

In the log file (docker logs nubo-rsyslog) I read


nubo-gateway guacd[27] info: Loading keymap "en-us-qwerty"

What is the proper way to change the keyboard layout in nubo?

For help very grateful,

Martin.

Can you specify the sender?

Can you specify the sender?
Without a valid sender, my SMTP provider gives me the error "info: email error: Error: Mail command failed: 550 not local sender over smtp"

Multiple containers?

Can we have multiple containers? Like one with Ubuntu and one with Redhat-docker linked at the same time? And how can we administer this?

Doesn't work on linux/arm64 platform

It gives error:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

ERROR: for nubo-frontend Cannot start service nubo-frontend

I am not in dire need for this to work I had just wanted to test it. I figured I would share my issues encase its a broad one and can do further testing on different versions.

I am running AlmaLinux release 8.5 (Arctic Sphynx)

I followed the instructions to just copy and paste the curl script.

I am getting an already in use error when it tries to run through the script

`nubo-management is up-to-date
Creating nubo-frontend ...
Host is already in use by another container
Creating nubo-frontend ... error

ERROR: for nubo-frontend  Cannot start service nubo-frontend: driver failed programming external connectivity on endpoint nubo-frontend (54e10670acebf1edf8414fb85ed3e9b5e45d692a3b4dd0ebe043a8cdb10c7ad6): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
Creating nubo-ps       ... done
Creating nubo-guac     ... done

ERROR: for nubo-frontend  Cannot start service nubo-frontend: driver failed programming external connectivity on endpoint nubo-frontend (54e10670acebf1edf8414fb85ed3e9b5e45d692a3b4dd0ebe043a8cdb10c7ad6): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
Encountered errors while bringing up the project.
`

I also see a separate error a few lines up and am unsure if it is relevant.

`Configuring organization and user...
Starting all containers...
Error Error: Command failed: /usr/local/bin/docker-compose up -d
The MYSQL_PASSWORD variable is not set. Defaulting to a blank string.
`

When I check ss | grep 443 it shows

`@remote ~]$ ss | grep 443
u_str ESTAB  0      0      /run/containerd/s/0f09fb62a98fa9acb443ab08da637750f5dbc3de8c69af213598d7d486baf4b1 109912               * 109906
`

Now that container may be irreverent because it doesn't look like anything is even using port 443.

Session creation failed. message: 'Internal error. Please contact administrator.'

Hello. I create the user, but when i go to the desktop link i get "Session creation failed. message: 'Internal error. Please contact administrator.' " The syslog have:
-nubomanagement Error in createImageForUser: Error: Unable to build image
-buildUserSession: Error: Unable to build image

  • startOrJoinSession: couldn't create user session
    -startSession: starting user session failed. err: {}
  • response to client: { "status": 0, "message": "Internal error. Please contact administrator." }

There are solutions?
Thanks

Which data is sent to Nubo Software Ltd.? GDPR compliance?

Hi team,

in the frontend I saw this setting:


"NotificationGateway": {
"smsUrl": "https://gl.nubosoftware.com/SmsNotification/sendSmsNotificationFromRemoteServer",
"url": "https://gl.nubosoftware.com/Notifications/sendNotificationFromRemoteServer",
"serverID": "DEFAULT",
"authKey": "DEFAULT"
},

May I kindly ask you which kind of data is sent to Nubo Software Ltd.?
Is this anonymised? Is there an opt-out rule?
I wonder about GDPR compliance,

thank you in advance,

Martin.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.