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
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
För att rikta mot containrar, andra servrar eller serva statiska mappar / SPA med automatisk HTTPS, och en trevlig UI.
- Lagringshanterare
För att lÀtt hantera dina diskar, inklusive Parity Disks och MergerFS.
- Autentiseringsserver
Med stark sÀkerhet**, multifaktorautentisering** och flera strategier (OpenID, forwarding headers, HTML).
- Anpassningsbar startsida
För att fÄ tillgÄng till alla dina appar frÄn ett stÀlle, med en vacker och anpassningsbar UI.
- Containerhanterare
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
För att sÀkert fÄ tillgÄng till dina appar var som helst, utan att öppna portar i din router.
- Ăvervakning
FullstÀndig och i realtid, med anpassbara varningar och notifikationer, sÄ att du kan bli underrÀttad om nÄgra problem.
- Identitetsleverantör
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
Automatiskt sÀkra dina appar utan manuell justering (se nedan för mer info). Inkluderar anti-bot och anti-DDoS strategier.
- CRON
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
- 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!
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?
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!