Spree Commerce на Pethost в один клик
Платформа электронной коммерции с открытым кодом: товары, заказы, платежи и headless API для любой витрины
Что произойдет
- Вы входите в Pethost или создаете аккаунт — с passkey, через GitHub или Google.
- Машины еще нет? Вы выбираете тариф, и мы готовим машину для вас. Ссылка ждет в вашем браузере, пока машина не будет готова.
- Окно «Новый проект» открывается на этом приложении. Вы заполняете то, что оно просит, и нажимаете «Создать проект»: Электронная почта, Пароль администратора.
- Через минуту-две приложение работает по своему адресу с HTTPS. Его секреты создаются случайно, а данные попадают в ночной бэкап.
- Это проект как любой другой: его compose.yaml, .env, логи и терминал — в панели, а ваш агент может его изменить, откатить или восстановить.
Первые шаги
Войдите на https://spree.sam.pethost.app/admin с почтой и паролем администратора, которые вы указали: Spree создаёт этого администратора при первом запуске. Там настраиваются товары, способы оплаты и доставка.
Что запускается
Шаблон — это этот compose.yaml и переменные, которые он пишет в .env проекта. Pethost запускает файл так, как он написан.
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: