พัฒนา web application ด้วย Java

docker compose with ngrok and postgresql database

 services:

  db:
    image: postgres:14 # Use a specific version of Postgres
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydatabase
    volumes:
      - postgres_data:/var/lib/postgresql/data # Persist data
    ports:
      - "5432:5432" # Optional: expose port to host for local tools like pgAdmin
  pgadmin:
    image: dpage/pgadmin4
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@example.com
      PGADMIN_DEFAULT_PASSWORD: strong_password
    ports:
      - "5050:80" # Map host port 5050 to container port 80  access via http://localhost:5050
    networks:
      - app-network
    depends_on:
      - db # Ensure pgAdmin starts after the database

  nodejs-app:
    build: .
    ports:
      - "3000:3000" # Expose Node.js port
    networks:
      - app-network
    restart: unless-stopped
    depends_on:
      - db # Ensure db starts first

  ngrok:
    image: ngrok/ngrok:latest
    environment:
      NGROK_AUTHTOKEN: ${NGROK_AUTHTOKEN} # Pass authtoken as an environment variable
    command:
      - "http"
      - "nodejs-app:3000" # Target your application service and its port
      - "--hostname=${NGROK_DOMAIN}" # Use the reserved domain
    ports:
      - "4040:4040" # ngrok web UI
    networks:
      - app-network
    restart: unless-stopped

networks:
  app-network:
    driver: bridge

volumes:
  postgres_data:
docker compose with ngrok and postgresql database docker compose with ngrok and postgresql database Reviewed by Mr.Boonchai on ธันวาคม 04, 2568 Rating: 5

ไม่มีความคิดเห็น:

Thank you

ขับเคลื่อนโดย Blogger.