Giter VIP home page Giter VIP logo

azukaar / cosmos-server Goto Github PK

View Code? Open in Web Editor NEW
3.1K 34.0 112.0 14.28 MB

☁️ The Most Secure and Easy Selfhosted Home Server. Take control of your data and privacy without sacrificing security and stability (Authentication, anti-DDOS, anti-bot)

Home Page: https://cosmos-cloud.io

License: Other

JavaScript 69.89% Go 29.13% HTML 0.03% TypeScript 0.65% CSS 0.15% Shell 0.14%
authentication cloud cosmos reverse-proxy security self-hosted self-hosting selfhosted selfhosting server sso

cosmos-server's Introduction

banner


Thanks to the sponsors:


null Seraph91P null null null null Dér Kristóf Gordon null Phobes null Ricardo Escaran null null null Ivan null


DiscordLink CircleCI Docker Pulls

☁️ Cosmos is the most secure and easy way to self-host a Home Server. It acts as a secure gateway to your application, as well as a server manager. It aims to solve the increasingly worrying problem of vulnerable self-hosted applications and personal servers.





screenshot1

Whether you have a server, a NAS, or a Raspberry Pi with applications such as Plex, HomeAssistant or even a blog, Cosmos is the perfect solution to run and secure them all. Simply install Cosmos on your server and connect to your applications through it to enjoy built-in security and robustness for all your services, right out of the box.

Cosmos is:

  • App Store 📦📱 To easily install and manage your applications, with simple installers, automatic updates and security checks. This works alongside manual installation methods, such as importing docker-compose files, or the docker CLI
  • Storage Manager 📂🔐 To easily manage your disks, including Parity Disks and MergerFS
  • Reverse-Proxy 🔄🔗 Targeting containers, other servers, or serving static folders / SPA with automatic HTTPS, and a nice UI
  • Authentication Server 🔐👤 With strong security, multi-factor authentication and multiple strategies (OpenId, forward headers, HTML)
  • Customizable Homepage 🏠🖼 To access all your applications from a single place, with a beautiful and customizable UI
  • Container manager 🐋🔧 To easily manage your containers and their settings, keep them up to date as well as audit their security. Includes docker-compose support!
  • VPN 🌐🔒 To securely access your applications from anywhere, without having to open ports on your router.
  • Monitoring 📈📊 Fully persisting and real-time monitoring with customizable alerts and notifications, so you can be notified of any issue.
  • Identity Provider 👦👩 To easily manage your users, invite your friends and family to your applications without awkardly sharing credentials. Let them request a password change with an email rather than having you unlock their account manually!
  • SmartShield technology 🧠🛡 Automatically secure your applications without manual adjustments (see below for more details). Includes anti-bot and anti-DDOS strategies.
  • CRON 🕒🔧 To easily schedule tasks on the server or inside containers

It has been built to be:

  • Easy to use 🚀👍 to install and use, with a simple web UI to manage your applications from any device
  • Powerful 🧠🔥 Being easy does not mean being dumb: while Cosmos is easy to use, it is also powerful and flexible, you can even use it from the terminal if you want to!
  • User-friendly 🧑‍🎨 For both new and experienced users: easily integrates into your existing home server, the already existing applications you have, and the new ones you want to install
  • Secure 🔒🔑 Connect to all your applications with the same account, including strong security, multi-factor authentication and OpenId. Cosmos encrypt your data and protect your privacy. Security by design, and not as an afterthought
  • Anti-Bot 🤖❌ Collection of tools to prevent bots from accessing your applications, such as common bot detection, IP based detection, and more
  • Anti-DDOS 🔥⛔️ Additional protections such as variable timeouts/throttling, IP rate limiting and geo-blacklisting
  • Modular 🧩📦 to easily add new features and integrations, but also run only the features you need (for example No docker, no Databases, or no HTTPS)

And a lot more planned features are coming!

What are the differences with other alternatives?

Cosmos has a few key differences with other alternatives such as YunoHost, Unraid, etc...


* Only containers created with their UI, with no customization, ** No alerts

  • Security: Cosmos has a unique strong focus on securing your application with exclusive features such as the smart-shield. It has 2FA, OpenID, anti-DDOS, and other security features built-in. It also has a strong focus on privacy, with the latest encryption methods and a strong focus on data protection. Unlike any other solutions, it assumes the software you run are not trustworthy, and protects you from them.
  • Power-user friendly: Some of those alternatives can feel a bit "limiting" to someone who knows what they are doing. On the other hand, while Cosmos is designed to be easy to use, it is also powerful and flexible. It is designed to be used by both new and experienced users, and to integrate into your existing home server, the already existing applications you have, and the new ones you want to install. It can even be used from the terminal if you want to!
  • Flexible: Unlike the alternatives, Cosmos is not exclusively focused around its app-store. Instead, it lets you freely install any application any way you want, and manage them from the UI, from Portainer, or from docker directly. Any of those applications will still be integrated into Cosmos and will also benefit from all the security features, Let's Encrypt, etc..
  • Learning experience: If you are new to self-hosting, using a software that hides all the complexity from you can prevent you from learning how to properly manage your server. Cosmos is designed to be easy to use, but also to be a learning experience. It does not hide things away but instead guides you and incentivizes learning more about the tools you are using.
  • No vendor-locking: Unlike solution that tightly couple their applications to the containers, Cosmos can manage apps created from anywhere all the same, and converting an existing container to a Cosmos app is as simple as adding a URL in the UI. You can also migrate out of Cosmos at any time, as it only uses vanilla docker containers.

You might also wonder about cloudflare proxy and cloudflare tunnel when it comes to security. But unlike popular beliefs those are not solutions on their own as:

  • While they protect your remote access to your applications, they leave your origin server completely unprotected. A rogue device / application in your local network would have no troubles taking advantage of it
  • Those options let Cloudflare see your entire network unencrypted. Yes, even if you use HTTPS: Cloudflare proxy de-encrypt your traffic, to re-encrypt it. Meaning that everything that goes through your traffic is plain readable text to Cloudflare. On the other hand, Cosmos is self-hosted so you stay in control of your data.

What is the SmartShield?

SmartShield is a modern API protection package designed to secure your API by implementing advanced rate-limiting and user restrictions. This helps efficiently allocate and protect your resources without manual adjustment of limits and policies.

Key Features:

  • Dynamic Rate Limiting ✨ SmartShield calculates rate limits based on user behavior, providing a flexible approach to maintain API health without negatively impacting user experience.
  • Adaptive Actions 📈 SmartShield automatically throttles users who exceed their rate limits, preventing them from consuming more resources than they are allowed without abruptly terminating their requests.
  • User Bans & Strikes 🚫 Implement temporary or permanent bans and issue strikes automatically to prevent API abuse from malicious or resource-intensive users.
  • Global Request Control 🌐 Monitor and limit with queues the total number of simultaneous requests on your server, ensuring optimal performance and stability.
  • User-based Metrics 📊 SmartShield tracks user consumption in terms of requests, data usage, and simultaneous connections, allowing for detailed control.
  • Privileged Access 🔑 Assign privileged access to specific user groups, granting them exemption from certain restrictions and ensuring uninterrupted service even durin attacks.
  • Customizable Policies ⚙️ Modify SmartShield's default policies to suit your specific needs, such as request limits, time budgets, and more.

Why use Cosmos?

If you have your own self-hosted data, such as a Plex server, or may be your own photo server, you expose your data to being hacked, or your server to being highjacked (even on your local network!).

It is becoming an important threat to you. Managing servers, applications and data is very complex, and the problem is that you cannot do it on your own: how do you know that the server application where you store your family photos has a secure code? it was never audited.

Even a major application such as Plex has been hacked in the past, and the data of its users has been exposed. In fact, the recent LastPass leak happened because a LastPass employee had a Plex server that wasn't updated to the last version and was missing an important security patch!

That is the issue Cosmos Server is trying to solve: by providing a secure and robust way to run your self-hosted applications, you can be sure that your data is safe and that you can access it without having to worry about your security.

Here's a simple example of how Cosmos can help you:

diag_SN

Another example:

diag_SN

Additionally, because every new self-hosted applications re-implement crucial systems such as authentication from scratch everytime, the large majority of them are very succeptible to being hacked without too much trouble. This is very bad because not only Docker containers are not isolated, but they also run as root by default, which means it can easily be used to offer access to your entire server or even infrastructure.

