CasaOS kan een website hosten, maar de website en de CasaOS-beheerinterface moeten als afzonderlijke services worden behandeld. Dat was het belangrijkste advies in deze korte thread uit oktober 2023: een webserver in Docker draaien is redelijk, terwijl het rechtstreeks openbaar maken van het CasaOS-dashboard een heel andere en veel risicovollere beslissing is.
Voor een eenvoudige statische site blijft Nginx een sterke keuze als container, omdat de officiële image met heel weinig configuratie een map met HTML, CSS, JavaScript en afbeeldingen kan aanbieden.
Voer de website uit in een eigen container
CasaOS is een beheerlaag voor Docker en bestanden op de onderliggende Linux-host. Een website hoeft daarom niet in de CasaOS-beheerservice zelf te worden geïnstalleerd.
Houd de webserver geïsoleerd in een eigen container met een speciale contentmap en alleen de poorten die deze nodig heeft.
De officiële Nginx-image kan statische inhoud rechtstreeks aanbieden
De huidige Nginx Docker-image ondersteunt het alleen-lezen koppelen van een lokale websitemap aan:
/usr/share/nginx/html
Dit model is ideaal voor een persoonlijke statische site, omdat het serverproces de inhoud kan lezen zonder de bronbestanden te wijzigen.
Gebruik de huidige officiële Nginx-containerindeling voor statische inhoud in plaats van een oude image van een derde partij uit een tutorial uit 2021 te kopiëren.
Apache is ook geschikt, maar de keuze vormt niet de beveiligingsgrens
De oorspronkelijke vraag ging over Apache versus Nginx. Met beide kun je een website goed hosten. Belangrijker zijn de beslissingen over hoe de container wordt bijgewerkt, waar de sitebestanden staan, of TLS is geconfigureerd en welke netwerkpoorten worden blootgesteld.
Overschakelen van Nginx naar Apache maakt een openbaar toegankelijk beheerdashboard niet veilig.
Houd het CasaOS-dashboard privé
De communityreactie waarschuwde expliciet tegen het openstellen van CasaOS zelf op internet. De beheerinterface kan bestanden, containers en andere serverfuncties beheren; door deze bloot te stellen ontstaat een veel groter aanvalsoppervlak dan bij het blootstellen van een beperkt geconfigureerde websitecontainer.
Houd beheer op het LAN of achter een private laag voor externe toegang.
Gebruik een privénetwerk voor beheer
De gebruiker uit de bron besloot CasaOS thuis te houden voor Jellyfin en Tailscale te gebruiken voor externe toegang tot Nextcloud. Dat is een goede scheiding van verantwoordelijkheden: openbaar websiteverkeer kan naar de webcontainer gaan, terwijl beheerservices alleen bereikbaar blijven via een privaat overlay-netwerk.
Als de website openbaar moet zijn, voeg dan TLS en een duidelijke ingang toe
Een openbare site heeft doorgaans een domeinnaam, een HTTPS-certificaat en routerdoorsturing of een geauthenticeerde architectuur met een reverse tunnel nodig. De precieze keuze hangt ervan af of je een openbaar IP-adres hebt en hoeveel infrastructuur je wilt beheren.
Publiceer alleen de webserverpoorten die de site nodig heeft. Stuur geen niet-gerelateerde CasaOS- of Docker-beheerpoorten door.
Werk de webcontainer en de contentstack bij
Een minimale statische Nginx-site heeft een relatief klein aanvalsoppervlak, maar de container heeft nog steeds beveiligingsupdates nodig. Dynamische sites die zijn gebouwd met PHP, WordPress, Node.js of een database bevatten veel meer bewegende onderdelen en moeten als applicatiestack worden bijgewerkt, niet als gewone statische bestanden worden behandeld.
Maak afzonderlijk een back-up van de website-inhoud
Bewaar de sitebestanden in een permanente hostmap of repository. Als de container opnieuw wordt gemaakt, moet de website herstelbaar zijn zonder de inhoud opnieuw op te bouwen vanuit het wegwerpbestandssysteem van een container.
Veelgestelde vragen over een CasaOS-webserver
Kan CasaOS een website hosten?
Ja. Een Nginx- of Apache-server in Docker kan webinhoud onafhankelijk van de CasaOS-interface publiceren.
Moet het CasaOS-dashboard zelf openbaar worden gemaakt?
De community uit de bron raadde dat specifiek af. Houd beheer privé.
Welke server is het eenvoudigst voor een statische site?
De officiële Docker-image van Nginx biedt een eenvoudige workflow voor statische inhoud.
