acoplador
Docker es el camino más directo para el autohospedaje de Dory en un entorno accesible por navegador. El contenedor escucha en el puerto 3000.
Comando mínimo
docker run -d --name dory \
- p 3000:3000 \
- e DS_SECRET_KEY="$(openssl rand -base64 32 | tr -d '\n')" \
- e BETTER_AUTH_SECRET="$(openssl rand -hex 32)" \
- e BETTER_AUTH_URL="http://localhost:3000" \
- e NEXT_PUBLIC_REQUIRE_EM AI L_VERIFICATION=false \
- e DORY_INIT_USER_EM AI L=admin@getdory.dev \
- e DORY_INIT_USER_PASSWORD=admin \
dorylab/dory:latestAbra http://localhost:3000e inicie sesión con el usuario inicializado.
Habilitar IA
Agregue variables de entorno de IA cuando desee generación de SQL, chat de IA y análisis de resultados:
- e DORY_AI_PROVIDER=openai \
- e DORY_AI_MODEL=gpt-4o-mini \
- e DORY_AI_API_KEY=your_api_key_here \
- e DORY_AI_URL=https://api.openai.com/v1 \Los proveedores admitidos incluyen openai,openai-compatible,anthropic,google,qwen,xaiy meta.
Utilice un archivo .env
docker run -d --name dory \
- p 3000:3000 \
- -env-file .env \
dorylab/dory:latestDatos persistentes: PGlite (despliegues ligeros)
Dory usa PGlite de forma predeterminada como base de datos de aplicación integrada y ligera. Es una buena opción para evaluación local, demos, autohospedaje en un solo nodo y pruebas de equipos pequeños.
PGlite puede persistir datos en el sistema de archivos, pero no es un servidor Postgres tradicional con múltiples conexiones. Para entornos de producción formales de equipo, use Postgres externo.
Si continúa usando PGlite, monte /app/data en almacenamiento persistente y haga copias de seguridad periódicas de ese directorio:
docker volume create dory-data
docker run -d --name dory \
- p 3000:3000 \
- -env-file .env \
- e DB_TYPE=pglite \
- v dory-data:/app/data \
dorylab/dory:latestTambién puede utilizar un directorio de host:
mkdir -p /srv/dory/data
docker run -d --name dory \
- p 3000:3000 \
- -env-file .env \
- e DB_TYPE=pglite \
- v /srv/dory/data:/app/data \
dorylab/dory:latestLos archivos SQLite y DuckDB también deben montarse en el contenedor si desea que Dory los lea.
Configuración recomendada para producción: Postgres
Para entornos de producción formales de equipo, almacene los datos de aplicación de Dory en Postgres externo y gestione copias de seguridad, recuperación, monitoreo y permisos para esa base de datos:
DB_TYPE=postgres
DATABASE_URL=postgres://dory:strong_password@postgres.example.com:5432/doryLuego ejecute el contenedor con el mismo archivo .env :
docker run -d --name dory \
- p 3000:3000 \
- -env-file .env \
dorylab/dory:latestProxy inverso yHTTPS
Pon a Dory detrás deHTTPSpara los despliegues en equipo. Establezca BETTER_AUTH_URLen el público DoryURLe incluya eseURLen TRUSTED_ORIGINS.
Lista de verificación de actualización
- Haga una copia de seguridad de los datos persistentes y
.env. - Extraiga la nueva imagen.
- Detenga el contenedor viejo.
- Inicie el nuevo contenedor con el mismo archivo env y volumen.
- Verifique el inicio de sesión, las conexiones, la consola SQL, la IA y las consultas guardadas.
FAQ
¿Por qué los enlaces de autenticación utilizan el dominio incorrecto?
Compruebe que BETTER_AUTH_URLcoincida exactamente con el públicoURLque abren los usuarios.
¿Por qué la IA no está disponible?
Marque DORY_AI_PROVIDER,DORY_AI_MODEL,DORY_AI_API_KEYy DORY_AI_URL.
¿Por qué Docker no puede acceder a archivos SQLite o DuckDB locales?
El archivo debe montarse en el contenedor. Utilice la ruta dentro del contenedor al crear la conexión Dory.
Próximos pasos
¿Qué te pareció esta guía?
Autohospedaje
Planifique los límites de tiempo de ejecución, almacenamiento, red, seguridad e implementación para una implementación compartida de Dory.
Variables de entorno
Configure la autenticación de Dory, los proveedores de IA, el correo electrónico, OAuth, los orígenes MCP y los usuarios de inicio para la implementación.