Most tools currently used to self-host not specifically designed to be secure for your scenario. Entreprise tools such as Traefik, NGinx, etc... Are designed for different use-cases that assume that the code you are running behind them is trustworthy. But who knows what server apps you might be running? On top of that, a lot of reverse-proxies and security tools lock important security features behind 3 to 4 figures business subscriptions that are not realistic for self-hosting.

If you have any further questions, feel free to join our Discord!

Let's Encrypt

Cosmos Server can automatically generate and renews HTTPS certificates for your applications using Let's Encrypt. It is compatible with wildcard certificates, using the DNS challenge. In order to do it, you need to add DNSChallengeProvider to the HTTPConfig in your config (or in the UI). And then add the proper API token via environment variables. To know what providers are supported and what environment variable they need, please refer to this page.

As A Developer

If you're a self-hosted application developer, integrate your application with Cosmos and enjoy secure authentication, robust HTTP layer protection, HTTPS support, user management, encryption, logging, backup, and more - all with minimal effort. And if your users prefer not to install Cosmos, your application will still work seamlessly.

Authentication is very hard (how do you check the password match? What encryption do you use? How do you store tokens? How do you check if the user is allowed to access the application?). Cosmos Server provides a secure authentication system that can be used by any application, and that is easy to integrate.

Licence

Cosmos is using the Apache 2.0 Licence with the Commons Clause 1.0. This is a common clause among open source infrastructure software, such as databases, reverse proxies, etc...

TL;DR: You can use it freely. You can also fork it and redistribute it, But you are not allowed to sell it, a derivative or to sell a service based on it (ex. SaaS or PaaS).

Note that you are allowed to use it to host a monetized business website, a blog etc... as long as your business does not involve selling Cosmos or its features.

Installation

Installation is simple using Docker:

docker run -d --network host  --privileged --name cosmos-server -h cosmos-server --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /:/mnt/host -v /var/lib/cosmos:/config azukaar/cosmos-server:latest

DO NOT USE UNRAID TEMPLATES, CASAOS OR PORTAINER STACKS TO INSTALL COSMOS. IT WILL NOT WORK PROPERLY. JUST RUN THE DOCKER RUN COMMAND!. You can use Docker-Compose but if you are on mac or windows (so no host mode) without a domain, that will prevent Cosmos from binding ports to itself! (preventing ip:port from working properly)

IF YOU ARE USING WINDOWS OR MAC OS YOU CANNOT USE THE HOST MODE OF DOCKER. Please replace --network host with -p 80:80 -p 443:443 -p 4242:4242/udp

In this command, -v /:/mnt/host is optional and allow to manage folders from Cosmos, you can remove it if you don't want it but you will have to create your container's bind folders manually.

--privileged is also optional, but it is required if you use hardening software like AppArmor or SELinux, as they restrict access to the docker socket. It is also required for Constellation to work. If you don't want to use it, you can add the following capabilities: NET_ADMIN for Constellation.

Once installed, simply go to http://your-server-ip and follow the instructions of the setup wizard. always start the install with the browser in incognito mode to avoid issues with your browser cache.

Port 4242 is a UDP port used for the Constellation VPN.

Make sure you expose the right ports (by default 80 / 443). It is best to keep those ports intacts, as Cosmos is meant to run as your reverse proxy. Trying to setup Cosmos behind another reverse proxy is possible but will only create headaches.

You also need to keep the docker socket mounted, as Cosmos needs to be able to manage your containers.

You can tweak the config file accordingly. Some settings can be changed before end with env var. see here.

If you are having issues with the installation, please contact us on Discord!

Contribute

Contribute.md

cosmos-server's People

Contributors

azukaar avatar catmandx avatar davis4acca avatar dependabot[bot] avatar george-radu-cs avatar intern0te avatar jogai avatar jwr1 avatar kawanaao avatar revam avatar rujios 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cosmos-server's Issues

[BUG]: LETSENCRYPT_DNS : unrecognized DNS provider: googledomains

What happened?

`There are errors with your Let's Encrypt configuration or one of your routes, please fix them as soon as possible.:

  • unrecognized DNS provider: googledomainsAlso terminal logs:2023/07/06 01:52:21 [ERROR] LETSENCRYPT_DNS : unrecognized DNS provider: googledomains
    2023/07/06 01:52:21 [ERROR] Getting TLS certificate. Fallback to previous certificate : `

What should have happened?

When I use Google Domains I get the above issue

How to reproduce the bug?

Set Google Domain as provider.

[FEAT]: Unraid Container?

Feature Description

Hello is there any plan to make this an available container on unraid? or If someone would know to generate the docker-compose file to make it work with unraid. I know 5-10 self-hosters personally that would love to see this on unraid to replace Nginx and Authelia.

[FEAT]: ZeroSSL Support

Feature Description

Cosmos looks brilliant and I am looking forward to trying it with a view of implementing it permanently on my server, however I wanted to see whether there could be support implemented for ZeroSSL certificates as an alternative for LetsEncrypt.

If you’re using acme.sh, it should be possible to plug the EAB credentials in and use ZeroSSL quite easily. :)

Thanks!

[FEAT]: Use Cosmos as a OIDC Server

Feature Description

As a User, I would like to integrate apps that have SSO Support with protocols like OIDC or SAML to use Cosmos as the Authentication Provider. Alterative to using a Keycloak, Authelia, Authentik, etc.

[BUG]:

What happened?

Attempted to setup cosmos on my productive server. Got about 25 containers running.

Setting up the container using the docker command from the website went without problems. At the webinterface at step 2 it is taking for about 2 hours now without any sign of progress.
It shows me these lines:

{"t":{"$date":"2023-06-26T14:24:52.363+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789492:363286][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 190, snapshot max: 190 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}} {"t":{"$date":"2023-06-26T14:25:52.371+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789552:370990][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 192, snapshot max: 192 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}} {"t":{"$date":"2023-06-26T14:26:52.380+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789612:380499][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 194, snapshot max: 194 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}} {"t":{"$date":"2023-06-26T14:27:52.387+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789672:387869][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 196, snapshot max: 196 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}} {"t":{"$date":"2023-06-26T14:28:52.398+00:00"},"s":"I", "c":"STORAGE", "id":22430, "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789732:398700][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 198, snapshot max: 198 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}}

What should have happened?

Create a database and progress to step 3 in the setup

How to reproduce the bug?

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Relevant log output

{"t":{"$date":"2023-06-26T14:24:52.363+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789492:363286][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 190, snapshot max: 190 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}}
{"t":{"$date":"2023-06-26T14:25:52.371+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789552:370990][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 192, snapshot max: 192 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}}
{"t":{"$date":"2023-06-26T14:26:52.380+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789612:380499][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 194, snapshot max: 194 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}}
{"t":{"$date":"2023-06-26T14:27:52.387+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789672:387869][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 196, snapshot max: 196 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}}
{"t":{"$date":"2023-06-26T14:28:52.398+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"WTCheckpointThread","msg":"WiredTiger message","attr":{"message":"[1687789732:398700][1:0x7f0ca1c39700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 198, snapshot max: 198 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 7"}}

Other details

Details from the cosmos-server container:

2023/06/26 12:55:55 [INFO] Using config file: /config/cosmos.config.json 2023/06/26 12:55:55 [INFO] CheckUpdatesAvailable - Checking local image for change for containrrr/watchtower:latest 2023/06/26 12:55:55 [INFO] CheckUpdatesAvailable - No local updates available for containrrr/watchtower:latest 2023/06/26 12:55:55 [INFO] Checking for updates for portainer/portainer:latest 2023/06/26 12:55:56 [INFO] {"status":"Pulling from portainer/portainer","id":"latest"} 2023/06/26 12:55:56 [INFO] {"status":"Digest: sha256:47b064434edf437badf7337e516e07f64477485c8ecc663ddabbe824b20c672d"} 2023/06/26 12:55:56 [INFO] No updates available for portainer/portainer:latest 2023/06/26 12:55:56 [INFO] Using config file: /config/cosmos.config.json 2023/06/26 12:55:56 [INFO] CheckUpdatesAvailable - Checking local image for change for portainer/portainer:latest 2023/06/26 12:55:56 [INFO] CheckUpdatesAvailable - No local updates available for portainer/portainer:latest 2023/06/26 12:55:56 [INFO] Checking for updates for oznu/guacamole:latest 2023/06/26 12:55:57 [INFO] {"status":"Pulling from oznu/guacamole","id":"latest"} 2023/06/26 12:55:57 [INFO] {"status":"Digest: sha256:6268b3a08d9b3d71e1f8edfd593af95f0e1082b5f3d8649321b45c64e182a3a4"} 2023/06/26 12:55:57 [INFO] No updates available for oznu/guacamole:latest 2023/06/26 12:55:57 [INFO] Using config file: /config/cosmos.config.json 2023/06/26 12:55:57 [INFO] CheckUpdatesAvailable - Checking local image for change for oznu/guacamole:latest 2023/06/26 12:55:57 [INFO] CheckUpdatesAvailable - No local updates available for oznu/guacamole:latest 2023/06/26 13:02:23 "GET http://XX.XXX.XXX/ HTTP/1.1" from 124.220.161.119:33140 - 403 14B in 310.603µs 2023/06/26 13:22:48 [INFO] Cleaning up orphan networks... 2023/06/26 13:22:48 [INFO] Removing orphan network: stockpage_default 2023/06/26 13:22:48 [INFO] Removing orphan network: emulatorjs_default 2023/06/26 13:22:49 [INFO] Removing orphan network: reverseproxy-nw 2023/06/26 13:22:49 [INFO] Removing orphan network: paperless_default 2023/06/26 13:22:49 [INFO] Removing orphan network: cosmos-network-Cfsb8IYW1

System details

ubuntu 22.04; Updated and running in docker.

[HELP]: ServApp isn't serving Jellyfin

What happened?

Setup a ServApp url for Jellyfin, which works outside of Cosmos. Accessing the url does not show JF.

What should have happened?

I should be accessing JF

How to reproduce the bug?

Create ServApp for JF.
CN: /jellyfin
CP: 8096
Proto: http
Target: http://jellyfin:8096

Host: placeholder.mysite.com

Relevant log output

Invalid Hostname xx.xxx.xxx.xx for request. Expecting one of [mysite.com placeholder.mysite.com] :

Other details

I have wildcard certificates enabled and have the API keys set (Porkbun)
Same thing happens with my Uptime-Kuma container. I followed the guide here: https://cosmos-cloud.io/doc/5%20URLs/

System details

  • OS: NixOS
  • Browser Firefox
  • Version 114.0.1

[FEAT]: Export current containers cosmos-compose to a docke- compose file

Feature Description

First of all, congrats for the initiative and for the nice development.

I have been strongly looking/testing tools like yours, and so far yours have been the best fit.

My concern now is to not be able to have access to my docker-compose files once they are uploaded and converted into the cosmos-compose format. Do you plan anything like to export all the docker composes back from cosmos compose?

Because if that is not an option, I feel really "no-way-back" situation, which might hold a lots of people back to use it.

[FEAT]: Clickable link on Proxies

Feature Description

Hi,

It would be handy to be able to click on the url in Proxies to open the page directly. Or to implement a tab with all available links.

Screenshot 2023-04-08 at 15-12-20 Cosmos

Have a nice day!

[BUG]: Stack/Container Network gets modified by Cosmos

What happened?

this is my compose file with a macvlan and static ip. The static ip gets modified by Cosmos despite not making any changes using Cosmos. I still run Portainer and found Cosmos (awesome!) from selfh.st - Thank you

version: "3.3"
services:
homepage:
image: ghcr.io/benphelps/homepage:latest
container_name: homenet
networks:
mymaclan:
ipv4_address: 192.168.1.4
volumes:
- ./app/config:/app/config # Make sure your local config directory exists
#- /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations

networks:
mymaclan:
external:
name: mymaclan

What should have happened?

my container ip should have remained 192.168.1.4

How to reproduce the bug?

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Relevant log output

No response

Other details

No response

System details

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

[FEAT]: Cosmos Market additions request

Feature Description

Hello,
I did not manage to start these services by importing docker compose files.
Would be great to see these apps on your market :

thanks !

[FEAT]: VM Support

Feature Description

Windows / Linux VM support would be very nice then I could consider switching.

[FEAT]: Update Cosmos

Feature Description

Would be great if one could Update cosmos from within the interface. So one would not need to pull the docker again.

[FEAT]: Access and security logs

Feature Description

As a user I want to be able to see access logs, that is I want to see which IP accessed which URL at what time. I would also like to see security logs that is information about blocked connections and their reasons.

[BUG]: Debian 11 + Docker-Compose is broken

What happened?

Hi, when letting cosmos 0.5.12 create a mongodb by itself, it currently creates 2 mongodb containers and the initial admin user it prompts to create doesn't let you log in. if you provide your own mongodb it will work fine.

What should have happened?

It should have worked

How to reproduce the bug?

create a new comsos server

Relevant log output

No response

Other details

No response

System details

  • Version 0.5.12

[Feat] Automatic DNS records in CF

Feature Description

Hi, I would love if Cosmos could automaticaly create CloudFlare DNS records with provided API key.
Is there any blocker for this feature?
This would improve end users lives to make everything easier to setup.

Thanks.

[BUG]: own Nextcloud container

What happened?

installed cosmos after I already started with some container.
Nextcloud is reporting that the webserver is not doing this: https://docs.nextcloud.com/server/27/admin_manual/issues/general_troubleshooting.html#service-discovery

What should have happened?

those entries are forwarded correctly

How to reproduce the bug?

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Relevant log output

No response

Other details

No response

System details

  • OS: Ubuntu 22.04
  • Browser Firefox
  • Version 115.0.2

[BUG]: Environment variables can't contain equals symbol

What happened?

I'm trying to set up a docker container that requires the use of "=" in the environment variable's value, but Cosmos seems to have a hard time with that. Setting up with either a cosmos config or manually doesn't seem to work. Also if you try to edit it in later, it disappears on save.

What should have happened?

Environment variables should be able to contain any characters, so I expect the equals symbol to be treated as any other.

How to reproduce the bug?

  1. Go to the "ServApps" page.
  2. Click on "Start ServApps".
  3. Click on "Add" under the "Environment Variables" section.
  4. Try to type an equals symbol in the "Value" field and it will disappear almost instantly.

Relevant log output

No response

Other details

No response

System details

  • OS: Arch Linux
  • Browser: Firefox 115.0.2
  • Version: 0.9.10

[FEAT]: ARM64 Support

Feature Description

To support Mac M1/2 etc chips, an arm64/v8 image would be needed

Existing Lets encrypt certificates

I already have Linuxserver's SWAG docker container running, NGINX with Lets encrypt certificates automation. All working fine, using DNS validation (Cloudflare DNS).

Now, I am wondering is it possible to "migrate" from SWAG to Cosmos reverse proxy and Lets encrypt, the Lets encrypt part actually. Not just to move existing certificates, but to be sure that they will be renewed.

Cheers

[BUG]: Let's Encrypt rate limit

What happened?

When Cosmos restarts, it asks each time for certificates to be renewed on Let's Encrypt, which means that you quickly reach the Let's Encrypt limit. In my case, when I started transferring infrastructure, I was quickly limited.

What should have happened?

Cosmos should check the validity of certificates and not renew them, to avoid reaching the limit too quickly and to ensure that the reverse proxy continues to work.

How to reproduce the bug?

  1. Create several urls
  2. Restart Cosmos several times

Relevant log output

[ERROR] Failed to Init Let's Encrypt. HTTPS wont renew : simplecert: failed to obtain cert: acme: error: 429 :: POST :: https://acme-v02.api.letsencrypt.org/acme/new-order :: urn:ietf:params:acme:error:rateLimited :: Error creating new order :: too many certificates (5) already issued for this exact set of domains in the last 168 hours: [DOMAIN HERE], retry after 2023-06-11T07:51:33Z: see https://letsencrypt.org/docs/duplicate-certificate-limit/, url:

Other details

No response

System details

  • OS: Ubuntu
  • Browser : Arc (Chromium)
  • Version 114.0.5735.106

[FEAT]: Auto Update Log

Feature Description

Would be great if there was a button to auto update the log and not to have to press the Update Button every time.

[BUG]: can't login using HTTP

What happened?

When I try to log in, I am redirected to the same login page.

What should have happened?

I must access the control panel.

How to reproduce the bug?

Install the cosmos and select "use http only" when configuring.

Relevant log output

2023/05/09 14:10:29 [INFO] Docker API version: 1.41

2023/05/09 14:10:29 [INFO] Starting in /app

2023/05/09 14:10:29 [INFO] TLS certificates do not exists or are disabled, starting HTTP server only

2023/05/09 14:10:29 [INFO] Listening to HTTP on : [serverIP]:8080

2023/05/09 14:10:38 [INFO] SmartShield: Request received

2023/05/09 14:10:38 [ERROR] LoggedInOnly: User is not logged in : 

2023/05/09 14:10:38 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:10:38 "GET http://[serverIP]:8080/cosmos/api/status HTTP/1.1" from [myIP]:50642 - 401 67B in 484.754µs

2023/05/09 14:10:38 [INFO] SmartShield: Request received

2023/05/09 14:10:38 [ERROR] LoggedInOnly: User is not logged in : 

2023/05/09 14:10:38 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:10:38 "GET http://[serverIP]:8080/cosmos/api/config HTTP/1.1" from [myIP]:47543 - 401 67B in 209.292µs

2023/05/09 14:10:38 "GET http://[serverIP]:8080/cosmos/api/me HTTP/1.1" from [myIP]:50642 - 401 67B in 296.973µs

2023/05/09 14:10:38 [INFO] SmartShield: Request received

2023/05/09 14:10:38 [ERROR] AdminOrItselfOnly: User is not logged in : 

2023/05/09 14:10:38 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:10:39 "GET http://[serverIP]:8080/cosmos/api/can-send-email HTTP/1.1" from [myIP]:47543 - 200 46B in 321.598µs

2023/05/09 14:10:39 [INFO] SmartShield: Request received

2023/05/09 14:10:40 [INFO] SmartShield: Request received

2023/05/09 14:10:40 [ERROR] AdminOrItselfOnly: User is not logged in : 

2023/05/09 14:10:40 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:10:40 "GET http://[serverIP]:8080/cosmos/api/me HTTP/1.1" from [myIP]:50642 - 401 67B in 336.135µs

2023/05/09 14:10:41 [INFO] SmartShield: Request received

2023/05/09 14:10:41 [INFO] (Re) Connecting to the database...

2023/05/09 14:10:41 [INFO] Successfully connected to the database.

2023/05/09 14:10:43 "POST http://[serverIP]:8080/cosmos/api/login HTTP/1.1" from [myIP]:47543 - 200 16B in 1.403475821s

2023/05/09 14:10:44 [INFO] SmartShield: Request received

2023/05/09 14:10:44 [ERROR] LoggedInOnly: User is not logged in : 

2023/05/09 14:10:44 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:10:44 "GET http://[serverIP]:8080/cosmos/api/config HTTP/1.1" from [myIP]:50642 - 401 67B in 316.842µs

2023/05/09 14:10:44 "GET http://[serverIP]:8080/cosmos/api/status HTTP/1.1" from [myIP]:47543 - 401 67B in 220.446µs

2023/05/09 14:10:44 [INFO] SmartShield: Request received

2023/05/09 14:10:44 [ERROR] LoggedInOnly: User is not logged in : 

2023/05/09 14:10:44 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:10:44 [INFO] SmartShield: Request received

2023/05/09 14:10:44 [ERROR] AdminOrItselfOnly: User is not logged in : 

2023/05/09 14:10:44 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:10:44 "GET http://[serverIP]:8080/cosmos/api/me HTTP/1.1" from [myIP]:50642 - 401 67B in 373.585µs

2023/05/09 14:10:46 [INFO] SmartShield: Request received

2023/05/09 14:10:46 "GET http://[serverIP]:8080/cosmos/api/can-send-email HTTP/1.1" from [myIP]:47543 - 200 46B in 277.907µs

2023/05/09 14:10:46 [INFO] SmartShield: Request received

2023/05/09 14:10:46 [ERROR] AdminOrItselfOnly: User is not logged in : 

2023/05/09 14:10:46 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:10:46 "GET http://[serverIP]:8080/cosmos/api/me HTTP/1.1" from [myIP]:50642 - 401 67B in 281.437µs

2023/05/09 14:12:31 [INFO] SmartShield: Request received

2023/05/09 14:12:33 "POST http://[serverIP]:8080/cosmos/api/login HTTP/1.1" from [myIP]:47543 - 200 16B in 2.340464996s

2023/05/09 14:12:34 [INFO] SmartShield: Request received

2023/05/09 14:12:34 [INFO] SmartShield: Request received

2023/05/09 14:12:34 [ERROR] LoggedInOnly: User is not logged in : 

2023/05/09 14:12:34 [ERROR] LoggedInOnly: User is not logged in : 

2023/05/09 14:12:34 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:12:34 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:12:34 "GET http://[serverIP]:8080/cosmos/api/config HTTP/1.1" from [myIP]:50642 - 401 67B in 3.955137ms

2023/05/09 14:12:34 "GET http://[serverIP]:8080/cosmos/api/status HTTP/1.1" from [myIP]:47543 - 401 67B in 3.947019ms

2023/05/09 14:12:35 [INFO] SmartShield: Request received

2023/05/09 14:12:35 [ERROR] AdminOrItselfOnly: User is not logged in : 

2023/05/09 14:12:35 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:12:35 "GET http://[serverIP]:8080/cosmos/api/me HTTP/1.1" from [myIP]:50642 - 401 67B in 377.288µs

2023/05/09 14:12:36 [INFO] SmartShield: Request received

2023/05/09 14:12:36 "GET http://[serverIP]:8080/cosmos/api/can-send-email HTTP/1.1" from [myIP]:47543 - 200 46B in 384.902µs

2023/05/09 14:12:36 "GET http://[serverIP]:8080/cosmos/api/me HTTP/1.1" from [myIP]:50642 - 401 67B in 260.198µs

2023/05/09 14:12:36 [INFO] SmartShield: Request received

2023/05/09 14:12:36 [ERROR] AdminOrItselfOnly: User is not logged in : 

2023/05/09 14:12:36 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:12:37 [INFO] SmartShield: Request received

2023/05/09 14:12:40 "POST http://[serverIP]:8080/cosmos/api/login HTTP/1.1" from [myIP]:47543 - 200 16B in 2.36012871s

2023/05/09 14:12:41 "GET http://[serverIP]:8080/cosmos/api/status HTTP/1.1" from [myIP]:47543 - 401 67B in 224.275µs

2023/05/09 14:12:41 [INFO] SmartShield: Request received

2023/05/09 14:12:41 [INFO] SmartShield: Request received

2023/05/09 14:12:41 [ERROR] LoggedInOnly: User is not logged in : 

2023/05/09 14:12:41 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:12:41 [ERROR] LoggedInOnly: User is not logged in : 

2023/05/09 14:12:41 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:12:41 "GET http://[serverIP]:8080/cosmos/api/config HTTP/1.1" from [myIP]:50642 - 401 67B in 711.317µs

2023/05/09 14:12:41 [INFO] SmartShield: Request received

2023/05/09 14:12:41 [ERROR] AdminOrItselfOnly: User is not logged in : 

2023/05/09 14:12:41 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:12:41 "GET http://[serverIP]:8080/cosmos/api/me HTTP/1.1" from [myIP]:47543 - 401 67B in 318.09µs

2023/05/09 14:12:43 [INFO] SmartShield: Request received

2023/05/09 14:12:43 "GET http://[serverIP]:8080/cosmos/api/can-send-email HTTP/1.1" from [myIP]:50642 - 200 46B in 272.706µs

2023/05/09 14:12:43 [INFO] SmartShield: Request received

2023/05/09 14:12:43 [ERROR] AdminOrItselfOnly: User is not logged in : 

2023/05/09 14:12:43 [ERROR] HTTP Request returned Error 401 : User not logged in : 

2023/05/09 14:12:43 "GET http://[serverIP]:8080/cosmos/api/me HTTP/1.1" from [myIP]:47543 - 401 67B in 399.727µs

Other details

No problems with login if I use https.

System details

  • OS: Debian (Docker)
  • Browser firefox
  • Version v0.4.0

[BUG]: Hostname rejected when using a custom port

What happened?

If I sigh in through cosmos ui (cosmos.example.com) end then open someservice.cosmos.example.com it works. But if I try to get access to someservice.cosmos.example.com when not logged in cosmos ui I get "Bad Request: Invalid hostname."

What should have happened?

Login form should be displayed.

How to reproduce the bug?

Enable Authentication Required for URL

Relevant log output

No response

Other details

No response

System details

  • OS: Debian (Docker)
  • Browser firefox
  • Version v0.4.1

[BUG]: SCRAM-SHA-1 Authentication failed when using own DB credentials

What happened?

When launching install wizard and selecting supply my own credentials, the web GUI seemingly accepts it.
image

However, progress is not made, docker logs show:
[ERROR] Status: Database error : connection() error occurred during connection handshake: auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-1": (AuthenticationFailed) Authentication failed.

What should have happened?

Presumably, when supplying database credentials, the wizard should skip this step and connect?

How to reproduce the bug?

Sample docker-compose file. Should be able to reproduce from this.

version: '3.3'
services:
cosmos-server:
image: 'azukaar/cosmos-server:latest'
container_name: cosmos-server
restart: unless-stopped
depends_on:
- cosmo-mongo
ports:
- '80:80'
- '443:443'
networks:
- cosmos
environment:
- COSMOS_HOSTNAME:'192.168.99.140'
- COSMOS_MONGODB:'mongodb://cosmo:b9TYJc.gef69f*!dsFrewdfsf5432DFDFs@cosmo-mongo'
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
- '/:/mnt/host'
- '/docker/cosmos:/config'

cosmo-mongo:
image: mongo:latest
container_name: cosmo-mongo
restart: unless-stopped
networks:
- cosmos
environment:
MONGODB_INITDB_ROOT_USERNAME: cosmo
MONGODB_INITDB_ROOT_PASSWORD: b9TYJc.gef69f*!dsFrewdfsf5432DFDFs
volumes:
- '/docker/mongo/db:/data/db'
- '/docker/mongo/configdb:/data/configdb'

networks:
cosmos:
name: cosmos-db
external: false

Relevant log output

[ERROR] Status: Database error : connection() error occurred during connection handshake: auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-1": (AuthenticationFailed) Authentication failed.

Other details

No response

System details

Alpine Linux 3.17

[FEAT]: Use GitHub Actions for Full Build Transparency

Feature Description

In the spirit of trusting an open/ available source project, I think it would be very helpful if you were able to use GitHub actions for this repo to complete your build, testing and release process so that users can verify the full tool-chain in an end to end manner.

[DOC]: Is the container supposed to be run with sudo?

What happened?

If a follo

What should have happened?

It is not clear that one should run docker with sudo. If not, the container will fail to run.

Even after installing the 'rootless' docker, it still fails for a couple of missing permissions. After fixing some, I still could not get it up running.

How to reproduce the bug?

Install brand new debian and docker, and follow the Cosmos README's getting started.

Relevant log output

No response

Other details

No response

System details

  • OS: Debian 11
  • Browser Brave
  • Version 0.64

[FEAT]: Kubernetes support

Feature Description

K3s is super easy to get going and can easily scale beyond a single machine. This would be awesome to support Kubernetes.

[FEAT]: Contact nginx reverse proxy settings and open source ID provider support

Feature Description

Hello.

I run a home server directly in Korea and I am a very interested user.
Please understand even if there is a misunderstanding as it is a translation of Korean into English.

Cosmos is definitely a huge project and I would like to use it as a test, but before I use it, I would like to ask you a few questions about the existing ones to migrate from the version I am currently using.

Currently, we use Reverse Proxy using Nginx PRoxy Manager, and here we use ID providers such as Authentic to link SSO of sites.

Additionally, while working on a VPN project called netbird recently, I tried grpc_pass as well as generic proxy_pass for the first time, and I was wondering if you supported it.

To sum up, I wonder if it is possible to migrate the conf used by nginx.

ex)
authentik SSO Nginx Proxy Manager 설정 - https://www.geekscircuit.com/set-up-authentik-sso-with-nginx-proxy-manager/

netbird의 proxy 설정 - location /management {
grpc_pass grpc://192.168.1.18:443;
}

I'm looking forward to the future as I watch every update.
Thank you so much for the fantastic project :)

[FEAT]: URL Sorting

Feature Description

Would it be possible to make the URL's on the URL page and the Dashboard by sorted in different ways?

At the moment it appears they are int he reverse order that they were added.

It would be great if it could be done alphabetically atleast.

[BUG]: /ui is not routed correctly.

What happened?

I have an internal service hosted at https://service.lan:65443 - everything within the app is hosted at /ui/.... it's hardcoded, I have no way of changing that.

I've added a Proxy URL at https://service.example.com pointing to https://service.lan:65443.

I tried configuring alternative paths (including strip path) without success.

Whenever I attempt to connect, I get the following:

You are seeing this message because the UI was moved from /ui to /cosmos-ui, in order to fix compatibility with apps like OpenSense who also use /ui. The issue is that your browser still has the old UI URL cached. Please empty your browser's cache and reload the page. Also, make sure you don't have a bookmark with the /ui in the URL. This message will disappear in the next version of Cosmos, to solve the compatibility issue. Sorry for the inconvenience.

I searched the code in the repo, and found it comes from here.

I've tried with a private browser session, as well as with a new browser profile - just to make sure I had all the bases covered.

I was able to reproduce this with whoami container, so you should be able to reproduce this as well.

What should have happened?

Since my URL has a different name, I'm expectin the logic evaluating the path's prefix should not be engaged at all.

I'm expecting the service to show up.

How to reproduce the bug?

Reproducing the issue with whoami (my service is a URL not a ServApp)

  1. Clean install cosmos
  2. Add Docker - ServApp
  3. Docker details:
  • Name: whoami
  • Image: traefik/whoami:latest
  • Restart Policy: never
  • Next
  1. URL details:
  • Create a URL to access this ServApp
  • New URL, Name: whoami
  • Target Settings: (whoami, 80, http, http://whoami:80)
  • Source, Use Host: whoami.example.com
  • (With or without) Use Path Prefix: /ui
  • Next
  1. Network:
  • Network Mode: leave as default
  • Connect to bridge
  • Next
  1. Storage:
  • Next (no storage)
  1. Start and access https://whoami.example.com/ui

Relevant log output

cosmos-server  | 2023/06/28 01:37:30 [INFO] Starting...
cosmos-server  | 2023/06/28 01:37:30 [INFO] Using config file: /config/cosmos.config.json
cosmos-server  | 2023/06/28 01:37:30 [INFO] Validating config file...
cosmos-server  | 2023/06/28 01:37:30 [DEBUG] Loaded Configuration {
cosmos-server  |   "LoggingLevel": "DEBUG",
cosmos-server  |   "MongoDB": "mongodb://cosmos-user:password@cosmos-mongo-wc9:27017",
cosmos-server  |   "DisableUserManagement": false,
cosmos-server  |   "NewInstall": false,
cosmos-server  |   "HTTPConfig": {
cosmos-server  |     "TLSCert": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n",
cosmos-server  |     "TLSKey": "-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----\n",
cosmos-server  |     "TLSKeyHostsCached": [
cosmos-server  |       "example.com"
cosmos-server  |     ],
cosmos-server  |     "AuthPrivateKey": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
cosmos-server  |     "AuthPublicKey": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n",
cosmos-server  |     "GenerateMissingAuthCert": true,
cosmos-server  |     "HTTPSCertificateMode": "LETSENCRYPT",
cosmos-server  |     "DNSChallengeProvider": "cloudflare",
cosmos-server  |     "HTTPPort": "80",
cosmos-server  |     "HTTPSPort": "443",
cosmos-server  |     "ProxyConfig": {
cosmos-server  |       "Routes": [
cosmos-server  |         {
cosmos-server  |           "Name": "whoami",
cosmos-server  |           "Description": "Expose whoami to the internet",
cosmos-server  |           "UseHost": true,
cosmos-server  |           "Host": "whoami.example.com",
cosmos-server  |           "UsePathPrefix": true,
cosmos-server  |           "PathPrefix": "/ui",
cosmos-server  |           "Timeout": 14400000,
cosmos-server  |           "ThrottlePerMinute": 10000,
cosmos-server  |           "CORSOrigin": "",
cosmos-server  |           "StripPathPrefix": false,
cosmos-server  |           "MaxBandwith": 0,
cosmos-server  |           "AuthEnabled": true,
cosmos-server  |           "AdminOnly": false,
cosmos-server  |           "Target": "http://whoami:80",
cosmos-server  |           "SmartShield": {
cosmos-server  |             "Enabled": true,
cosmos-server  |             "PolicyStrictness": 0,
cosmos-server  |             "PerUserTimeBudget": 0,
cosmos-server  |             "PerUserRequestLimit": 0,
cosmos-server  |             "PerUserByteLimit": 0,
cosmos-server  |             "PerUserSimultaneous": 0,
cosmos-server  |             "MaxGlobalSimultaneous": 0,
cosmos-server  |             "PrivilegedGroups": 0
cosmos-server  |           },
cosmos-server  |           "Mode": "SERVAPP",
cosmos-server  |           "BlockCommonBots": true,
cosmos-server  |           "BlockAPIAbuse": false,
cosmos-server  |           "AcceptInsecureHTTPSTarget": false,
cosmos-server  |           "HideFromDashboard": false
cosmos-server  |         }
cosmos-server  |       ]
cosmos-server  |     },
cosmos-server  |     "Hostname": "example.com",
cosmos-server  |     "SSLEmail": "[email protected]",
cosmos-server  |     "UseWildcardCertificate": false,
cosmos-server  |     "AcceptAllInsecureHostname": false,
cosmos-server  |     "DNSChallengeConfig": {
cosmos-server  |       "CF_DNS_API_TOKEN": "..."
cosmos-server  |     }
cosmos-server  |   },
cosmos-server  |   "EmailConfig": {
cosmos-server  |     "Enabled": false,
cosmos-server  |     "Host": "",
cosmos-server  |     "Port": "",
cosmos-server  |     "Username": "",
cosmos-server  |     "Password": "",
cosmos-server  |     "From": "",
cosmos-server  |     "UseTLS": false
cosmos-server  |   },
cosmos-server  |   "DockerConfig": {
cosmos-server  |     "SkipPruneNetwork": false,
cosmos-server  |     "DefaultDataPath": "/usr"
cosmos-server  |   },
cosmos-server  |   "BlockedCountries": [
cosmos-server  |     "CN",
cosmos-server  |     "RU",
cosmos-server  |     "TR",
cosmos-server  |     "BR",
cosmos-server  |     "BD",
cosmos-server  |     "IN",
cosmos-server  |     "NP",
cosmos-server  |     "PK",
cosmos-server  |     "LK",
cosmos-server  |     "VN",
cosmos-server  |     "ID",
cosmos-server  |     "IR",
cosmos-server  |     "IQ",
cosmos-server  |     "EG",
cosmos-server  |     "AF",
cosmos-server  |     "RO"
cosmos-server  |   ],
cosmos-server  |   "ServerCountry": "",
cosmos-server  |   "RequireMFA": true,
cosmos-server  |   "AutoUpdate": true,
cosmos-server  |   "OpenIDClients": null,
cosmos-server  |   "MarketConfig": {
cosmos-server  |     "Sources": []
cosmos-server  |   },
cosmos-server  |   "HomepageConfig": {
cosmos-server  |     "Background": "",
cosmos-server  |     "Widgets": null
cosmos-server  |   },
cosmos-server  |   "ThemeConfig": {
cosmos-server  |     "PrimaryColor": "",
cosmos-server  |     "SecondaryColor": ""
cosmos-server  |   }
cosmos-server  | }
cosmos-server  | 2023/06/28 01:37:30 [INFO] Docker Connected
cosmos-server  | 2023/06/28 01:37:31 [DEBUG] Docker Event: container start d4c6f34fcc1409f306ec6296d18b681e829b39f133036013357346446f111a1e
cosmos-server  | 2023/06/28 01:37:31 [DEBUG] onDockerCreated: d4c6f34fcc1409f306ec6296d18b681e829b39f133036013357346446f111a1e
cosmos-server  | 2023/06/28 01:37:31 [INFO] Bootstrap Container From Tags: d24f914abf07c91c9e70d483e98e5fb66b1b24abbe0c3f3182e366876c490ab8
cosmos-server  | 2023/06/28 01:37:31 [INFO] Bootstrap Container From Tags: d4c6f34fcc1409f306ec6296d18b681e829b39f133036013357346446f111a1e
cosmos-server  | 2023/06/28 01:37:31 [DEBUG] No cosmos-network-name label on container /cosmos-server
cosmos-server  | 2023/06/28 01:37:31 [DEBUG] No cosmos-network-name label on container /cosmos-server
cosmos-server  | 2023/06/28 01:37:31 [DEBUG] No cosmos-network-name label on container /cosmos-server
cosmos-server  | 2023/06/28 01:37:31 [DEBUG] No cosmos-network-name label on container /cosmos-server
cosmos-server  | 2023/06/28 01:37:31 [DEBUG] No cosmos-network-name label on container /cosmos-server
cosmos-server  | 2023/06/28 01:37:31 [DEBUG] No cosmos-network-name label on container /cosmos-server
cosmos-server  | 2023/06/28 01:37:31 [INFO] Done bootstrapping Container From Tags: /cosmos-server
cosmos-server  | 2023/06/28 01:37:31 [DEBUG] IsSelfConnectedToASecureCosmosNetwork - /cosmos-server: is connected to cosmos-network-KKYabaCKZ
cosmos-server  | 2023/06/28 01:37:43 [INFO] /cosmos-mongo-wc9: Checking Force network secured
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] IsConnectedToNetwork - /cosmos-mongo-wc9: is NOT connected to bridge
cosmos-server  | 2023/06/28 01:37:43 [INFO] Done bootstrapping Container From Tags: /cosmos-mongo-wc9
cosmos-server  | 2023/06/28 01:37:43 [INFO] Checking for self updater agent
cosmos-server  | 2023/06/28 01:37:43 [INFO] Docker API version: 1.43
cosmos-server  | 2023/06/28 01:37:43 [INFO] MarketInit: Added market cosmos-cloud
cosmos-server  | 2023/06/28 01:37:43 [INFO] Using config file: /config/cosmos.config.json
cosmos-server  | 2023/06/28 01:37:43 [INFO] OpenID server initialized
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] Hostnames are example.com, whoami.example.com, ....
cosmos-server  | 2023/06/28 01:37:43 [INFO] Starting in /app
cosmos-server  | 2023/06/28 01:37:43 [INFO] Added route: [SERVAPP] whoami.example.com/ui to http://whoami:80
cosmos-server  | 2023/06/28 01:37:43 [INFO] TLS certificate exist, starting HTTPS servers and redirecting HTTP to HTTPS
cosmos-server  | 2023/06/28 01:37:43 [INFO] Using DNS Challenge with Provider: cloudflare
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] Hostnames are example.com, whoami.example.com, ...
cosmos-server  | 2023/06/28 01:37:43 [WARNING] no WillRenewCertificate handler specified, to handle graceful server shutdown!
cosmos-server  | 2023/06/28 01:37:43 [WARNING] no DidRenewCertificate handler specified, to bring the service back up after renewing the certificate!
cosmos-server  | 2023/06/28 01:37:43 [INFO] simplecert: checking if cacheDir /config/certificates exists...
cosmos-server  | 2023/06/28 01:37:43 [INFO] simplecert: found cert in cacheDir
cosmos-server  | 2023/06/28 01:37:43 [INFO][example.com] acme: 2155 hours remaining, renewBefore: 720
cosmos-server  | 2023/06/28 01:37:43 [INFO] Setup: Checking Docker port mapping
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] Container port: 443
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] Host port: 443
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] Host port: 443
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] Container port: 80
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] Host port: 80
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] Host port: 80
cosmos-server  | 2023/06/28 01:37:43 [DEBUG] Expected ports:
cosmos-server  | 2023/06/28 01:37:43 [INFO] Listening to HTTP on :80
cosmos-server  | 2023/06/28 01:37:43 [INFO] Listening to HTTPS on :443
cosmos-server  | 2023/06/28 01:37:53 [DEBUG] Country code is empty
cosmos-server  | 2023/06/28 01:37:53 "GET https://whoami.example.com/ui HTTP/2.0" from 192.168.1.207:33504 - 200 457B in 561.705µs
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Country code is empty
cosmos-server  | 2023/06/28 01:38:06 "GET https://whoami.example.com/ HTTP/2.0" from 192.168.1.207:33504 - 301 45B in 472.83µs
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Country code is empty
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Ensuring origin for requested resource from : whoami.example.com
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Hostnames are example.com, whoami.example.com, ...
cosmos-server  | 2023/06/28 01:38:06 "GET https://whoami.example.com/cosmos-ui HTTP/2.0" from 192.168.1.207:33504 - 200 630B in 958.032µs
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Country code is empty
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Ensuring origin for requested resource from : whoami.example.com
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Country code is empty
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Ensuring origin for requested resource from : whoami.example.com
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Hostnames are example.com, whoami.example.com, ...
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Hostnames are example.com, whoami.example.com, ...
cosmos-server  | 2023/06/28 01:38:06 "GET https://whoami.example.com/cosmos-ui/assets/index-c358a624.js HTTP/2.0" from 192.168.1.207:33504 - 304 0B in 903.704µs
cosmos-server  | 2023/06/28 01:38:06 "GET https://whoami.example.com/cosmos-ui/assets/index-f07b43b8.css HTTP/2.0" from 192.168.1.207:33504 - 304 0B in 1.145383ms
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Country code is empty
cosmos-server  | 2023/06/28 01:38:06 [DEBUG] Ensuring origin for requested resource from : whoami.example.com

Other details

Seems that the hostname matching should take precedence on the path matching, but for some reason it is the other way around.

System details

  • OS: Ubuntu 22.04.2 LTS (Jammy Jellyfish)
  • Browser: Edge, Firefox
  • Version: 0.8.10

From the successful whoami access:

Hostname: whoami
IP: 127.0.0.1
IP: 172.17.0.2
IP: 100.0.0.18
RemoteAddr: 100.0.0.19:34844
GET /testui HTTP/1.1
Host: whoami.toronto.avital14.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.5
Cookie: jwttoken=eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODgxNjIwNjgsImZvckRvbWFpbiI6InRvcm9udG8uYXZpdGFsMTQuY29tIiwiaWF0IjoxNjg3OTAyODY4LCJtZmFEb25lIjp0cnVlLCJuYmYiOjE2ODc5MDI4NjgsIm5pY2tuYW1lIjoiYXZpdGFsIiwicGFzc3dvcmRDeWNsZSI6MSwicm9sZSI6Mn0.cuSsw4r8vJJqB6bjllFtvAzjFzNCjpaf2ax13pXM94V2D3eeNqh7-GpuYMc8hwzj9iMIsbSJpafznHMXZMPECw
Dnt: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Te: trailers
Upgrade-Insecure-Requests: 1
X-Cosmos-Mfa: 0
X-Cosmos-Role: 2
X-Cosmos-Token: 1234567890
X-Cosmos-User: avital
X-Forwarded-For: 192.168.1.207
X-Forwarded-Proto: https

[BUG]: Port 443 listens but not reactive

What happened?

When I try to access via https, I get a page not found and no resolution.
I can access the site via http however but I don't think this is a good idea. :)
If I restart cosmos-server via docker - I get very brief (less than 2 seconds of port 443 availability).

What should have happened?

I should be able access via the https level.

How to reproduce the bug?

Install on fresh system.
Make sure your IP is correctly forwarded to via the router to both 443 and port 80 TCP stack.
Let it restart the cosmose-server container
Try to access your site via https

Check canyousemee.org and you can confirm port 80 is listening but 443 is not.

Relevant log output

I see it listening:
lsof -i :443 -S
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 5931 root    4u  IPv4  43874      0t0  TCP *:https (LISTEN)
docker-pr 5937 root    4u  IPv6  45555      0t0  TCP *:https (LISTEN)

Other details

No response

System details

Debian 11 fresh install static IP - Cloudflare DNS pointing to my system.
Firefox Browser and Chromium both tried.

[BUG]: Wrong nickname or password. Try again or try resetting your password

What happened?

This problem keeps happening even though I am putting the correct password.

What should have happened?

When encountering this problem It should ask for password reset function.

How to reproduce the bug?

Configured my /etc/hosts

127.0.0.1 homelab.local

My docker compose file:

version: "3.3"
services:
    cosmos-server:
        ports:
            - "80:80"
            - "443:443"
        container_name: cosmos-server
        hostname: cosmos-server
        restart: always
        volumes:
            - "/var/run/docker.sock:/var/run/docker.sock"
            - "./config:/config"
            - "./host:/mnt/host"
        image: "azukaar/cosmos-server:latest"

Steps I did when setting up the cosmos server:

  1. Automatically create a secure database (recommended)
  2. Use HTTP only (not recommended)
  3. Set hostname homelab.local. I checked "Use Wildcard Certificate for *.homelab.local" and clicked update
  4. Supplied username and password (I used lastpass password generator)

Relevant log output

No response

Other details

HTTP response:

{
    "status": "error",
    "message": "User Logging Error",
    "code": "UL001"
}

System details

  • OS: Windows 10 Pro
  • Browser Microsoft Edge Version 114.0.1823.43 (Official build) (64-bit)]
  • Docker version 4.20.1

[BUG]: Frame overflow

What happened?

Frame overflow in cosmos-server (ServApps)

What should have happened?

Go to the ServApps :)

