🆕 Cosmos 0.16 (ÄNTLIGEN) - Allt-i-ett sĂ€ker omvĂ€nd proxy, containerhanterare med appbutik, integrerad 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, vilka Àventyr! För 6 mÄnader sedan började jag arbeta med denna uppdatering, och vilken resa det varit! Huvudorsaken: Constellation (VPN)! Jag har alltid sett Constellation som en lösning för alla nÀtverksproblem vid egen hosting (tunneling/VPN som lÄter dig anvÀnda din server oavsett omstÀndigheter utan att öppna portar). Och Àven om det finns teknologier som ger dig nÀtverksfunktioner som Tailscale, kommer ingen lösning i nÀrheten av det stöd Constellation erbjuder, eftersom den integreras direkt i reverse-proxy och andra funktioner som anvÀndarhantering för en sömlös upplevelse. Den nivÄn av innovation gör Constellation svÄr att designa och implementera. Trots allt detta, Àr det Ànnu inte perfekt (Àn), men det Àr nu tillrÀckligt stabilt för att fungera för 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Äkigt stöd, mDNS-stöd, som ger dig automatisk *.local domÀn direkt ur lÄdan! Plus förbÀttringar av compose-import. Men jag ska förklara mer om dessa separat.


Denna uppdatering Àr super spÀnnande, eftersom det Àr ett stort steg framÄt mot att göra Cosmos till en fullt fÀrdig produkt, som kan lita pÄ i mÄnga Är framöver, och att samla resurser för att göra programvaran mer etablerad. Jag vill ocksÄ nÀmna att detta Àr den första versionen med sÄ mÄnga bidrag frÄn utvecklare, vilket för mig Àr Ànnu ett milstolpe som visar communityns intresse, och jag Àr otroligt tacksam för det! Jag vill Àven tacka alla som har testat versionen och delat sina instÀllningar för att stabilisera och testa den beta-versionen. Ni Àr hjÀltar!

HÀr Àr en pÄminnelse att detta kompletteras med befintliga funktioner:

  • App Store :package::mobile_phone: För enkel installation och hantering av dina appar, med enkla installatörer, automatiska uppdateringar och sĂ€kerhetskontroller. Kommer tillsammans med manuella installationsmetoder, som import av docker-compose-filer eller docker CLI.
  • Reverse-Proxy :counterclockwise_arrows_button::link: MĂ„l för containrar, andra servrar eller servera statiska mappar / SPA med automatisk HTTPS och en fin UI.
  • Lagringshanterare :open_file_folder::locked_with_key: För enkel hantering av dina diskar, inklusive Parity Disks och MergerFS.
  • Autentiseringsserver :locked_with_key::bust_in_silhouette: Med stark sĂ€kerhet**, flerskiktig autentisering** och flera strategier (OpenID, vidarebefordran av headers, HTML).
  • Anpassningsbar hemsida :house::framed_picture: För tillgĂ„ng till alla dina appar frĂ„n en plats, 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 sĂ€ker Ă„tkomst till dina appar var som helst, utan att öppna portar pĂ„ din router.
  • Övervakning :chart_increasing::bar_chart: FullstĂ€ndig, realtidsövervakning med anpassningsbara varningar och meddelanden.
  • 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ösenordsbyten via email.
  • SmartShield-teknologi :brain::shield: Automatiskt sĂ€kra dina appar utan manuell justering (se nedan för mer detaljer). Inkluderar anti-bot och anti-DDoS strategier.
  • CRON :three_o_clock::wrench: För enkel schemalĂ€ggning av tasker pĂ„ servern eller i containrar.

SÄ hÀr Àr det nya:

Constellation


