🆕 Cosmos 0.16 (ÄNTLIGEN) - Allt-i-ett sĂ€kert omvĂ€nd proxy, containerhanterare med appbutik, integrerat VPN, autentiseringsleverantör och övervakning, nu med flersprĂ„kstöd, helt omarbetad VPN, mDNS och mĂ„nga förbĂ€ttringar

lÀnk: https://github.com/azukaar/Cosmos-Server/

Wow, vilken resa! För 6 mÄnader sedan började jag arbeta med denna uppdatering, och oj vilken Àventyr det var! Huvudorsaken: Constellation (VPN)! Jag sÄg alltid Constellation som den lösning som skulle lösa alla nÀtverksproblem vid sjÀlvhosting (tunnling/VPN som tillÄter dig att anvÀnda din server i alla omstÀndigheter utan att öppna nÄgra portar). Och trots att det finns nÄgra teknologier som liknar nÀtverksdelen, som Tailscale, kommer ingen lösning i nÀrheten av den nivÄ av helhetssupport som Constellation erbjuder, dÄ den integreras direkt i omvÀnd proxy och andra funktioner som anvÀndarhantering för en helt sömlös upplevelse. Den typen av nyhet Àr vad som gjorde Constellation sÄ svÄr att designa och implementera. Trots allt detta arbete, Àr det fortfarande inte perfekt (Àn), men det Àr tillrÀckligt stabilt för att hantera mÄnga anvÀndningsfall och Àr mycket enklare att anvÀnda Àn nÄgonsin.

Förutom detta, har Cosmos 0.16 mÄnga spÀnnande förbÀttringar, sÄsom FlersprÄk och mDNS-stöd, som ger dig automatiska *.local domÀner direkt ur lÄdan! Samt förbÀttringar till compose importering. Men jag kommer att fördjupa mig i dessa separat.


Denna uppdatering Àr superspÀnnande, eftersom det Àr ett stort steg framÄt mot att göra Cosmos till en fullvÀrdig produkt, som kan förlitas pÄ i mÄnga Är framöver, och för att börja samla resurser kring projektet för att bli en mer seriös etablerad programvara. Dessutom vill jag nÀmna att detta Àr den första versionen med sÄ mÄnga bidrag frÄn utvecklare! Vilket för mig Àr ett annat milstolpe som visar communityns intresse, och jag kan inte vara mer tacksam för det! Jag vill ocksÄ tacka alla som Àgnat tid Ät att testa versionen och erbjuda sina setup för att stabilisera och testa betan, ni Àr hjÀltar!

Som en pÄminnelse, finns detta sida vid sida med de befintliga funktionerna:

  • Appbutik :package::mobile_phone: För att enkelt installera och hantera dina appar, med enkla installatörer, automatiska uppdateringar och sĂ€kerhetskontroller. Detta fungerar tillsammans med manuella installationsmetoder, som att importera docker-compose-filer eller anvĂ€nda docker CLI.
  • OmvĂ€nd proxy :counterclockwise_arrows_button::link: För att rikta mot containrar, andra servrar eller serva statiska mappar / SPA med automatisk HTTPS, och en trevlig UI.
  • Lagringshanterare :open_file_folder::locked_with_key: För att lĂ€tt hantera dina diskar, inklusive Parity Disks och MergerFS.
  • Autentiseringsserver :locked_with_key::bust_in_silhouette: Med stark sĂ€kerhet**, multifaktorautentisering** och flera strategier (OpenID, forwarding headers, HTML).
  • Anpassningsbar startsida :house::framed_picture: För att fĂ„ tillgĂ„ng till alla dina appar frĂ„n ett stĂ€lle, med en vacker och anpassningsbar UI.
  • Containerhanterare :whale::wrench: För att enkelt hantera dina containrar och deras instĂ€llningar, hĂ„lla dem uppdaterade samt granska deras sĂ€kerhet. Inkluderar stöd för docker-compose!
  • VPN :globe_with_meridians::locked: För att sĂ€kert fĂ„ tillgĂ„ng till dina appar var som helst, utan att öppna portar i din router.
  • Övervakning :chart_increasing::bar_chart: FullstĂ€ndig och i realtid, med anpassbara varningar och notifikationer, sĂ„ att du kan bli underrĂ€ttad om nĂ„gra problem.
  • Identitetsleverantör :boy::woman: För att enkelt hantera dina anvĂ€ndare, bjuda in vĂ€nner och familj till dina appar utan att dela inloggningsuppgifter. LĂ„t dem begĂ€ra lösenordsĂ€ndring via email istĂ€llet för att du manuellt lĂ„ser upp deras konto!
  • SmartShield-teknologi :brain::shield: Automatiskt sĂ€kra dina appar utan manuell justering (se nedan för mer info). Inkluderar anti-bot och anti-DDoS strategier.
  • CRON :three_o_clock::wrench: För att enkelt schemalĂ€gga uppgifter pĂ„ servern eller inuti containrar.

SÄ hÀr Àr de nya funktionerna:

Constellation


StjÀrnan i showen! Det har lagts ner mycket arbete pÄ detta, men hÀr Àr höjdpunkten av det viktigaste:

  • En liten pĂ„minnelse, Constellation Ă€r en VPN+DNS-kombination som liknar Tailscale, Ă€r helt sjĂ€lvhostad, och integreras i din omvĂ€nd proxy. Det ger dig möjlighet att komma Ă„t din server och appar utan att öppna portar och bakom CGNAT, och integrationen i proxy:n gör att automatisk omdirigering av alla dina förfrĂ„gningar sker dynamiskt utan att konfigurera manuella DNS-omskrivningar. Det ersĂ€tter ocksĂ„ PiHole med ett inbyggt spĂ„rnings/annonsblockerare.
  • Jag har omarbetat anslutningssystemet helt, med bĂ€ttre stöd för offline-anslutning, delvis IPV6-stöd, och mer.
  • Constellation-noder synchroniseras automatiskt! Det betyder att om du Ă€ndrar din konfiguration pĂ„ din Cosmos-server, kommer andra Cosmos-servrar i din constellation att ta upp dessa konfigurationer. Det inkluderar ocksĂ„ synkronisering av anvĂ€ndare och inloggningsuppgifter, sĂ„ att alla dina servrar anvĂ€nder samma! Detta gör hantering av flera servrar mycket enklare. Det Ă€r ocksĂ„ den grundstruktur som senare kommer att tillĂ„ta Ă€nnu mer integration i multi-server setupar! Jag kommer att utveckla detta mer i en kommande version, som att se alla dina servar pĂ„ hemsidan, frĂ„n alla dina servrar!
  • Ny tunnling funktion! Om du vill ha appar som Ă€r tillgĂ€ngliga utan att ansluta till din constellation (ex. för att dela dem) kan du skapa en tunnel mycket enkelt genom att vĂ€lja utdata-noden i URL-instĂ€llningen, och voilĂ ! Detta Ă€r en fullstĂ€ndig sjĂ€lvhostad ersĂ€ttning för Cloudflare Tunnel, och stöder alla andra Cosmos-funktioner som SSO (autentisering) och Smart-Shield (HTTP-skydd med hastighetsbegrĂ€nsning och andra funktioner)
  • Viktigt att notera: Constellation blir en betalfunktion i denna version, Ă€ntligen (som planerat och utannonserat tidigare!). Om du ville stötta utvecklingen av Cosmos, Ă€r detta nu er chans :wink:
  • I framtiden kommer mer arbete att göras med Constellation, dĂ€r interna brandvĂ€ggar fortfarande saknas och möjligheten att lĂ€gga till dumb-enheter (som skrivare eller IoT) i din constellation utan att behöva installera nĂ„got pĂ„ dem Ă€r planerad. En annan sak jag arbetar med Ă€r ytterligare förbĂ€ttringar av routingen, för att sĂ€kerstĂ€lla att oavsett var du Ă€r ansluten ifrĂ„n (hemma, pĂ„ distans, osv.) ska du alltid nĂ„ din server pĂ„ det snabbaste sĂ€ttet, snarare Ă€n att alltid tunnla samtal som Wireguard skulle göra. Jag mĂ„ste ocksĂ„ arbeta mer med iOS-appen
 FörlĂ„t, guys!

FlersprÄkstöd (Tack madejackson!)


Denna funktion har nÀstan uteslutande utvecklats av madejackson, sÄ stort tack! Den gör vad den lovar: Cosmos UI Àr nu tillgÀnglig pÄ mÄnga sprÄk, inklusive möjligheten att ha appbutiken pÄ olika sprÄk! Det stöder för nÀrvarande 17 sprÄk.

Automatisk mDNS


Detta var inte ens planerat som en funktion till en början, men nÀr jag kom pÄ idén, vaknade jag mitt i natten, mycket exalterad över potentialen detta hade för anvÀndarna, och jag var tvungen att implementera det direkt!

Vad det gör Ă€r i princip att lĂ„ta din server anvĂ€nda *.local domĂ€ner. Till exempel, din server kan vara `cosmos.local`, och dina appar `jellyfin.local`, `notes.local`, osv
 Normalt skulle du behöva stĂ€lla in detta sjĂ€lva med en mDNS-server, men nu gör Cosmos allt detta Ă„t dig! Det bĂ€sta Ă€r att detta normalt Ă€r mycket opraktiskt eftersom det bara fungerar i det lokala nĂ€tverket, men Constellation har en direkt integration som tillĂ„ter dig att anvĂ€nda *.local domĂ€ner Ă€ven pĂ„ distans!

FörbÀttringar av Cosmos Compose


Som vanligt, flera förbÀttringsrundor för compose-stöd, inklusive stöd för `depends_on` och `runtime`-alternativ, samt bÀttre stöd för nÀtverkslÀge. Om du anvÀnder glueten eller liknande, kan du nu importera en glueten docker-compose direkt i UI:n och det fungerar direkt utan vidare Àndringar / pillande! Det kommer Àven att patcha kompositionen sÄ att dina containrar inte förlorar anslutning om de Äterskapas individuellt (en kÀnd Docker-bug).

Sammanfattning

Wow, det blev mycket! Jag Àlskar vad Cosmos hÄller pÄ att bli och jag Àlskar communityns entusiasm, tack till er alla för att ni fortfarande Àr hÀr! :smiley:

Just nu, efter en kort paus pĂ„ en eller tvĂ„ veckor, planerar jag att börja arbeta med sĂ€kerhetskopiering. Jag tror att detta Ă€r den sista kritiska funktionen som saknas i Cosmos. Detta kommer att inkludera fjĂ€rrlagringsanslutning (Dropbox, Samba, osv
) eftersom du vet
 Du mĂ„ste ha nĂ„gonstans att lagra sĂ€kerhetskopior, eller hur? :wink:

Tills dess, ser fram emot feedback pÄ uppdateringen, jag hoppas att ni alla kommer att ha en fantastisk tid med den!

HÀr Àr hela change log för uppdateringen:

## Version 0.16.0
 - FlersprÄkstöd (Tack @madejackson)
 - Lagt till automatisk mDNS-publicering för lokala nÀtverk
 - FörbÀttrat offline-lÀge med Constellation
 - Lagt till automatisk synkronisering av Constellation-noder
 - Constellation Àr nu betalfunktion
 - Noder i en constellation kan nu automatiskt synkronisera inloggningsuppgifter
 - FörbÀttrat DNS-utmaning med smartare upplösning för snabbare och mer pÄlitliga resultat (sÀrskilt nÀr man anvÀnder lokala nameservers)
 - Fixa problem dÀr det var omöjligt att logga in med osÀkra lokala IP-adresser
 - BÀttre stöd för containrar/tjÀnsters nÀtverkslÀgen nÀr man importerar compose
 - StandardnÀtverk tilldelas nu 16 IP:er istÀllet för 8
 - Ytterligare förbÀttring av docker-compose-import för att efterlikna namngivning och hostnaming-konvention
 - Lagt till hostname-ning för compose nÀtverksnamnrymder
 - Lagt till depends_on-villkor för compose-import
 - Fixa problem med övervakning av containrar nÀr namn innehÄller en punkt (Tack @BearTS)
 - Lagt till email vid lyckad inloggning  (Tack @BearTS)
 - Lagt till stöd för runtime (Tack @ryan-schubert)
 - FĂ€rgat om header och sidopanel lite
 - FörbÀttrat Docker VM-detektering
 - Fixa ett litet UI-bug med constellation-fliken dÀr UI hamnar efter
 - Support för flera jokersymboler samtidigt för DNS-utmaningen

Tack för att du engagerar dig!

Wow.. vilken stor uppdatering. Jag Àr exalterad att sÀtta igÄng med Constellation och börja anvÀnda den. Tack kompis för ditt hÄrda arbete.

MDNS-implementeringen verkar missförstÄ saker.

Du sÀtter inte upp en MDNS-server.. att anvÀnda .local som TLD i traditionella unicast DNS-serverimplementationer tenderar att orsaka konstiga problem och bryta saker pÄ grund av sÀrskild hantering i olika implementationer.

Det finns andra TLD som skulle / borde ha anvÀnts.. t.ex. .home, .lan, .corp, .private, .internal

https://datatracker.ietf.org/doc/html/rfc6762

Eyyy, grattis till den stora releasen!!