How to reproduce the bug?

Add a lot of networks

Relevant log output

No response

Other details

When there are several networks:

Screenshot 2023-04-08 at 15-16-48 Cosmos

System details

Cosmos 0.1.12

[FEAT]: SSO Middleware: Support HTTP Basic Authentication

Feature Description

Some mobile apps only support HTTP Basic Authentication (ie using username:[email protected]), which is likely also the authentication method used by the applications that they support.

So that I can control users/passwords in one place, it would be great if Cosmos supported this authentication method for apps.

(as discussed on Discord, but here for tracking)

[FEAT]: Filter on containers with updates available

Feature Description

Great work on this so far. I like to manually update my containers, so with that in mind it would be great to have a button which displayed containers with updates available, similar to Whats Up Docker.

[FEAT]: Add Yubikey Support for 2FA

Feature Description

I own and use my Yubikey for WebAuth logins, this would be a nice alternative and my preferred authentication method for logging in in my scenario.

[HELP]: URL for ServApps remove additional public accessible ports

What happened?

When creating a new URL for a servapp it disables all open ports except the one specified. I can understand how this is good for securing a web app but there are some containers where multiple external ports are still needed.

For example I was trying to create a url to a syslog server gui but I still need the various other ports open. More specifically this is for Graylog. Port 9000 is the web GUI, and I needed 1514/5041/514 to stay open for that container. I did not check the "isolate" option.

