Mauricio Siurefactor: remove logs25f8ba92 years agoHistory
62 lines · 1.4 KB · TypeScript
RawDownload
import { docker } from "../constants";import { pullImage } from "../utils/docker/utils";import type { CreateServiceOptions } from "dockerode";export const initializePostgres = async () => {	const imageName = "postgres:16";	const containerName = "dokploy-postgres";	const settings: CreateServiceOptions = {		Name: containerName,		TaskTemplate: {			ContainerSpec: {				Image: imageName,				Env: [					"POSTGRES_USER=dokploy",					"POSTGRES_DB=dokploy",					"POSTGRES_PASSWORD=amukds4wi9001583845717ad2",				],				Mounts: [					{						Type: "volume",						Source: "dokploy-postgres-database",						Target: "/var/lib/postgresql/data",					},				],			},			Networks: [{ Target: "dokploy-network" }],			RestartPolicy: {				Condition: "on-failure",			},		},		Mode: {			Replicated: {				Replicas: 1,			},		},		EndpointSpec: {			Ports: [				{					TargetPort: 5432,					...(process.env.NODE_ENV === "development"						? { PublishedPort: 5432 }						: {}),					Protocol: "tcp",				},			],		},	};	try {		await pullImage(imageName); 		const service = docker.getService(containerName);		const inspect = await service.inspect();		await service.update({			version: Number.parseInt(inspect.Version.Index),			...settings,		}); 		console.log("Postgres Started ✅");	} catch (error) {		await docker.createService(settings);		console.log("Postgres Not Found: Starting ✅");	}};