Kurulum
Kurulum
Mikromax ERP projesinin kurulumu için tavsiye edilen yöntem Portainer üzerinden Docker stack yönetimi mekanizmasıdır. Stack tanımı ve ortam değişkenleri Portainer arayüzünden yönetilir; sunucuda herhangi bir docker-compose.yml veya .env dosyası bulundurmanıza gerek yoktur.
Projenin tamamında bağlantıların HTTPS protokolü üzerinden yürümesi gerektiği için servisler önünde bir Nginx reverse proxy kurulması gerekmektedir. Bunun için gerekli kurulum dokümanına buradan ulaşabilirsiniz.
Docker Yönetimi — Portainer
Docker ortamını kolayca yönetmek için Portainer kullanılmasını tavsiye ederiz. Portainer; konteyner başlatma, durdurma, log görüntüleme ve compose dosyası yönetimi gibi işlemleri web arayüzü üzerinden yapmanıza imkân tanır.
docker volume create portainer_data
docker run -d \
--name portainer \
--restart always \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
Kurulumun ardından http://<sunucu-ip>:9000 adresinden Portainer arayüzüne erişebilirsiniz. Daha fazla bilgi için Portainer belgelerine bakınız.
Klasör Yapısı
Sunucuda /etc/mikromax dizini altında aşağıdaki yapıyı oluşturun:
/etc/mikromax/
└── nginx/
├── conf.d/ # Nginx servis konfigürasyonları
└── certs/ # SSL sertifika dosyaları
Not: Stack tanımı ve ortam değişkenleri Portainer arayüzünden yönetildiği için sunucuda
docker-compose.ymlveya.envdosyası oluşturmanıza gerek yoktur.
Portainer Stack Tanımı
Portainer arayüzünde Stacks → Add stack menüsüne gidin ve yazılım ekibinden temin edilen docker-compose.environment.yaml dosyasının içeriğini Web editor alanına yapıştırın. Bu dosya tüm Mikromax servislerini tanımlar.
Ortam Değişkenleri
Stack tanımının altındaki Environment variables bölümünden ortam değişkenlerini girin. Yazılım ekibinden temin edilen .env.example dosyasındaki anahtarları referans alarak aşağıdaki alanları ortamınıza göre doldurun:
# Versiyon Etiketleri — yüklemek istediğiniz sürüme göre güncelleyin
IMAGE_TAG=latest
NOTIFICATOR_IMAGE_TAG=latest
IDENTITY_IMAGE_TAG=latest
# ... diğer servis etiketleri
# Alan adı
IDENTITY_AUTHORITY=https://identity.yourdomain.com
PUBLIC_URI=https://web.yourdomain.com
# Veritabanı bağlantı dizeleri
API_DB_DEFAULT_CONNECTION_STRING=Server=<db-host>;Database=ErpDb;...
# Gizli anahtarlar
API_CLIENT_SECRET=<your-secret>
WEB_CLIENT_SECRET=<your-secret>
# ... diğer servis gizli anahtarları
Tüm değişkenlerin tam listesi için yazılım ekibinden temin edilen
.env.exampledosyasına bakınız. Değişkenleri Portainer’da girdikten sonra Deploy the stack butonuna tıklayın.
Servisleri Başlatma
Servisleri başlatmak için Portainer arayüzündeki Stacks sayfasından stack’i seçin ve Start butonuna tıklayın.
Tüm konteynerlerin durumunu takip etmek için Portainer Containers sayfasını veya bireysel servis loglarını kullanabilirsiniz.
Migration Uygulama
Veri tabanı migrationlarını uygulamak için mmx-migrator servisi bir defaya mahsus çalıştırılmalıdır. Portainer arayüzünden Containers → Add container seçeneğiyle veya doğrudan terminalde şu komutla çalıştırabilirsiniz (<IMAGE_TAG> değerini kullanmak istediğiniz sürümle değiştirin):
docker run -it --rm \
--env-file <(docker inspect --format='' $(docker ps -q -f name=mmx-api) | grep -v PATH) \
mikromaxdocker/mmx-migrator:<IMAGE_TAG>
Ya da ortam değişkenlerini tek tek -e parametresiyle geçerek çalıştırabilirsiniz:
docker run -it --rm \
-e API_DB_DEFAULT_CONNECTION_STRING="Server=<db-host>;Database=ErpDb;..." \
mikromaxdocker/mmx-migrator:<IMAGE_TAG>