Polski
Zacznij
← Wszystkie szablony

Wdróż aplikację Spree Commerce na Pethost jednym kliknięciem

Otwartoźródłowa platforma e-commerce: produkty, zamówienia, płatności i headless API dla dowolnego sklepu

Co się dzieje

  1. Logujesz się do Pethost albo zakładasz konto, kluczem dostępu, przez GitHub albo Google.
  2. Nie masz jeszcze maszyny? Wybierasz plan, a my ją dla ciebie przygotowujemy. Link czeka w twojej przeglądarce, aż będzie gotowa.
  3. Okno „Nowy projekt” otwiera się na tej aplikacji. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: E-mail, Hasło administratora.
  4. Za minutę czy dwie aplikacja działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
  5. To projekt jak każdy inny: jego compose.yaml, .env, logi i terminal są w panelu, a twój agent może go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

Pierwsze kroki

Zaloguj się na https://spree.sam.pethost.app/admin adresem e-mail i hasłem administratora, które podano: Spree tworzy tego administratora przy pierwszym starcie. Tam ustawia się produkty, metody płatności i wysyłkę.

Co uruchamia

Szablon to ten compose.yaml i zmienne, które zapisuje do .env projektu. Pethost uruchamia plik dokładnie tak, jak jest napisany.

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: