Skip to content

Repo that creates a workflow to automatically dockerize official upstream Saleor apps.

Notifications You must be signed in to change notification settings

djkato/saleor-dockerize-all-apps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b34ef81 · Jul 3, 2024

History

31 Commits
May 14, 2024
Jul 3, 2024
May 14, 2024
May 10, 2024
May 10, 2024
May 15, 2024
May 14, 2024
Apr 17, 2024
Apr 17, 2024
May 14, 2024
May 14, 2024
May 14, 2024
Jul 3, 2024
May 15, 2024
May 15, 2024
Jul 3, 2024
Jul 3, 2024
May 15, 2024

Repository files navigation

Buy Me a Coffee at ko-fi.com

Automatic Dockerization of official Saleor app

In this repo I created bash scripts and modifications to Saleor that allow for building docker images with a few commands, while staying uptodate with upstream saleor repos.

Current apps in repo:

  • saleor/apps
    • avatax
    • cms-v2¹
    • crm¹
    • data-importer
    • emails-and-messages
    • invoices
    • klaviyo
    • products-feed
    • search
    • segment¹
    • slack
    • smtp
    • taxjar
  • saelor/abandoned-checkouts
  • saelor/payment-stripe
  • saelor/payment-klarna
  • saelor/payment-authorize.net¹

¹ - doesn't build yet :(, Some I am able to fix later, some prolly not

Caveats

All apps from saleor/apps are upwards of 1.5gb in size, because of this pnpm workspace error

How to use

These images include RedisAPL, and that's what I recommend to use it with. Besides that, use it like any other docker image. For example:

services:
  app-payment-stripe:
    image: ghcr.io/djkato/saleor-app-payment-stripe:0.4.0
    env_file:
      - stripe.env
    networks:
      - saleor-app-tier
    depends_on:
      - redis-apl
    ports:
      - 3001:3001

  redis-apl:
    image: bitnami/redis:latest
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - DISABLE_COMMANDS=FLUSHDB,FLUSHALL,CONFIG
    ports:
      - 6380:6379
    networks:
      - saleor-app-tier
    volumes:
      - redis-apl:/bitnami/redis/data

volumes:
  redis-apl:
    driver: local
    driver_opts:
      type: none
      device: ./temp/volumes/redis/
      o: bind

networks:
  saleor-app-tier:
    driver: bridge

How to build

  • ./changes.sh - applies git patches and batch edits via rust to add RedisAPL to all apps, and allow them to build via other tweaks.
  • cargo make build-all or cargo make build-<Chosen app>

if you want to push built images to a repo, change the top env CONTAINER_PUSH_URL to your repo, for example "ghcr.io/djkato". Then you can do

  • cargo make push-all or APP=<Chosen app> cargo make push

Prerequisites

  • cargo
  • cargo-make
  • linux shell (bash)
  • rust stuff
  • git

Thanks Saleor for providing all these apps. Shame Saleor refuses to containerize them officially. Hope this repo helps you. If it does, consider buying me a langosz (donation button on top)!