StjÀrnan i showen! Mycket arbete har lagts ner pÄ detta, men hÀr Àr höjdpunkten:

  • Första en liten pĂ„minnelse, Constellation Ă€r en VPN+DNS-kombination som fungerar likt Tailscale, Ă€r helt sjĂ€lvhostad, och integreras i din reverse-proxy. Det gör att du kan komma Ă„t din server och appar utan att öppna portar eller CGNAT, och dess integration med reverse-proxy tillĂ„ter att automatiskt dirigera om alla dina förfrĂ„gningar dynamiskt utan att konfigurera manuella DNS-omskrivningar. Det ersĂ€tter ocksĂ„ PiHole med inbyggd spĂ„rnings- och annonsblockerare.
  • Jag har helt omarbetat anslutningssystemet, inklusive bĂ€ttre stöd för offline-anslutning, delvis IPV6-stöd, och mer.
  • Noder i Constellation synkroniseras automatiskt! Det betyder att om du Ă€ndrar din konfiguration pĂ„ din Cosmos-server, kommer andra Cosmos-servrar i din konstellation att hĂ€mta dessa instĂ€llningar. Det inkluderar Ă€ven synkronisering av anvĂ€ndare och autentiseringsuppgifter, sĂ„ alla dina servrar anvĂ€nder samma! Detta gör hanteringen av flera servrar mycket enklare. Detta Ă€r Ă€ven ramverket som senare ska möjliggöra Ă€nnu mer integration i flerserversystem! Jag kommer att utveckla detta i kommande versioner, som att visa alla dina servappar pĂ„ hemsidan, frĂ„n alla dina servrar!
  • Ny tunnelingfunktion! Om du vill ha appar som Ă€r tillgĂ€ngliga utan att koppla till din konstellation (t.ex. för delning), kan du skapa en tunnel mycket enkelt genom att vĂ€lja utgĂ„ngsnoden i URL:en, och voila! Det Ă€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 tillkĂ€nnagett!). Om du ville stödja Cosmos-utvecklingen, Ă€r detta din chans :wink:
  • I framtiden kommer mer arbete att göras pĂ„ Constellation, inklusive brandvĂ€ggar och möjligheten att lĂ€gga till dumb agency (som skrivare eller IoT). Ytterligare förbĂ€ttringar av routingen planeras ocksĂ„ för att sĂ€kerstĂ€lla att du alltid nĂ„r din server via den snabbaste vĂ€gen, oavsett var du ansluter ifrĂ„n!

FlersprÄkigt stöd (Tack madejackson!)


Denna funktion har nÀstan uteslutande arbetats med av madejackson, stort tack! Det gör att Cosmos UI nu Àr tillgÀngligt pÄ mÄnga sprÄk, inklusive möjligheten att ha appbutik pÄ olika sprÄk! Det stödjer 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 fick idén, vaknade jag mitt i natten, mycket exalterad över dess potential, och jag var tvungen att implementera det direkt!

Det den 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`, etc
 Normalt skulle du behöva konfigurera detta sjĂ€lv med en mDNS-server, men nu gör Cosmos det Ă„t dig! Det bĂ€sta Ă€r att, Ă€ven om detta normalt Ă€r opraktiskt eftersom det bara fungerar i det lokala nĂ€tverket, har Constellation en direkt integration som gör att du kan anvĂ€nda dina *.local-domĂ€ner Ă€ven pĂ„ distans!

Cosmos Compose FörbÀttringar


Som vanligt, flera förbÀttringar av compose-stödet, inklusive stöd för `depends_on` och `runtime`-alternativ, och 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:t, och det fungerar utan ytterligare Àndringar. Den patchar Àven compose-filen för att sÀkerstÀlla att dina containrar inte förlorar kontakt om de av nÄgon anledning mÄste Äterskapas!

Slutsats

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

Efter en kort paus pĂ„ en eller tvĂ„ veckor planerar jag att börja arbeta med sĂ€kerhetskopior. Jag tror att detta Ă€r den sista kritiska funktionen som saknas för Cosmos. Det inkluderar att ansluta till fjĂ€rrlagringar (Dropbox, Samba, etc
). För du vet
 du mĂ„ste ju ha nĂ„gonstans att lĂ€gga sĂ€kerhetskopior! :wink:

Tills dess, ser fram emot era kommentarer om uppdateringen, jag hoppas ni fÄr en fantastisk tid med den!

HÀr Àr hela changelog för uppdateringen:

## Version 0.16.0
 - FlersprÄkstöd (Tack @madejackson)
 - Automatisk publicering av mDNS för lokala nÀtverk
 - FörbÀttra offline-lÀge med Constellation
 - LĂ€gg till automatisk synkronisering av Constellation-noder
 - Constellation Àr nu betalfunktion
 - Noder i en konstellation kan nu synkronisera autentiseringsuppgifter automatiskt
 - FörbÀttra DNS-utmaningen med smartare resolution för snabbare och mer tillförlitliga resultat (sÀrskilt vid anvÀndning av lokala namnservrar)
 - ÅtgĂ€rda problem dĂ€r det var omöjligt att logga in med osĂ€kra lokala IP-adresser
 - BÀttre stöd för container/tjÀnsternas nÀtverkslÀge vid import av compose
 - StandardnÀtverk till 16 IP istÀllet för 8
 - Ytterligare förbÀttringar av docker-compose-import för att mima namn- och vÀrdnamnkonventioner
 - La till hostnamnessistens vid nÀtverksnamnomrÄden i compose
 - La till depends_on-villkor i compose-import
 - Lös problem med övervakning av containrar nÀr namn innehÄller punkt (Tack @BearTS)
 - La till email vid lyckad inloggning (Tack @BearTS)
 - LÀgg till stöd för runtime (Tack @ryan-schubert)
 - Omarbetade header och sidomeny
 - FörbÀttra VMware-detektion för Docker
 - Fixade smÄ UI-buggar med constellation-fliken
 - Stöder nu flera jokertecken för DNS-utmaningen