Despliega Spree Commerce en Pethost con un clic
Una plataforma de comercio electrónico de código abierto: productos, pedidos, pagos y una API headless para cualquier tienda
Qué pasa
- Inicias sesión en Pethost o creas una cuenta, con una passkey, GitHub o Google.
- ¿Aún no tienes máquina? Eliges un plan y te preparamos una. El enlace espera en tu navegador hasta que esté lista.
- Nuevo proyecto se abre en la app. Rellenas lo que pide y haces clic en Crear proyecto: Correo electrónico, Contraseña de administrador.
- En un par de minutos la app está en marcha en su propia dirección con HTTPS. Sus secretos se generan al azar para ella, y sus datos entran en el backup de cada noche.
- Es un proyecto como cualquier otro: su compose.yaml, su .env, sus logs y un terminal están en el panel, y tu agente puede cambiarlo, volver a una versión anterior o restaurarlo.
Primeros pasos
Entra en https://spree.sam.pethost.app/admin con el correo y la contraseña de administrador que indicaste: Spree crea ese administrador en el primer arranque. Ahí se configuran los productos, los métodos de pago y los envíos.
Qué ejecuta
La plantilla es este compose.yaml y las variables que escribe en el .env del proyecto. Pethost ejecuta el archivo tal como está escrito.
services:
spree:
image: ghcr.io/spree/spree:5.6.1
restart: unless-stopped
environment:
DATABASE_URL: postgres://spree:${POSTGRES_PASSWORD}@postgres:5432/spree_production
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY: ${ENCRYPTION_PRIMARY_KEY}
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY: ${ENCRYPTION_DETERMINISTIC_KEY}
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT: ${ENCRYPTION_KEY_DERIVATION_SALT}
SPREE_HOST: ${HOST}
RAILS_HOST: ${HOST}
# The seed makes the first admin from these instead of a stock account.
ADMIN_EMAIL: ${ADMIN_EMAIL}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
volumes:
- storage:/rails/storage
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:18-alpine
restart: unless-stopped
environment:
POSTGRES_USER: spree
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: spree_production
volumes:
- db:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U spree -d spree_production"]
interval: 5s
timeout: 5s
retries: 10
volumes:
storage:
db: