Files
peikarband/peikarband/docs/deployment/quickstart.md
Ehsan.Asadi b9217fe81e refactor: complete project restructure - clean and professional
🎯 New Structure:
- landing/ (root) - Only Makefile, .gitignore, .woodpecker.yml
- helm/ - Kubernetes deployment (with argocd inside chart)
- docker/ - Docker build configs
- peikarband/ - All source code (src, tests, assets, config, tools, docs)

 Changes:
- Moved Docker files: build/docker/ → docker/
- Moved Helm charts: deploy/helm/ → helm/
- Moved ArgoCD: deploy/argocd/ → helm/peikarband/argocd/
- Moved all source code to peikarband/
- Removed duplicate files (7 files)
- Removed old empty directories

🐳 Docker Fixes:
- Added npm retry configuration (fetch-retry-mintimeout, etc.)
- Added 3-attempt retry mechanism for reflex export
- Fixed ECONNREFUSED errors
- Updated paths for new structure

📦 Config Updates:
- Makefile: Updated all paths (docker/, helm/, peikarband/)
- .woodpecker.yml: Updated dockerfile and context paths
- .gitignore: Updated data/ path

🧪 Tests:
- ✓ Helm lint passes
- ✓ All paths validated
- ✓ Structure verified

📊 Result:
- Before: 20+ files in root, scattered structure
- After: 3 files + 3 directories, clean and organized
- Production-ready 
2025-12-30 21:33:32 +03:30

2.2 KiB

Quick Start - Deploy در 5 دقیقه

راهنمای سریع برای deploy کردن Peikarband روی Kubernetes.

پیش‌نیاز

  • Kubernetes cluster (v1.24+)
  • Helm 3 نصب شده
  • kubectl پیکربندی شده
  • دسترسی به یک Container Registry

مراحل

1. Clone Repository

git clone https://github.com/peikarband/landing.git
cd landing

2. Build Docker Image

# تغییر REGISTRY به registry خودتون
export REGISTRY=registry.example.com
export IMAGE_NAME=peikarband/landing
export VERSION=0.1.0

docker build -t ${REGISTRY}/${IMAGE_NAME}:${VERSION} .
docker push ${REGISTRY}/${IMAGE_NAME}:${VERSION}

3. ساخت Secrets

kubectl create namespace production

kubectl create secret generic peikarband-secrets \
  --from-literal=db-username=peikarband \
  --from-literal=db-password=YOUR_STRONG_PASSWORD \
  --from-literal=redis-password=YOUR_REDIS_PASSWORD \
  -n production

4. Deploy با Helm

helm upgrade --install peikarband ./helm/peikarband \
  --namespace production \
  --set image.repository=${REGISTRY}/${IMAGE_NAME} \
  --set image.tag=${VERSION} \
  --set ingress.hosts[0].host=yourdomain.com \
  --wait

5. چک کردن وضعیت

# Pods
kubectl get pods -n production

# Service
kubectl get svc -n production

# Ingress
kubectl get ingress -n production

6. دسترسی به Application

# Port forward برای تست
kubectl port-forward svc/peikarband 3000:3000 -n production

# باز کردن در browser
open http://localhost:3000

پیکربندی Production

برای production از values-production.yaml استفاده کنید:

helm upgrade --install peikarband ./helm/peikarband \
  --namespace production \
  --set image.repository=${REGISTRY}/${IMAGE_NAME} \
  --set image.tag=${VERSION} \
  --values helm/peikarband/values-production.yaml \
  --wait

Uninstall

helm uninstall peikarband -n production
kubectl delete namespace production

بعدش چی؟