Shopware 6 im Webhosting: Redis, OpenSearch & RabbitMQ mit Containern nutzen
Für viele Firmen ist E-Commerce immer wichtiger, und eine Plattform, die sich als besonders beliebt erweist, ist Shopware 6. Wenn Sie eine moderne und effiziente Grundlage für Ihren Online-Shop suchen, kann Shopware 6 die richtige Wahl sein. In diesem Artikel zeigen wir Ihnen, wie Sie Shopware 6 mit wichtigen Microservices wie Redis, OpenSearch und RabbitMQ aufsetzen.
Dabei wollen wir den Use-Case betrachten, dass Sie die Installation in einem bestehenden Webspace einrichten wollen. Zusätzlich zum Webspace benötigen Sie dennoch die entsprechenden Microservices – Redis, OpenSearch und RabbitMQ.
Shopware 6 im Webhosting mit Containern betreiben
Die oben genannten Microservices sind essenziell, wenn es darum geht, Shopware 6 zu betreiben. Redis, OpenSearch und RabbitMQ sorgen dafür, dass Ihre Plattform auch bei hoher Last stabil bleibt und alle Funktionen zuverlässig arbeiten. Unsere vorbereitete Docker-Compose-Datei bietet Ihnen einen schnellen Start. Mit Docker oder Podman können Sie die Dienste problemlos starten. Die jeweils aktuellen Container-Versionen finden Sie auf Docker Hub.
Wenn Sie die Container gestartet haben, können Sie die IP-Adresse Ihres Cloud-Servers in Shopware hinterlegen. RabbitMQ und OpenSearch können Sie als Umgebungsvariable in der ".env"-Datei hinterlegen. Redis muss je nach Stand Ihrer Installation ggf. in einer der Konfigurationsdateien hinterlegt werden.
version: '3.8'
name: shopware6
services:
redis:
# please get recent version from Docker hub
# see https://hub.docker.com/_/redis/tags?name=alpine
image: redis:7.4.1-alpine
restart: always
ports:
- '6379:6379'
command: redis-server --save 20 1 --loglevel warning --requirepass fCHrbJRXGGnrlXS
volumes:
- redis:/data
opensearch:
image: opensearchproject/opensearch:2
restart: always
ports:
- '9200:9200'
- '9600:9600'
environment:
- cluster.name=opensearch
- node.name=opensearch
- discovery.type=single-node
- bootstrap.memory_lock=true
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
- "DISABLE_INSTALL_DEMO_CONFIG=true"
- "DISABLE_SECURITY_PLUGIN=true"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- opensearch:/usr/share/opensearch/data
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: 'rabbitmq'
ports:
- 5672:5672
- 15672:15672
volumes:
- rabbitmq:/var/lib/rabbitmq/
volumes:
redis:
driver: local
opensearch:
driver: local
rabbitmq:
driver: local
Webhosting-Anbieter gibt es viele, aber Hetzner Online hat sich für uns als zuverlässige und kostengünstige Lösung erwiesen. Wir haben überaus positive Erfahrungen mit dem Managed Hosting von Hetzner gemacht. Wenn Sie jedoch Shopware 6 betreiben möchten, benötigen Sie einen zusätzlichen VPS, da auf dem regulären Webspace keine Docker-Container ausgeführt werden können.
Ein kleiner VPS – bereits für weniger als 10 € im Monat – reicht in vielen Fällen aus, um Shopware 6 bei moderater Last zu betreiben. In der Hetzner KonsoleH können Sie die notwendigen Ports öffnen, damit der Webserver auf die externen Dienste zugreifen kann.
Sicherheit geht vor: Firewall-Konfiguration in der Hetzner Cloud
Ein entscheidender Punkt für den sicheren Betrieb Ihres Online-Shops ist die richtige Absicherung der Dienste. Über die Hetzner Cloud Firewall können Sie den Datenverkehr so einschränken, dass nur Ihr Webserver Zugriff auf die Microservices hat. So bleibt Ihr Setup geschützt vor unbefugtem Zugriff.
Dieses Setup lässt sich nicht nur bei Hetzner umsetzen, sondern auch bei anderen Webhostern, die VPS-Dienste anbieten.