Sign inSign up

ersandoru/service_auth

By ersandoru

Updated 6 months ago

**Load Balancer (HAProxy)**, **Cache (Redis)** , **multiple Node.js** , **PM2**

Image
0

1.4K

ersandoru/service_auth repository overview

(Node.js, Redis, HAProxy & PM2)

Docker Image Version Node Version Redis Version Proxy

Bu Docker imajı, optimize edilmiş All-in-One bir çalışma ortamıdır. Tek bir konteyner içerisinde Load Balancer (HAProxy), Cache (Redis) ve multiple Node.js uygulamalarını PM2 güvencesiyle çalıştırır.

Özellikler

  • Node.js 20 (Alpine): Hafif ve güvenli runtime.
  • Gömülü HAProxy: Gelişmiş yönlendirme, SSL sonlandırma ve VirtualHost yönetimi.
  • Gömülü Redis: Konteyner içi hızlı cache mekanizması (127.0.0.1:6379).
  • PM2 & pm2-logrotate: Uygulama süreç yönetimi ve otomatik log rotasyonu.
  • Türkiye Yerel Saat Desteği: Europe/Istanbul (tzdata) yüklü gelir.

Hızlı Başlangıç (Quick Start)

Bu imajı kullanmak için sunucunuzda aşağıdaki yapılandırmayı hazırlamanız yeterlidir.

1. docker-compose.yml Hazırlığı
services:
  service-auth:
    image: ersandoru/service_auth:1.0.0
    container_name: service-auth-apps
    restart: unless-stopped
    ports:
      - "80:80"   # HTTP
      - "443:443" # HTTPS
      - "85:85"   # Ek Portlar
      - "88:88"
    volumes:
      - /var/www:/var/www
      - ./ecosystem.config.js:/var/www/ecosystem.config.js
      - ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
      - /etc/httpd/ssl/myappcom:/usr/local/etc/haproxy/certs:ro
      - redis_data:/data
    environment:
      - TZ=Europe/Istanbul

volumes:
  redis_data:
2. Önemli: SSL Sertifikası Birleştirme

HAProxy, .crt ve .key dosyalarının tek bir .pem dosyasında birleştirilmesini bekler. Sunucunuzdaki sertifika klasöründe şu komutu çalıştırın:

cat domain.crt domain.key bundle.crt > /etc/httpd/ssl/myappcom/myappcom.pem

PM2 Yapılandırması (ecosystem.config.js)

İmaj içerisinde hem Redis'i hem de HAProxy'i PM2 yönetmeliği için örnek yapı:

module.exports = {
  apps: [
    { name: "redis-server", script: "redis-server", args: "--appendonly yes" },
    { name: "haproxy", script: "haproxy", args: "-f /usr/local/etc/haproxy/haproxy.cfg" },
    {
      name: "auth-service",
      script: "/var/www/my-app/app.js",
      instances: 1,
      exec_mode: "cluster"
    }
  ]
};

Versiyon Notları

  • 1.0.0: service_auth adıyla ilk kararlı sürüm. HAProxy, Redis ve Node 20 tek pakette toplandı.
  • latest: En güncel sürüm.

Tag summary

Content type

Image

Digest

sha256:3f40839db

Size

71.6 MB

Last updated

6 months ago

docker pull ersandoru/service_auth