What should have happened?

When the URL is created for a ServApp for a specific port do not remove the extra publicly available ports. Maybe an option?

How to reproduce the bug?

  1. Create graylog container (or perhaps any with multiple public ports)
  2. Create URL for ServeApp, specify port of web gui
  3. Under ServeApps observer only the web gui port is available

Relevant log output

No response

Other details

  • Removed URL and restarted container and ports do not come back
  • Tried restarting Cosmos and ports do not come back
  • Tried restarting server and ports do not come back
  • Destroying and recreating the container will bring the ports back.
  • Container is created outside of Cosmos (docker compose at command line)

System details

  • OS: Docker Version 24.0.4 (using docker compose)
  • Browser: Edge
  • Version: 9.8

[FEAT]: Cosmos Tunnels

Feature Description

Hi,
One major issue with reverse proxies is opening up ports and exposing your home IP address to the internet. Using a VPS to route traffic is a significant upgrade in terms of security.
Integrating a wireguard tunnel to communicate with the NAS would make sure no ports need to be exposed and have a secure connection between the NAS and VPS, and your home IP address is not exposed either.
A similar project is boringproxy, but it lacks the 2FA feature, DNS based certs and other features that Cosmos seems to have.

[BUG]: Database is never created.

What happened?

After the docker section of the setup shows as successful, the database portion will get stuck on connecting, even if the option to create a database is selected.

