mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-29 00:38:03 -05:00
156 lines
3.7 KiB
Plaintext
156 lines
3.7 KiB
Plaintext
---
|
|
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
|
|
|
|
<Tabs items={['Caddy (Empfohlen)', 'Nginx + Certbot']}>
|
|
<Tab value="Caddy (Empfohlen)">
|
|
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
|
|
```
|
|
|
|
</Tab>
|
|
<Tab value="Nginx + Certbot">
|
|
|
|
```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
|
|
```
|
|
|
|
</Tab>
|
|
</Tabs>
|
|
|
|
## 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
|
|
```
|
|
|
|
<Callout type="warning">
|
|
Innerhalb von Docker bezieht sich `localhost` auf den Container, nicht auf Ihren Host. Verwenden Sie `host.docker.internal` oder die IP-Adresse Ihres Hosts.
|
|
</Callout>
|
|
|
|
## 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
|
|
```
|