Docker Deployment
Quick Start
With Persistent Prompts
Tip
Without -v, prompts are stored inside the container and lost when the container is removed. Always mount a volume for persistence.
Docker Compose
Common Tasks
View logs:
Stop / Start / Remove:
Update to latest version:
docker pull bdharavathu/siloprompts:latest
docker stop siloprompts && docker rm siloprompts
# Re-run the docker run command above
Change port:
docker run -d -p 8080:5000 --name siloprompts bdharavathu/siloprompts
# Opens at http://localhost:8080
Environment Variables
| Variable | Default | Description |
|---|---|---|
PROMPTS_DIR |
/app/prompts |
Prompts storage directory |
DATA_DIR |
/app/data |
Application data directory |
FLASK_ENV |
production |
Flask environment |
SECRET_KEY |
dev-key-change-in-production |
Flask secret key |
PORT |
5000 |
Server port |
Troubleshooting
| Issue | Fix |
|---|---|
| Port already in use | Change -p 5002:5000 to a different port like -p 8080:5000 |
| Container exits immediately | Run docker logs siloprompts to check errors |
| Prompts not persisting | Make sure you're using the -v volume mount |
| Permission denied on volume (Linux) | Add --user $(id -u):$(id -g) to the run command |
| Windows: "WSL 2 not installed" | Open Docker Desktop settings, enable WSL 2 backend |