What should have happened?

According to the docs, it should create its own database in around 20-30 seconds.

How to reproduce the bug?

  1. Create container using docker-compose
  2. Get to the database portion of the setup
  3. Observe

Relevant log output

It will spam this into the docker log:

2023/06/07 13:46:25 [INFO] SmartShield: Request received
2023/06/07 13:46:25 [INFO] API: Status
2023/06/07 13:46:25 [INFO] (Re) Connecting to the database...
2023/06/07 13:46:25 [ERROR] Status: Database error : error parsing uri: scheme must be "mongodb" or "mongodb+srv"

Other details

 cosmos:
    image: azukaar/cosmos-server:latest
    container_name: cosmos
    restart: 'always'
    ports:
      - 23080:80/tcp
      - 22443:443/tcp
    volumes:
      - /home/docker/Containers/Test/Cosmos:/config
      - /var/run/docker.sock:/var/run/docker.sock

It also does the same thing when running with docker run

System details

  • OS: NixOS 23.05 (Linux)
  • Browser: Firefox
  • Version: 112.0.2

[BUG]: inconsistant naming

What happened?

when updating a servapp, it is suddenly named serveapp

What should have happened?

nothing, just wrong workind

How to reproduce the bug?

  1. goto servapp
    1. click update on any app.
  2. low and behold

