No description
  • TypeScript 94.1%
  • Shell 3.5%
  • JavaScript 1.7%
  • CSS 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-02 03:15:57 -04:00
backend Add production Medusa v2 Coolify stack with Jenkins CI. 2026-07-01 22:43:17 -04:00
docs Use forgejo-erpnext Jenkins credential for registry push 2026-07-02 03:15:57 -04:00
scripts Use forgejo-erpnext Jenkins credential for registry push 2026-07-02 03:15:57 -04:00
storefront Add production Medusa v2 Coolify stack with Jenkins CI. 2026-07-01 22:43:17 -04:00
.dockerignore Add production Medusa v2 Coolify stack with Jenkins CI. 2026-07-01 22:43:17 -04:00
.gitignore Add production Medusa v2 Coolify stack with Jenkins CI. 2026-07-01 22:43:17 -04:00
coolify.env.example Split CI: Jenkins builds backend only; Coolify builds storefront 2026-07-02 03:04:09 -04:00
docker-compose.dev.override.yml Add production Medusa v2 Coolify stack with Jenkins CI. 2026-07-01 22:43:17 -04:00
docker-compose.dev.prod.yml Add production Medusa v2 Coolify stack with Jenkins CI. 2026-07-01 22:43:17 -04:00
docker-compose.dev.yml Add production Medusa v2 Coolify stack with Jenkins CI. 2026-07-01 22:43:17 -04:00
docker-compose.yml Split CI: Jenkins builds backend only; Coolify builds storefront 2026-07-02 03:04:09 -04:00
example.env Split CI: Jenkins builds backend only; Coolify builds storefront 2026-07-02 03:04:09 -04:00
Jenkinsfile Use forgejo-erpnext Jenkins credential for registry push 2026-07-02 03:15:57 -04:00
LICENSE Add production Medusa v2 Coolify stack with Jenkins CI. 2026-07-01 22:43:17 -04:00
Makefile Add production Medusa v2 Coolify stack with Jenkins CI. 2026-07-01 22:43:17 -04:00
README.md Split CI: Jenkins builds backend only; Coolify builds storefront 2026-07-02 03:04:09 -04:00

Production Medusa v2 on Coolify

Custom Docker images and Compose stack for Medusa e-commerce with a Next.js storefront.

Repository: https://git.aexoradao.com/epistemophiliac/medusa

Architecture (why Jenkins ≠ storefront)

Component Built where Why
Backend Jenkins → Forgejo :main No public URL needed at build time (like ERPNext)
Storefront Coolify at deploy NEXT_PUBLIC_* URLs are baked into Next.js at docker build — Coolify knows your domains via SERVICE_URL_*

Stack

Service Port Role
storefront 8000 Next.js shop (COMPOSE_PROFILES=shop)
backend 9000 API + admin at /app
worker Background jobs
postgres / redis Data layer

Pipeline (Jenkins)

  1. Validate compose + readiness
  2. Build backend only (backend/Dockerfile.prod)
  3. Push git.aexoradao.com/epistemophiliac/medusa-backend:main
  4. Archive dist/coolify-image.env

See docs/JENKINS.md.

Coolify deploy (two phases)

Phase 1 — backend: Deploy without COMPOSE_PROFILES. Assign domain on backend:9000. Set secrets + CORS from coolify.env.example.

Phase 2 — shop: Set COMPOSE_PROFILES=shop, NEXT_PUBLIC_MEDUSA_BACKEND_URL (same as SERVICE_URL_BACKEND_9000), NEXT_PUBLIC_BASE_URL, publishable key. Assign domain on storefront:8000. Redeploy — Coolify builds the storefront with the live API reachable on the internal network.

See docs/COOLIFY_DEPLOY.md.

Local development

cp backend/.env.template backend/.env
cp storefront/.env.template storefront/.env
docker compose -f docker-compose.dev.yml up --build

Local CI

make ci
BUILD_IMAGE=1 bash scripts/ci/jenkins-run.sh