Sign inSign up

lemeshev/conduit-stack:latest

Manifest digest

sha256:f89d005cf6e24c419fc12202cf119644be37000e505c95b01771ab1dfd6d90c9

Last pushed

about 8 hours by lemeshev

Type

Compose

Manifest digest

sha256:f89d005cf6e24c419fc12202cf119644be37000e505c95b01771ab1dfd6d90c9

Compose file content

name: conduit-remote

services:
  db:
    image: ${DOCKERHUB_USERNAME:?Set DOCKERHUB_USERNAME in .env}/conduit-db-snapshot:latest
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-conduit_local_dev}
      MYSQL_DATABASE: ${DEV_DB_NAME:-conduit_development}
      MYSQL_USER: ${DEV_DB_USERNAME:-conduit}
      MYSQL_PASSWORD: ${DEV_DB_PASSWORD:-conduit_local_dev}
    volumes:
      - conduit_mysql_data:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-conduit_local_dev}"]
      interval: 5s
      timeout: 3s
      retries: 30
      start_period: 20s

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:9.5.5
    restart: unless-stopped
    environment:
      discovery.type: single-node
      xpack.security.enabled: "false"
      ES_JAVA_OPTS: -Xms512m -Xmx512m
    ports:
      - target: 9200
        published: "${ELASTICSEARCH_PORT:-9200}"
        host_ip: 127.0.0.1
    volumes:
      - conduit_elasticsearch_data:/usr/share/elasticsearch/data
    healthcheck:
      test: ["CMD-SHELL", "curl -fsS http://localhost:9200/_cluster/health?wait_for_status=yellow >/dev/null"]
      interval: 10s
      timeout: 5s
      retries: 30
      start_period: 30s

  kibana:
    image: docker.elastic.co/kibana/kibana:9.5.5
    restart: unless-stopped
    environment:
      ELASTICSEARCH_HOSTS: http://elasticsearch:9200
      XPACK_SECURITY_ENABLED: "false"
    depends_on:
      elasticsearch:
        condition: service_healthy
    ports:
      - target: 5601
        published: "${KIBANA_PORT:-5601}"
        host_ip: 127.0.0.1

  db-view-setup:
    image: ${DOCKERHUB_USERNAME:?Set DOCKERHUB_USERNAME in .env}/conduit-app:latest
    restart: "no"
    working_dir: /app
    command: ["node", "/app/scripts/setup-kibana.js"]
    environment:
      KIBANA_URL: http://kibana:5601
    depends_on:
      kibana:
        condition: service_started

  app:
    image: ${DOCKERHUB_USERNAME:?Set DOCKERHUB_USERNAME in .env}/conduit-app:latest
    restart: unless-stopped
    labels:
      com.centurylinklabs.watchtower.enable: "true"
    depends_on:
      db:
        condition: service_healthy
      elasticsearch:
        condition: service_healthy
    environment:
      NODE_ENV: production
      PORT: 3001
      JWT_KEY: ${JWT_KEY:-local-test-only-change-before-sharing}
      PROD_DB_USERNAME: ${DEV_DB_USERNAME:-conduit}
      PROD_DB_PASSWORD: ${DEV_DB_PASSWORD:-conduit_local_dev}
      PROD_DB_NAME: ${DEV_DB_NAME:-conduit_development}
      PROD_DB_HOSTNAME: db
      PROD_DB_PORT: 3306
      PROD_DB_DIALECT: mysql
      PROD_DB_LOGGING: "false"
      ELASTICSEARCH_URL: http://elasticsearch:9200
    ports:
      - target: 3001
        published: "${APP_PORT:-8080}"

  image-updater:
    image: nickfedor/watchtower:latest
    restart: unless-stopped
    environment:
      WATCHTOWER_LABEL_ENABLE: "true"
      WATCHTOWER_POLL_INTERVAL: ${IMAGE_CHECK_INTERVAL_SECONDS:-60}
      WATCHTOWER_CLEANUP: "true"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

volumes:
  conduit_mysql_data:
  conduit_elasticsearch_data:

Docker commands

docker compose -f oci://lemeshev/conduit-stack:latest up

Use the above command to pull and run the Compose file. Learn more⁠.

Images used

Image

A solution for automating Docker container image updates.


Pulls

10M+

Stars

47

Last Updated

about 19 hours