cosmos term bug

Relevant log output

No response

Other details

No response

System details

OS: Linux Debian

[BUG]: no matching manifest for arm/v8 (Not exactly a bug from you im afraid)

What happened?

When I execute cosmos in my Pi4b
NewInstall: Create DB Starting creation of new service... Pulling image arm64v8/mongo:4.4.18 4.4.18 Pulling from arm64v8/mongo {"errorDetail":{"message":"**no matching manifest for linux/arm/v8** in the manifest list entries"},"error":"no matching manifest for linux/arm/v8 in the manifest list entries"} Image arm64v8/mongo:4.4.18 pulled Checking service cosmos-mongo-kT0... Forcing secure cosmos-mongo-kT0...
This sometimes happens with other docker apps i try to install, my system seems to respond to linux/arm64.
I tried to add another db to docker-compose.yaml and it didnt work.
What can I do, if something?
Thanks!

What should have happened?

Cosmo DB created

How to reproduce the bug?

Install on my system, im afraid..

Relevant log output

NewInstall: Create DB
Starting creation of new service...
Pulling image arm64v8/mongo:4.4.18
4.4.18 Pulling from arm64v8/mongo 
{"errorDetail":{"message":"no matching manifest for linux/arm/v8 in the manifest list entries"},"error":"no matching manifest for linux/arm/v8 in the manifest list entries"}
Image arm64v8/mongo:4.4.18 pulled
Checking service cosmos-mongo-kT0...
Forcing secure cosmos-mongo-kT0...

