Repo that creates a workflow to automatically dockerize official upstream Saleor apps.
Find a file
2024-07-03 16:08:12 +02:00
all_apps update apps repo 2024-05-14 18:04:59 +02:00
changes small refactor 2024-07-03 16:08:12 +02:00
modify-next-config wrong path 2024-05-14 17:29:19 +02:00
modify-saleor-app git snippets and other hacks seem to work now 2024-05-10 17:03:03 +02:00
modify-turbo-json almost got it working 2024-05-10 20:05:49 +02:00
patches fix slack, fix all apps.Dockerfile 2024-05-15 15:31:44 +02:00
.dockerignore saleor/apps didn't build again 2024-05-14 21:00:06 +02:00
.gitignore init 2024-04-17 17:30:51 +02:00
.gitmodules init 2024-04-17 17:30:51 +02:00
apps.Dockerfile label for push filtering 2024-05-15 18:00:28 +02:00
Cargo.lock all_apps/apps now building! 2024-05-14 15:05:11 +02:00
Cargo.toml all_apps/apps now building! 2024-05-14 15:05:11 +02:00
changes.sh small refactor 2024-07-03 16:08:12 +02:00
emails.test.env small refactor 2024-07-03 16:08:12 +02:00
FUNDING.yml plz gimme money c: 2024-05-14 18:20:36 +02:00
Makefile.toml small refactor 2024-07-03 16:08:12 +02:00
other.Dockerfile label for push filtering 2024-05-15 18:00:28 +02:00
README.md slack, smtp builds 2024-05-15 16:14:42 +02:00

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)!