Sign inSign up

yoniergomez/ai-locker

By yoniergomez

โ€ขUpdated 4 months ago

Manage prompts, skills, MCP configs & commands with built-in AI Chat. OpenAI, Anthropic & more.

Image
Machine learning & AI
Web servers
0

4.5K

yoniergomez/ai-locker repository overview

โ AI Locker โ€” AI Prompts Manager

A beautiful, self-hosted web app to manage your AI prompts, skills, steering configurations, MCP server setups, and shell commands. Includes built-in AI Chat to generate library items from natural language.

Built with a true-black glassmorphism design and multi-provider AI support (OpenAI, Anthropic, Google Gemini, Amazon Bedrock, OpenRouter).

๐Ÿ”— GitHubโ  ยท Live Demoโ 


โ Quick Start

โ SQLite (simplest โ€” no external DB)
docker run -d \
  --name ai-locker \
  -p 9090:3001 \
  -v ai_locker_data:/data \
  --restart unless-stopped \
  yoniergomez/ai-locker:latest

Open http://localhost:9090โ 


curl -O https://raw.githubusercontent.com/YonierGomez/ai-locker/main/compose.yaml
docker compose up -d

Open http://localhost:9090โ 

compose.yaml
services:
  app:
    image: yoniergomez/ai-locker:latest
    container_name: ai-locker
    ports:
      - "9090:3001"
    environment:
      NODE_ENV: production
      PORT: 3001
      DB_HOST: postgres-db
      DB_PORT: 5432
      DB_NAME: promptly
      DB_USER: promptly
      DB_PASSWORD: secret
      DB_TYPE: postgres
    volumes:
      - ai_locker_data:/data
    restart: unless-stopped
    depends_on:
      postgres-db:
        condition: service_healthy

  postgres-db:
    image: postgres:alpine
    container_name: ai-locker-postgres
    restart: unless-stopped
    environment:
      POSTGRES_DB: promptly
      POSTGRES_USER: promptly
      POSTGRES_PASSWORD: secret
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U promptly -d promptly"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  ai_locker_data:
  postgres_data:

โ External PostgreSQL (connection string)
docker run -d \
  --name ai-locker \
  -p 9090:3001 \
  -v ai_locker_data:/data \
  -e DATABASE_URL=postgresql://user:pass@host:5432/dbname \
  --restart unless-stopped \
  yoniergomez/ai-locker:latest

โ Environment Variables

VariableDefaultDescription
PORT3001Internal server port
NODE_ENVproductionEnvironment
DATABASE_URLโ€”Full PostgreSQL or MySQL connection string
DB_HOSTโ€”DB hostname (triggers Postgres/MySQL mode)
DB_PORT5432DB port
DB_NAMEโ€”Database name
DB_USERโ€”Database user
DB_PASSWORDโ€”Database password
DB_TYPEpostgrespostgres or mysql
DB_PATH/data/prompts.dbSQLite path (used when no DB vars set)

If none of the DB vars are set, the app uses SQLite automatically at /data/prompts.db.


โ Supported Architectures

amd64 ยท arm64 ยท armv7


โ Features

  • ๐Ÿ“ Prompts โ€” templates with categories, models, temperature, token limits
  • โšก Skills โ€” reusable AI behavior definitions with trigger phrases
  • ๐Ÿงญ Steering โ€” system instructions with scope and priority
  • ๐Ÿ”Œ MCP Configs โ€” Model Context Protocol server configurations
  • ๐Ÿ’ป Commands โ€” shell command library with usage tracking
  • ๐Ÿค– AI Chat โ€” multi-provider (OpenAI, Anthropic, Gemini, Bedrock, OpenRouter)
  • ๐Ÿ“Š Dashboard โ€” activity heatmap, usage charts, model distribution
  • โ˜๏ธ S3 Backup โ€” AWS S3 / Cloudflare R2 / Backblaze B2 / MinIO
  • ๐Ÿ“ Notes โ€” Post-it Wall, Board, Grid, Timeline and List views
  • ๐Ÿ—‘๏ธ Trash โ€” soft delete with auto-purge and restore

โ Useful Commands

# View logs
docker compose logs -f

# Update to latest
docker compose pull && docker compose up -d

# Backup SQLite
docker cp ai-locker:/data/prompts.db ./backup-$(date +%Y%m%d).db

# Backup PostgreSQL
docker exec ai-locker-postgres pg_dump -U promptly promptly > backup-$(date +%Y%m%d).sql

Tag summary

Content type

Image

Digest

sha256:48932bb8cโ€ฆ

Size

91.2 MB

Last updated

4 months ago

docker pull yoniergomez/ai-locker