From 505c4c3a79d16125902180011a8ec4001b7b0b12 Mon Sep 17 00:00:00 2001 From: emrekirman Date: Thu, 21 Aug 2025 18:07:42 +0300 Subject: [PATCH] corumfk production manifests ready --- corum-fk/prod/corumfk.yml | 139 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 corum-fk/prod/corumfk.yml diff --git a/corum-fk/prod/corumfk.yml b/corum-fk/prod/corumfk.yml new file mode 100644 index 0000000..18f42f6 --- /dev/null +++ b/corum-fk/prod/corumfk.yml @@ -0,0 +1,139 @@ +version: '3.8' +services: + corum-fk-landing: + image: ghcr.io/emrekirman/corum-fk-landing:latest + networks: + - traefik-public + - corum-fk-network + deploy: + replicas: 3 + placement: + constraints: + - node.role == manager + restart_policy: + condition: on-failure + labels: + - traefik.enable=true + - traefik.http.routers.cfklanding.rule=Host(`corumfk.com.tr`) || Host(`www.corumfk.com.tr`) + - traefik.http.routers.cfklanding.entrypoints=websecure + - traefik.http.routers.cfklanding.tls.certresolver=myresolver + - traefik.http.services.cfklanding.loadbalancer.server.port=3000 + - traefik.http.routers.cfklanding.service=cfklanding + corum-fk-agent: + image: ghcr.io/emrekirman/corum-fk-agent:latest + networks: + - corum-fk-network + - traefik-public + deploy: + replicas: 1 + restart_policy: + condition: on-failure + placement: + constraints: + - node.role == manager + labels: + - traefik.enable=true + - traefik.http.routers.cfkagent.rule=Host(`agent.corumfk.com.tr`) + - traefik.http.routers.cfkagent.entrypoints=websecure + - traefik.http.routers.cfkagent.tls.certresolver=myresolver + - traefik.http.services.cfkagent.loadbalancer.server.port=3001 + - traefik.http.routers.cfkagent.service=cfkagent + corum-fk-redis: + image: redis:7.2 + command: ["redis-server", "--requirepass", "98836", "--appendonly", "yes"] + networks: + - corum-fk-network + deploy: + mode: replicated + replicas: 1 + restart_policy: + condition: on-failure + placement: + constraints: + - node.role == manager + + # --- NEW: PostgreSQL --- + corum-fk-postgres: + image: postgres:15 + environment: + POSTGRES_USER: strapi + POSTGRES_PASSWORD: 98836 # değiştir + POSTGRES_DB: strapi + volumes: + - corum-fk-pg-data:/var/lib/postgresql/data + networks: + - corum-fk-network + healthcheck: + test: ["CMD-SHELL", "pg_isready -U strapi -d strapi"] + interval: 10s + timeout: 5s + retries: 10 + deploy: + replicas: 1 + restart_policy: + condition: on-failure + placement: + constraints: + - node.role == manager + + # --- NEW: Strapi --- + corum-fk-cms: + image: ghcr.io/emrekirman/corum-fk-cms:latest + environment: + NODE_ENV: production + # App + PORT: 1337 + HOST: 0.0.0.0 + URL: https://admin.corumfk.com.tr # Strapi'nin public URL'i + # Secrets (örnek değerler – değiştirin) + APP_KEYS: "WRxkPQhgXqEjAzWLkL9yog==,FpS2Gg8lEb0GxZ3tQ/Hvmg==,GmvGMto4RsuQBIZspiTw8A==,rGuTufvILVv1VDNptw2wbA==" + API_TOKEN_SALT: "RTCb/edPuv9u/wENFNhA/Q==" + ADMIN_JWT_SECRET: "IA8hDF3ynrGdwApm75G/fA==" + JWT_SECRET: "cw5em010OuItllNrh/AJpA==" + # Database (PostgreSQL) + DATABASE_CLIENT: postgres + DATABASE_HOST: corum-fk-postgres + DATABASE_PORT: 5432 + DATABASE_NAME: strapi + DATABASE_USERNAME: strapi + DATABASE_PASSWORD: 98836 + DATABASE_SSL: "false" + PUBLIC_URL: https://admin.corumfk.com.tr + STRAPI_ADMIN_BACKEND_URL: https://admin.corumfk.com.tr + depends_on: + - corum-fk-postgres + volumes: + - corum-fk-cms-uploads:/public/uploads + networks: + - traefik-public + - corum-fk-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:1337/"] + interval: 30s + timeout: 5s + retries: 3 + deploy: + replicas: 2 + restart_policy: + condition: on-failure + placement: + constraints: + - node.role == manager + labels: + - traefik.enable=true + # Admin paneli ve Strapi'nin ihtiyaç duyduğu backend path'leri tek servise yönlendirilir. + - traefik.http.routers.cfkcms.rule=Host(`admin.corumfk.com.tr`) + - traefik.http.routers.cfkcms.entrypoints=websecure + - traefik.http.routers.cfkcms.tls.certresolver=myresolver + - traefik.http.services.cfkcms.loadbalancer.server.port=1337 + - traefik.http.routers.cfkcms.service=cfkcms + +networks: + traefik-public: + external: true + corum-fk-network: + +volumes: + corum-fk-pg-data: + corum-fk-strapi-uploads: + corum-fk-cms-uploads: \ No newline at end of file