pgloader Docker & Self-Hosted Deployment

GitHub

Migrate to PostgreSQL in a single command!

6,451 stars Common Lisp 1 file ยท ~14,116 tokens #clozure-cl#common-lisp#csv#database#dbase#ixf#migration#mssql
RAW Compose
1. Pull Image (DOCKERHUB) docker pull library/pgloader-test-runner
2. Docker Run (1-Click Launch) docker run -d --name pgloader --restart always pgloader-test-runner:latest
3. Podman Run podman run -d --name pgloader --restart always pgloader-test-runner:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/library/pgloader-test-runner:latest
5. ORAS Pull (OCI Artifact) oras pull pgloader-test-runner:latest
6. Compose Deployment docker compose up -d
clojure/tests/dbf/docker-compose.yml
Download .yml
services:
  postgres:
    image: postgis/postgis:16-3.4
    environment:
      POSTGRES_USER: pgloader
      POSTGRES_PASSWORD: pgloader
      POSTGRES_DB: target
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U pgloader -d target"]
      interval: 5s
      timeout: 5s
      retries: 10

  fileserver:
    image: joseluisq/static-web-server:2
    environment:
      SERVER_PORT: "80"
      SERVER_ROOT: /public
    volumes:
      - ../fixtures/http:/public
    healthcheck:
      test: ["CMD", "/static-web-server", "--version"]
      interval: 5s
      timeout: 5s
      retries: 10

  test-runner:
    image: pgloader-test-runner:latest
    build:
      context: ../../..
      dockerfile: clojure/tests/Dockerfile
    volumes:
      - ../../target/pgloader.jar:/pgloader.jar
      - .:/work
    working_dir: /work
    environment:
      JAR: /pgloader.jar
      PGHOST: postgres
      PGPORT: "5432"
      PGDATABASE: target
      PGUSER: pgloader
      PGPASSWORD: pgloader
    depends_on:
      postgres:    {condition: service_healthy}
      fileserver:  {condition: service_healthy}
    profiles: [test]
    command: make -k -f /work/Makefile