Files
2026-10-30 13:11:10 +01:00

2.2 KiB

JetKVM Cloud

This repository provides prebuilt Docker images for the JetKVM Cloud API.   These images make it easy to self-host JetKVM Cloud without having to build the Docker image yourself.

Usage

For information about how to use the image please see the original documentation.

networks:
  jetkvm:
    driver: bridge

services:
  db:
    image: postgres
    restart: unless-stopped
    environment:
      POSTGRES_PASSWORD: jetkvm
      POSTGRES_USER: jetkvm
      POSTGRES_DB: jetkvm
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U jetkvm -d jetkvm"]
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 5s
    ports:
      - "5432:5432"
    networks:
      - jetkvm
    volumes:
      - ./postgresql:/var/lib/postgresql

  # Run database migrations before starting the apps
  app-migrate:
    image: 'git.claeyscloud.com/david/jetkvm-cloud:latest'
    environment:
      DATABASE_URL: postgres://jetkvm:jetkvm@db:5432/jetkvm
    depends_on:
      db:
        condition: service_healthy
    command: ["sh", "-c", "npx prisma migrate deploy"]
    networks:
      - jetkvm
    restart: no
  s3proxy:
      image: andrewgaul/s3proxy:latest
      restart: unless-stopped
      networks:
        jetkvm:
          aliases:
            - jetkvm.s3proxy
      volumes:
        - ./s3data:/data
      environment:
        S3PROXY_ENDPOINT: http://0.0.0.0:80
        S3PROXY_AUTHORIZATION: none
        JCLOUDS_PROVIDER: filesystem
        JCLOUDS_FILESYSTEM_BASEDIR: /data
  app:
    image: 'git.claeyscloud.com/david/jetkvm-cloud:latest'
    restart: unless-stopped
    environment:
      PORT: 3000
      DATABASE_URL: postgres://jetkvm:jetkvm@db:5432/jetkvm
      CORS_ORIGINS: "https://jetkvm.example.com"
      R2_ENDPOINT: "http://s3proxy:80"
      R2_ACCESS_KEY_ID: "x"
      R2_SECRET_ACCESS_KEY: "x"
      R2_BUCKET: jetkvm
      R2_CDN_URL: "http://s3proxy:80/jetkvm"
    depends_on:
      db:
        condition: service_healthy
      app-migrate:
        condition: service_completed_successfully
    ports:
      - "3000:3000"
    networks:
      - jetkvm