[컴][웹] saleor 설치

세일러 / 쇼핑몰 / 장고 / python /

saleor 설치

django framework 로 만들어진 e-commerce 용 frmework 이다.

Prerequisites

설치 full

절차

  1. saleor-platform/docker-compose.yml 에서 storefrontsaleor-app-checkout 의 주석처리
  2. docker compose build
  3. storefrontsaleor-app-checkout 의 주석처리 없애고
  4. docker compose up

상세

saleor-platform/docker-compose.yml 에서 storefrontsaleor-app-checkout 만 주석처리하고, docker compose build를 한다.

  • storefront
  • saleor-app-checkout

docker compose build

위 2개는 build 를 하면, npm build 를 하는 듯 한데, 제대로 build 가 되지 않았다. 그래서 그냥 docker compose up할 때만 추가를 했는데, 제대로 동작했다. 원인은 현재로선 파악을 하지 않았다.

다시 storefrontsaleor-app-checkout의 주석을 풀고

docker compose up 

을 한다.

그리고 db migration 을 하고, 테스트 값을 만들기 위해 아래처럼 하면 된다.

docker compose run --rm api python3 manage.py migrate
docker compose run --rm api python3 manage.py collectstatic --noinput
docker compose run --rm api python3 manage.py populatedb --createsuperuser

--createsuperuser 를 하면 admin@example.com/admin으로 계정을 만들어준다.

설치, core api 만 사용시

saleor-platform 이라는 git repository 가 있다. 여기에 여러가지를 한번에 모아놨다. 이것을 이용해도 된다.

관련 내용은 다음 문서에서 확인할 수 있다.

git clone https://github.com/saleor/saleor-platform.git –recursive –jobs 3 cd saleor-platform

여기서는 saleor-platform 의 docker-compose.yml 를 수정해서 사용하려 한다.

기존의 docker-compose.yml을 아래처럼 줄였다.

version: "3.4"

services:
  api:
    build:
      context: ./saleor
      dockerfile: ./Dockerfile
      args:
        STATIC_URL: "/static/"
    ports:
      - 8000:8000
    # restart: unless-stopped
    networks:
      - saleor-backend-tier
    stdin_open: true
    tty: true
    # depends_on:
    #   - db
      # - redis
      # - jaeger
    volumes:
      - ./saleor/saleor/:/app/saleor:Z
      - ./saleor/templates/:/app/templates:Z
      - ./saleor/tests/:/app/tests
      # shared volume between worker and api for media
      # - saleor-media:/app/media
    command: python manage.py runserver 0.0.0.0:8000
    env_file:
      - common.env
      - backend.env
    # environment:
      # - JAEGER_AGENT_HOST=jaeger
      # - STOREFRONT_URL=http://localhost:3000/
      # - DASHBOARD_URL=http://localhost:9000/
      # - ALLOWED_HOSTS=localhost,api


  db:
    image: library/postgres:13-alpine
    ports:
      - 5432:5432
    restart: unless-stopped
    networks:
      - saleor-backend-tier
    volumes:
      - c:\saleor-platform\db\data:/var/lib/postgresql/data
      - ./replica_user.sql:/docker-entrypoint-initdb.d/replica_user.sql
    environment:
      - POSTGRES_USER=saleor
      - POSTGRES_PASSWORD=saleor

volumes:
  saleor-db:
    driver: local
  saleor-redis:
    driver: local
  saleor-media:

networks:
  saleor-backend-tier:
    driver: bridge

그리고, backend.env 에서 SECRET_KEY를 설정하자. 아무값이나 넣어놓자. 여기서 database 와 redis 설정을 해주는데, redis 는 무시하자. 이것때문에 추후 실행하면 error 가 보이긴 하지만, 큰 이슈는 없다.

이제 docker compose build를 하자.

cd saleor-platform
docker compose build

그러면, db 와 saleor web server 가 만들어진다.

이젠 db 를 만들어주자. 아래처럼 하면 된다. populatedb는 테스트 데이터를 넣어주는데, 굳이 필요하진 않다. 실행하면, redis 관련 에러가 보이긴 하지만, 무시해도 된다.

docker compose run –rm api python3 manage.py migrate docker compose run –rm api python3 manage.py populatedb docker compose run –rm api python3 manage.py createsuperuser

docker compose run –rm api python3 manage.py collectstatic –noinput

이제 실행하자.

docker compose up

웹 브라우저에서 http://localhost:8000/로 접근하면 화면이 보인다. core api server 는 8000 port 이다. 이것은 api server 이기에, view 가 보이진 않는다.(graphql page 는 있다.)

db client 로 postgreSQL 에 접근도 된다. 위에서 createsuperuser 를 하면 saleor/saleor 로 접속하면 된다.

단점

See Also

  1. [Saleor] Open-source e-commerce, 2021-02-08 : 직접 설치한 내용
  2. 커머스 한번 만들어 볼까? #1 (feat. Shopify) | by LEEER | Uconnec | Medium, 2020-04-02 : saleor 장단점에 대한 이야기가 있다.

댓글 없음:

댓글 쓰기