diff --git a/src/modules/Docker/DockerModule.tsx b/src/modules/Docker/DockerModule.tsx
index 3e8b8a582..f11bb18b2 100644
--- a/src/modules/Docker/DockerModule.tsx
+++ b/src/modules/Docker/DockerModule.tsx
@@ -1,14 +1,13 @@
import { ActionIcon, Drawer, Tooltip } from '@mantine/core';
import { useHotkeys } from '@mantine/hooks';
import { IconBrandDocker } from '@tabler/icons-react';
-import axios from 'axios';
import Docker from 'dockerode';
import { useTranslation } from 'next-i18next';
-import { useEffect, useState } from 'react';
-import { useQuery } from '@tanstack/react-query';
+import { useState } from 'react';
import { useCardStyles } from '../../components/layout/useCardStyles';
import { useConfigContext } from '../../config/provider';
+import { api } from '~/utils/api';
import ContainerActionBar from './ContainerActionBar';
import DockerTable from './DockerTable';
@@ -20,22 +19,13 @@ export default function DockerMenuButton(props: any) {
const dockerEnabled = config?.settings.customization.layout.enabledDocker || false;
- const { data, isLoading, refetch } = useQuery({
- queryKey: ['containers'],
- queryFn: async () => {
- const containers = await axios.get('/api/docker/containers');
- return containers.data;
- },
+ const { data, refetch } = api.docker.containers.useQuery(undefined, {
enabled: dockerEnabled,
});
useHotkeys([['mod+B', () => setOpened(!opened)]]);
const { t } = useTranslation('modules/docker');
- useEffect(() => {
- refetch();
- }, [config?.settings]);
-
const reload = () => {
refetch();
setSelection([]);
@@ -64,7 +54,7 @@ export default function DockerMenuButton(props: any) {
},
}}
>
-
+
{
+ try {
+ const docker = DockerSingleton.getInstance();
+ const containers = await docker.listContainers({ all: true });
+ return containers;
+ } catch (err) {
+ throw new TRPCError({
+ code: 'INTERNAL_SERVER_ERROR',
+ message: 'Unable to get containers',
+ });
+ }
+ }),
+});