Manage prompts, skills, MCP configs & commands with built-in AI Chat. OpenAI, Anthropic & more.
4.5K
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โ
docker run -d \
--name ai-locker \
-p 9090:3001 \
-v ai_locker_data:/data \
--restart unless-stopped \
yoniergomez/ai-locker:latest
curl -O https://raw.githubusercontent.com/YonierGomez/ai-locker/main/compose.yaml
docker compose up -d
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:
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
| Variable | Default | Description |
|---|---|---|
PORT | 3001 | Internal server port |
NODE_ENV | production | Environment |
DATABASE_URL | โ | Full PostgreSQL or MySQL connection string |
DB_HOST | โ | DB hostname (triggers Postgres/MySQL mode) |
DB_PORT | 5432 | DB port |
DB_NAME | โ | Database name |
DB_USER | โ | Database user |
DB_PASSWORD | โ | Database password |
DB_TYPE | postgres | postgres or mysql |
DB_PATH | /data/prompts.db | SQLite path (used when no DB vars set) |
If none of the DB vars are set, the app uses SQLite automatically at
/data/prompts.db.
amd64 ยท arm64 ยท armv7
# 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
Content type
Image
Digest
sha256:48932bb8cโฆ
Size
91.2 MB
Last updated
4 months ago
docker pull yoniergomez/ai-locker