rocket_launch Deploy
Despliega en cualquier lugar.
PgStudio Gateway funciona en Docker, Kubernetes, Railway, Fly.io, Vercel + API externa, o cualquier VPS con Docker instalado. Elige la plataforma que mejor se adapte a tu infraestructura.
# Copia y configura las variables de entorno cp .env.production.example .env.production # Levanta el stack docker compose --env-file .env.production \ -f docker/docker-compose.yml up -d --build # Con base de datos de metadatos externa docker compose --env-file .env.production \ -f docker/docker-compose.external-db.yml up -d --build
# Construir imagen docker build -f docker/all-in-one.Dockerfile \ -t pgstudio/all-in-one:local . # Ejecutar localmente docker run --rm -p 8080:8080 \ -e NODE_ENV=production \ -e DATABASE_URL="postgresql://user:password@host:5432/pgstudio" \ -e JWT_SECRET="replace-with-32-plus-random-chars" \ -e JWT_REFRESH_SECRET="replace-with-other-32-plus-random-chars" \ -e CREDENTIALS_ENCRYPTION_KEY="replace-with-32-plus-random-chars" \ -e CORS_ORIGIN="http://localhost:8080" \ pgstudio/all-in-one:local
# 1. Crea un servicio PostgreSQL en Railway # 2. Crea un servicio desde este repositorio # 3. Usa deploy/railway/railway.json como Config as Code # 4. Configura las variables en el servicio PgStudio: NODE_ENV=production API_PORT=3000 DATABASE_URL=$${{Postgres.DATABASE_URL}} JWT_SECRET=<64+ random chars> JWT_REFRESH_SECRET=<different 64+ random chars> CREDENTIALS_ENCRYPTION_KEY=<64+ random chars> CORS_ORIGIN=https://<your-railway-domain>
# Copia y ajusta el nombre de app cp deploy/fly/fly.toml.example fly.toml # Crea y adjunta la base de datos de metadatos fly postgres create fly postgres attach <postgres-app-name> # Configura los secretos fly secrets set \ JWT_SECRET=<random> \ JWT_REFRESH_SECRET=<random> \ CREDENTIALS_ENCRYPTION_KEY=<random> # Despliega fly deploy -c deploy/fly/fly.toml
fly.toml.example
app = "pgstudio" primary_region = "mad" [build] dockerfile = "docker/all-in-one.Dockerfile" [http_service] internal_port = 8080 force_https = true auto_stop_machines = "stop" min_machines_running = 1 [[vm]] cpu_kind = "shared" cpus = 1 memory_mb = 1024
# 1. Despliega el API en Railway, Fly.io o Docker Compose # 2. Copia vercel.json.example y reemplaza el host del API cp deploy/vercel/vercel.json.example vercel.json # 3. Importa el repositorio en Vercel # 4. Vercel reescribe /api/* y /socket.io/* al API externo
# Con base de datos interna helm upgrade --install pgstudio deploy/helm/pgstudio \ --set secrets.jwtSecret="$(node -e "...")"\ --set secrets.jwtRefreshSecret="$(node -e "...")"\ --set secrets.credentialsEncryptionKey="$(node -e "...")"\ --set postgres.auth.password="$(node -e "...")" # Con base de datos de metadatos externa helm upgrade --install pgstudio deploy/helm/pgstudio \ --set postgres.enabled=false \ --set secrets.databaseUrl="postgresql://..." \ --set config.corsOrigin="https://pgstudio.example.com" \ --set ingress.enabled=true \ --set ingress.host="pgstudio.example.com"
¿Necesitas el modo Self-Hosted detallado?
Variables de entorno, arquitectura de servicios e instaladores automáticos.