blinko Docker & Self-Hosted Deployment

GitHub

An open-source, self-hosted personal AI note tool prioritizing privacy, built using TypeScript .

10,343 stars TypeScript TypeScript 1 file ยท ~3,366 tokens #markdown#memos#nextjs#notebook#openai#postgres#react#self-hosted
RAW Compose
1. Pull Image (DOCKERHUB) docker pull blinkospace/blinko
2. Docker Run (1-Click Launch) docker run -d --name blinko -p 1111:1111 --restart always blinkospace/blinko:latest
3. Podman Run podman run -d --name blinko -p 1111:1111 --restart always blinkospace/blinko:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/blinkospace/blinko:latest
5. ORAS Pull (OCI Artifact) oras pull blinkospace/blinko:latest
6. Compose Deployment docker compose up -d
test-docker/docker-compose.test.yml
Download .yml
version: '3.8'

services:
  # Mock OpenAI API for testing Docker internal network connectivity
  mock-openai:
    image: node:20-alpine
    container_name: mock-openai
    working_dir: /app
    command: node server.js
    volumes:
      - ./mock-openai:/app
    networks:
      - blinko-test-network
    healthcheck:
      test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/models"]
      interval: 10s
      timeout: 5s
      retries: 3

  # PostgreSQL database
  postgres:
    image: postgres:15-alpine
    container_name: blinko-test-postgres
    environment:
      POSTGRES_USER: blinko
      POSTGRES_PASSWORD: blinko
      POSTGRES_DB: blinko
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - blinko-test-network
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U blinko"]
      interval: 10s
      timeout: 5s
      retries: 5

  # Blinko application
  blinko:
    image: blinkospace/blinko:latest
    container_name: blinko-test
    depends_on:
      postgres:
        condition: service_healthy
      mock-openai:
        condition: service_healthy
    environment:
      - DATABASE_URL=postgresql://blinko:blinko@postgres:5432/blinko
      - NEXTAUTH_SECRET=test-secret-key-for-testing
      - NEXTAUTH_URL=http://localhost:1111
    ports:
      - "1111:1111"
    networks:
      - blinko-test-network

networks:
  blinko-test-network:
    driver: bridge

volumes:
  postgres_data: