<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rajarajacholan</title>
    <description>The latest articles on DEV Community by Rajarajacholan (@rajarajacholank).</description>
    <link>https://dev.to/rajarajacholank</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1192885%2Ff2f2957b-34a5-4702-8719-4e23d5bf06dc.png</url>
      <title>DEV Community: Rajarajacholan</title>
      <link>https://dev.to/rajarajacholank</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rajarajacholank"/>
    <language>en</language>
    <item>
      <title>docker compose : top level object must be mapping</title>
      <dc:creator>Rajarajacholan</dc:creator>
      <pubDate>Tue, 06 Feb 2024 09:05:23 +0000</pubDate>
      <link>https://dev.to/rajarajacholank/docker-compose-top-level-object-must-be-mapping-16p0</link>
      <guid>https://dev.to/rajarajacholank/docker-compose-top-level-object-must-be-mapping-16p0</guid>
      <description>&lt;p&gt;I use this command to build:&lt;br&gt;
docker-compose -f docker-compose-new.yml -f Dockerfile-new config and getting top level object must be mapping though I can independentally run build the image using just docker.&lt;/p&gt;

&lt;p&gt;my docker file:&lt;br&gt;
`FROM node:18.16.1-slim as dependencies&lt;/p&gt;

&lt;p&gt;WORKDIR /app&lt;/p&gt;

&lt;p&gt;RUN npm install -g &lt;a href="mailto:pnpm@8.6.2"&gt;pnpm@8.6.2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;RUN pnpm config set store-dir ~/.pnpm-store&lt;/p&gt;

&lt;p&gt;COPY pnpm-lock.yaml .&lt;br&gt;
RUN --mount=type=cache,target=~/.pnpm-store pnpm fetch&lt;br&gt;
COPY package.json pnpm-workspace.yaml ./&lt;/p&gt;

&lt;h1&gt;
  
  
  ============================================================================
&lt;/h1&gt;

&lt;p&gt;FROM dependencies as orchestrator-client-builder&lt;/p&gt;

&lt;p&gt;COPY client/package.json /app/client/&lt;/p&gt;

&lt;p&gt;RUN pnpm install --offline --frozen-lockfile&lt;/p&gt;

&lt;p&gt;COPY client/tsconfig.json client/.eslintrc.js /app/client/&lt;br&gt;
COPY client/public /app/client/public&lt;br&gt;
COPY client/src /app/client/src&lt;br&gt;
COPY .env app/client/&lt;/p&gt;

&lt;p&gt;RUN pnpm --filter=orchestrator-client build&lt;/p&gt;

&lt;h1&gt;
  
  
  ============================================================================
&lt;/h1&gt;

&lt;p&gt;FROM dependencies as orchestrator-server-builder&lt;/p&gt;

&lt;p&gt;COPY server/package.json /app/server/&lt;br&gt;
RUN pnpm install --offline --frozen-lockfile&lt;/p&gt;

&lt;p&gt;RUN pnpm --filter=orchestrator-server --prod deploy pruned&lt;/p&gt;

&lt;p&gt;COPY server/tsconfig.json server/.eslintrc.js /app/server/&lt;br&gt;
COPY server/src /app/server/src&lt;/p&gt;

&lt;p&gt;RUN pnpm --filter=orchestrator-server build&lt;/p&gt;

&lt;h1&gt;
  
  
  ============================================================================
&lt;/h1&gt;

&lt;p&gt;FROM nginx:1.24.0 as orchestrator-client&lt;/p&gt;

&lt;p&gt;COPY client/nginx.conf /etc/nginx/conf.d/localhost.conf&lt;/p&gt;

&lt;p&gt;COPY --from=orchestrator-client-builder \&lt;br&gt;
    /app/client/build /usr/share/nginx/html&lt;/p&gt;

&lt;h1&gt;
  
  
  ============================================================================
&lt;/h1&gt;

&lt;p&gt;FROM node:18.16.1-slim as orchestrator-server&lt;/p&gt;

&lt;p&gt;WORKDIR /app&lt;/p&gt;

&lt;p&gt;COPY --from=orchestrator-server-builder /app/pruned/node_modules \&lt;br&gt;
    /app/node_modules&lt;br&gt;
COPY --from=orchestrator-server-builder /app/server/dist /app/dist&lt;/p&gt;

&lt;p&gt;EXPOSE 8000&lt;/p&gt;

&lt;p&gt;CMD ["node", "dist/src/index.js"]&lt;/p&gt;

&lt;h1&gt;
  
  
  ============================================================================
&lt;/h1&gt;

&lt;p&gt;`&lt;/p&gt;

&lt;p&gt;docker compose file:&lt;br&gt;
`&lt;br&gt;
version: "3.9"&lt;br&gt;
name: orchestrator&lt;/p&gt;

&lt;p&gt;services:&lt;br&gt;
  db:&lt;br&gt;
    image: mongo:5.0.4&lt;br&gt;
    container_name: orchestrator-db-container&lt;br&gt;
    restart: always&lt;br&gt;
    volumes:&lt;br&gt;
      - /home/platform_shared_volumes/orchestrator/db:/data/db&lt;/p&gt;

&lt;p&gt;cache:&lt;br&gt;
    image: redis:6.2.6&lt;br&gt;
    container_name: orchestrator-cache-container&lt;br&gt;
    restart: always&lt;br&gt;
    volumes:&lt;br&gt;
      - /home/platform_shared_volumes/orchestrator/cache:/data&lt;/p&gt;

&lt;p&gt;base:&lt;br&gt;
    build:&lt;br&gt;
      context: .&lt;br&gt;
      target: dependencies&lt;br&gt;
    image: base:${LOCK_HASH:-latest}&lt;br&gt;
    profiles:&lt;br&gt;
      - donotstart&lt;/p&gt;

&lt;p&gt;server:&lt;br&gt;
    build:&lt;br&gt;
      context: .&lt;br&gt;
      target: orchestrator-server&lt;br&gt;
    image: orchestrator-server:${SERVER_HASH:-latest}&lt;br&gt;
    depends_on:&lt;br&gt;
      - db&lt;br&gt;
      - cache&lt;br&gt;
    container_name: orchestrator-server-container&lt;br&gt;
    restart: always&lt;br&gt;
    environment:&lt;br&gt;
      - JWT_SECRET=WT_VERB_CHECKPOINT_PROGRESS&lt;br&gt;
      - PORT=8000&lt;br&gt;
      - DB_URL=mongodb://db:27017/test&lt;br&gt;
      - CLIENT_URL=&lt;a href="https://dev.test.ai/dashboard"&gt;https://dev.test.ai/dashboard&lt;/a&gt;&lt;br&gt;
      - BACKEND_URL=&lt;a href="https://dev.test.ai"&gt;https://dev.test.ai&lt;/a&gt;&lt;br&gt;
      - REDIS_HOST=cache&lt;br&gt;
      - REDIS_PORT=6379&lt;br&gt;
      - EMAIL=&lt;a href="mailto:myself@xyz.com"&gt;myself@xyz.com&lt;/a&gt;&lt;br&gt;
      - PASSWORD=test1234&lt;br&gt;
      - MAX_TASK_VERSION=10&lt;br&gt;
      - RENEW_API_URL=&lt;a href="https://licensing.test.ai/api/licenses"&gt;https://licensing.test.ai/api/licenses&lt;/a&gt;&lt;br&gt;
      - CONFIG_KEY=WeWereOnBreak&lt;br&gt;
      - AGENT_TYPES=single_task,single_task_attended,single_task_unattended,multiple_task,multiple_task_attended,multiple_task_unattended&lt;br&gt;
      - SUPPORTED_AGENT_VERSIONS=2.3.7-9.0,2.4.0-10.0,2.4.0-11.0,2.4.0-11.1&lt;/p&gt;

&lt;p&gt;frontend:&lt;br&gt;
    build:&lt;br&gt;
      context: .&lt;br&gt;
      target: orchestrator-client&lt;br&gt;
    image: orchestrator-client:${SERVER_HASH:-latest}&lt;br&gt;
    depends_on:&lt;br&gt;
      - server&lt;br&gt;
    container_name: orchestrator-client-container&lt;br&gt;
    restart: always&lt;br&gt;
    ports:&lt;br&gt;
      - 3000:80&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;What I am missing here?!&lt;/p&gt;

</description>
      <category>docker</category>
      <category>containerapps</category>
    </item>
    <item>
      <title>python selenium html table to list</title>
      <dc:creator>Rajarajacholan</dc:creator>
      <pubDate>Tue, 23 Jan 2024 13:20:10 +0000</pubDate>
      <link>https://dev.to/rajarajacholank/python-selenium-html-table-to-list-2g7p</link>
      <guid>https://dev.to/rajarajacholank/python-selenium-html-table-to-list-2g7p</guid>
      <description>&lt;p&gt;I have a html table and I want to convert it into the same format with headers and values in python. First row having only headers and rest have only data!&lt;br&gt;
&lt;code&gt;&amp;lt;table class="ws-table-all" id="customers"&amp;gt;&lt;br&gt;
  &amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;&lt;br&gt;
    &amp;lt;th&amp;gt;Company&amp;lt;/th&amp;gt;&lt;br&gt;
    &amp;lt;th&amp;gt;Contact&amp;lt;/th&amp;gt;&lt;br&gt;
    &amp;lt;th&amp;gt;Country&amp;lt;/th&amp;gt;&lt;br&gt;
  &amp;lt;/tr&amp;gt;&lt;br&gt;
  &amp;lt;tr&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Alfreds Futterkiste&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Maria Anders&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Germany&amp;lt;/td&amp;gt;&lt;br&gt;
  &amp;lt;/tr&amp;gt;&lt;br&gt;
  &amp;lt;tr&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Centro comercial Moctezuma&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Francisco Chang&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Mexico&amp;lt;/td&amp;gt;&lt;br&gt;
  &amp;lt;/tr&amp;gt;&lt;br&gt;
  &amp;lt;tr&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Ernst Handel&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Roland Mendel&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Austria&amp;lt;/td&amp;gt;&lt;br&gt;
  &amp;lt;/tr&amp;gt;&lt;br&gt;
  &amp;lt;tr&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Island Trading&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Helen Bennett&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;UK&amp;lt;/td&amp;gt;&lt;br&gt;
  &amp;lt;/tr&amp;gt;&lt;br&gt;
  &amp;lt;tr&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Laughing Bacchus Winecellars&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Yoshi Tannamuri&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Canada&amp;lt;/td&amp;gt;&lt;br&gt;
  &amp;lt;/tr&amp;gt;&lt;br&gt;
  &amp;lt;tr&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Magazzini Alimentari Riuniti&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Giovanni Rovelli&amp;lt;/td&amp;gt;&lt;br&gt;
    &amp;lt;td&amp;gt;Italy&amp;lt;/td&amp;gt;&lt;br&gt;
  &amp;lt;/tr&amp;gt;&lt;br&gt;
&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/p&gt;

</description>
      <category>selenium</category>
      <category>python</category>
      <category>webscraping</category>
    </item>
    <item>
      <title>Upload backup file after it has been fully created</title>
      <dc:creator>Rajarajacholan</dc:creator>
      <pubDate>Wed, 17 Jan 2024 14:47:36 +0000</pubDate>
      <link>https://dev.to/rajarajacholank/upload-backup-file-after-it-has-been-fully-created-33og</link>
      <guid>https://dev.to/rajarajacholank/upload-backup-file-after-it-has-been-fully-created-33og</guid>
      <description>&lt;p&gt;I use exec method to create mongodb runs on container using docker exec command. And is working fine. How to detect whether the upload has been complete 100 percent before I want to upload to a different location?&lt;/p&gt;

</description>
      <category>node</category>
    </item>
    <item>
      <title>kill a windows/linux process</title>
      <dc:creator>Rajarajacholan</dc:creator>
      <pubDate>Tue, 24 Oct 2023 13:41:40 +0000</pubDate>
      <link>https://dev.to/rajarajacholank/kill-a-windowslinux-process-1ook</link>
      <guid>https://dev.to/rajarajacholank/kill-a-windowslinux-process-1ook</guid>
      <description>&lt;p&gt;How can I kill a windows/linux process from with in a react application? I tried with process.kill and window.process.kill and understand it is only available with node.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
    </item>
  </channel>
</rss>