Jag mÄste sÀga att constellation-prissÀttningen Àr en stor miss för mig. Vid $7.15 per mÄnad blir det över $80 per Är för min hemlabb. Jag betalar inte sÄ mycket per Är för mina 3 VPS-noder.just nu kommer jag att slÀppa constellation och bara skapa Wireguard-tunnlar. Det Àr ocksÄ det enda VPN i det open source-omrÄdet som tar sÄ mycket betalt, och ingen gratis eller gemenskapsalternativ som har begrÀnsningar.

Jag hoppas att resten av projektet inte gÄr den vÀgen. Jag gillar verkligen funktionerna för SSO och sÀkerhet som Àr allt-i-ett. Jag skulle hata att tvingas flytta bort frÄn Cosmos.

Jag vill stÀlla en lite dum frÄga, jag vill testa detta för att se hur det ser ut men min setup Àr nu en unraid-server som kör alla tjÀnster och en liten pc som kör home assistant. HA kör nginx, octoxy, VPN och AdGuard.
Cosmos skulle i princip ta hand om allt det dÀr sjÀlv men skulle det vara meningsfullt att köra den pÄ unraid-maskinen? DÄ skulle den ta hand om allt som körs pÄ HA.

Det verkliga frĂ„gan Ă€r, hur testar jag Cosmos utan att Ă€ndra pĂ„ setupen som körs nu? Är det möjligt?

Jag har en frÄga. Jag vill veta om det Àr möjligt att anvÀnda Cosmos som en omvÀnd proxy för att anvÀndas i Cloudflare.

Jag anvÀnder Cloudflared för att generera tunnlar eftersom jag Àr bakom CGNat och mina sjÀlvhostade sidor kan gÄ ut pÄ internet.

Constellation Àr en betalfunktion och jag vill inte förlora all konfiguration jag har nu.

Tack för ett fantastiskt arbete.

Kan jag frÄga om nÄgon fÀrdplan för att stödja OpenZiti? (Jag sÄg ett tidigare inlÀgg dÀr det eventuellt kan ingÄ i VPN-sessionen, ziti Àr verkligen ett av de fantastiska produkterna)

Kan noder fungera som NAT-gateway ocksÄ? Det skulle vara fantastiskt för IoT-stöd.

HĂ€lsningar,

Lawes

Underbar uppdatering.

Det enda jag inte förstod Àr betalfunktionen.

NÀr det blir ett riktigt solid betaltjÀnst, kommer folk att sluta anvÀnda Cosmos eftersom det kommer att bli som Cloudflare, Tailscale + CasaOS/umbrel/runtipi eller missar jag nÄgot?

Jag har anvÀnt den senaste versionen och uppdateringarna av vissa program har inte direkt förbÀttrat nÄgot. Vissa program blev betalförbÀttringar som Constellation, vissa stöd Àr oförÀndrade frÄn början med docker-compose fortfarande utan möjlighet att konfigurera env_file,

LÄt mig veta hur det gÄr!

Ja, Constellation lÄter hÀftigt! För allmÀn surfning Àr en bra VPN-tjÀnst fortfarande ett mÄste. NordVPN Àr stabil, och du kan oftast hitta de bÀsta erbjudandena pÄ Thorynex.

Det finns faktiskt ingen intern multicast-server, det Àr lite av en sprÄklig genvÀg. Men som nÀmnts i dokumentationen, förlitar sig Cosmos pÄ Avahi för att sÀnda ut mDNS-tjÀnster, jag anvÀnder inte unicast, förutom i Constellation, som faktiskt anvÀnder unicast för det, vilket Àr okej eftersom nÀr du Àr inloggad i Constellation anvÀnder nÀtverksadaptern uteslutande unicast DNS.

Tack!!! SÄ glad att fÄ detta gjort haha.

Tack, jag uppskattar det! K8s kommer definitivt lÀngre fram pÄ vÀgen eftersom det Àr ganska nischat för hem setup och kan integreras i större system.

Det Àr billigare Àn bÄde Cloudron och Unraid.

Medan endast Constellation Àr lÄst utanför gratisnivÄn, betalar du egentligen för Cosmos som helhet.

Ja, starta bara containern med docker-kommandot pÄ unraid-maskinen, den utför inga destruktiva operationer, och du kan se om nÄgra funktioner Àr vÀrda att lÀgga till i din setup! (Antagligen skulle reverse proxy vara det).

Det ser normalt ut, du bör kunna komma Ät Cosmos med din servers IP! eller med setup-cosmos.local om du har Bonjour installerat.

Tveka inte att skapa ett inlÀgg eller gÄ med i discord för ytterligare hjÀlp.

Ja, du kan, vissa gör det pÄ Discord.

  • Det kommer inte att finnas stöd för OpenZiti, samtalet droppades.

  • Stöd för gateway-noder Ă€r planerat.