Other details

No response

System details

Hardware: Raspberry Pi 4
OS: Raspberry Pi OS / x64 / 11 (bullseye)
Docker version 24.0.2, build cb74dfc
uname -m: aarch64

[BUG]: Proxy does not work with service that has basic auth

What happened?

If I try to proxy something like transmission web gui, cosmos gives me a blank loading page and there are a lot of requests with 401 code in cosmos logs.

What should have happened?

A form for entering your login and password should be displayed.

How to reproduce the bug?

Try to proxy service with basic auth.

Relevant log output

2023/05/10 11:52:17 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.342111ms

2023/05/10 11:52:18 [INFO] SmartShield: Request received

2023/05/10 11:52:18 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.093388ms

2023/05/10 11:52:18 [INFO] SmartShield: Request received

2023/05/10 11:52:18 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.94874ms

2023/05/10 11:52:18 [INFO] SmartShield: Request received

2023/05/10 11:52:18 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 1.963072ms

2023/05/10 11:52:19 [INFO] SmartShield: Request received

2023/05/10 11:52:19 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.042395ms

2023/05/10 11:52:19 [INFO] SmartShield: Request received

2023/05/10 11:52:19 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.271848ms

2023/05/10 11:52:19 [INFO] SmartShield: Request received

2023/05/10 11:52:19 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.235844ms

2023/05/10 11:52:19 [INFO] SmartShield: Request received

2023/05/10 11:52:19 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.651387ms

2023/05/10 11:52:20 [INFO] SmartShield: Request received

2023/05/10 11:52:20 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.453525ms

2023/05/10 11:52:20 [INFO] SmartShield: Request received

2023/05/10 11:52:20 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 1.997974ms

2023/05/10 11:52:20 [INFO] SmartShield: Request received

2023/05/10 11:52:20 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.264617ms

2023/05/10 11:52:20 [INFO] SmartShield: Request received

2023/05/10 11:52:20 "GET http://transmission.cosmos.example.com:8080/ HTTP/1.1" from [myIP]:62796 - 401 26B in 2.429382ms

Other details

No response

System details

  • OS: Debian (Docker)
  • Browser firefox
  • Version v0.4.1

[BUG]: Password not strong enough

What happened?

Using the password "Th|sSh0u1dSuff|ce" does not meet the requirements, even though the "strength indicator" shows "Strong" and meets all the given requirements.

What should have happened?

The password should be accepted and be valid.

How to reproduce the bug?

  1. Run docker install command as instructed.
  2. Go to install wizard URL
  3. On Admin Account Step (4/4):
  4. Use the following password: "Th|sSh0u1dSuff|ce"

Relevant log output

No response

Other details

No response

System details

  • OS: Alpine LXC, Proxmox
  • Browser: Firefox
  • Version: Latest as of issue
  • Screenshot:
    image

[FEAT]: DNS should be selectable

What happened?

Just started out with Cosmos, I like the onboarding. I set up the DNS challenge for Cloudflare + Wildcard certificate.

But then comes the issue. I want to use Cosmos in a private network. Additionally the private network is forced to use NextDNS. I think this causes some problems with DNS-Lookup/DNSSEC (most likely because of CNAME Flattening).

What should have happened?

Add an additional field for a DNS which is used for the LetsEncrypt lookups only. Caddy does something similiar with 'resolvers' in the tls directive.

How to reproduce the bug?

  1. Onboard in a private Network which forces NextDNS + CNAME Flattening
  2. DNSSEC fails
  3. No Certificates

Relevant log output

2023/07/08 03:05:47 [ERROR] LETSENCRYPT_OBTAIN : error: one or more domains had a problem:
[schmu.li] acme: error: 400 :: urn:ietf:params:acme:error:dns :: DNS problem: looking up A for <DOMAIN>: DNSSEC: RRSIGs Missing; DNS problem: looking up AAAA for <DOMAIN>: DNSSEC: RRSIGs Missing

2023/07/08 03:05:47 [ERROR] Getting TLS certificate. Fallback to SELFSIGNED certificates :

Other details

No response

System details

Cosmos:latest

[BUG]: trying to install on an rpi running debian 11: mongodb piece is failing

What happened?

When I run try to run the docker compose up -d I see the following error in the db containers. I cam able to start the first cosmos-server container and try to run the wizard. The docker daemon is started, but when I try to have it create the database, below is the error I receive.

WARNING: MongoDB requires ARMv8.2-A or higher, and your current system does not appear to implement any of the common features for that!

What should have happened?

Seems like it was trying to created the recommended database

How to reproduce the bug?

copy the docker-compose.yml and start the cosmos-server container. Once started, follow the wizard to the create the database

Relevant log output

/usr/local/bin/docker-entrypoint.sh: line 416:    28 Illegal instruction     "${mongodHackedArgs[@]}" --fork

WARNING: MongoDB requires ARMv8.2-A or higher, and your current system does not appear to implement any of the common features for that!
  applies to all versions ≥5.0, any of 4.4 ≥4.4.19, and any of 4.2 ≥4.2.19
  see https://jira.mongodb.org/browse/SERVER-71772
  see https://jira.mongodb.org/browse/SERVER-55178
  see also https://en.wikichip.org/wiki/arm/armv8#ARMv8_Extensions_and_Processor_Features
  see also https://github.com/docker-library/mongo/issues/485#issuecomment-970864306

Other details

No response

System details

$ hostnamectl:
Static hostname: raspberrypi
Icon name: computer
Machine ID: bb7a41ee9d1f4aa48e114ee01eaf4410
Boot ID: c097b363e631490fb6fdf53ee63c992c
Operating System: Debian GNU/Linux 11 (bullseye)
Kernel: Linux 6.1.21-v8+
Architecture: arm64

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.