--- title: Docker description: Sim mit Docker Compose bereitstellen --- import { Tab, Tabs } from 'fumadocs-ui/components/tabs' import { Callout } from 'fumadocs-ui/components/callout' ## Schnellstart ```bash # Clone and start git clone https://github.com/simstudioai/sim.git && cd sim docker compose -f docker-compose.prod.yml up -d ``` Öffnen Sie [http://localhost:3000](http://localhost:3000) ## Produktionseinrichtung ### 1. Umgebung konfigurieren ```bash # Generate secrets cat > .env << EOF DATABASE_URL=postgresql://postgres:postgres@db:5432/simstudio BETTER_AUTH_SECRET=$(openssl rand -hex 32) ENCRYPTION_KEY=$(openssl rand -hex 32) INTERNAL_API_SECRET=$(openssl rand -hex 32) NEXT_PUBLIC_APP_URL=https://sim.yourdomain.com BETTER_AUTH_URL=https://sim.yourdomain.com NEXT_PUBLIC_SOCKET_URL=https://sim.yourdomain.com EOF ``` ### 2. Dienste starten ```bash docker compose -f docker-compose.prod.yml up -d ``` ### 3. SSL einrichten Caddy verwaltet SSL-Zertifikate automatisch. ```bash # Install Caddy sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update && sudo apt install caddy ``` Erstellen Sie `/etc/caddy/Caddyfile`: ``` sim.yourdomain.com { reverse_proxy localhost:3000 handle /socket.io/* { reverse_proxy localhost:3002 } } ``` ```bash sudo systemctl restart caddy ``` ```bash # Install sudo apt install nginx certbot python3-certbot-nginx -y # Create /etc/nginx/sites-available/sim server { listen 80; server_name sim.yourdomain.com; location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; } location /socket.io/ { proxy_pass http://127.0.0.1:3002; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } # Enable and get certificate sudo ln -s /etc/nginx/sites-available/sim /etc/nginx/sites-enabled/ sudo certbot --nginx -d sim.yourdomain.com ``` ## Ollama ```bash # With GPU docker compose -f docker-compose.ollama.yml --profile gpu --profile setup up -d # CPU only docker compose -f docker-compose.ollama.yml --profile cpu --profile setup up -d ``` Zusätzliche Modelle herunterladen: ```bash docker compose -f docker-compose.ollama.yml exec ollama ollama pull llama3.2 ``` ### Externes Ollama Wenn Ollama auf Ihrem Host-Rechner läuft (nicht in Docker): ```bash # macOS/Windows OLLAMA_URL=http://host.docker.internal:11434 docker compose -f docker-compose.prod.yml up -d # Linux - use your host IP OLLAMA_URL=http://192.168.1.100:11434 docker compose -f docker-compose.prod.yml up -d ``` Innerhalb von Docker bezieht sich `localhost` auf den Container, nicht auf Ihren Host. Verwenden Sie `host.docker.internal` oder die IP-Adresse Ihres Hosts. ## Befehle ```bash # View logs docker compose -f docker-compose.prod.yml logs -f simstudio # Stop docker compose -f docker-compose.prod.yml down # Update docker compose -f docker-compose.prod.yml pull && docker compose -f docker-compose.prod.yml up -d # Backup database docker compose -f docker-compose.prod.yml exec db pg_dump -U postgres simstudio > backup.sql ```