Skip to main content

CLI Cheatsheet

Common commands for RavenmaskOS operations.


Docker

# List all containers
docker ps -a

# List running containers (formatted)
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

# View logs
docker logs -f <container>
docker logs --tail 100 <container>

# Restart container
docker restart <container>

# Stop/Start
docker stop <container>
docker start <container>

# Shell access
docker exec -it <container> sh
docker exec -it <container> bash

# Resource usage
docker stats
docker stats --no-stream

# Cleanup
docker system prune -a
docker volume prune
docker image prune -a

Docker Compose

# Deploy/Update
cd ~/ravenhelm/services/<service>
docker compose up -d

# Pull latest images
docker compose pull

# View logs
docker compose logs -f

# Restart
docker compose restart

# Stop
docker compose down

# Rebuild
docker compose build --no-cache
docker compose up -d

PostgreSQL

# Connect
docker exec -it postgres psql -U ravenhelm -d ravenmaskos

# Health check
docker exec postgres pg_isready -U ravenhelm

# List databases
docker exec postgres psql -U ravenhelm -c "\l"

# Backup
docker exec postgres pg_dump -U ravenhelm -d ravenmaskos | gzip > backup.sql.gz

# Restore
gunzip -c backup.sql.gz | docker exec -i postgres psql -U ravenhelm -d ravenmaskos

Redis

# Connect
docker exec -it redis redis-cli -a $REDIS_PASSWORD

# Ping
docker exec redis redis-cli -a $REDIS_PASSWORD ping

# Info
docker exec redis redis-cli -a $REDIS_PASSWORD INFO

# Keys
docker exec redis redis-cli -a $REDIS_PASSWORD KEYS "*"

# Flush
docker exec redis redis-cli -a $REDIS_PASSWORD FLUSHALL

Restic Backup

# Load config
source ~/.config/restic/homelab.env

# List snapshots
restic snapshots

# Create backup
restic backup ~/ravenhelm

# Restore
restic restore latest --include <path> --target /tmp/restore

# Check repository
restic check

1Password

# Whoami
op whoami

# List items
op item list --vault ravenmask

# Get secret
op item get "Item Name" --vault ravenmask --fields credential --reveal

# Read in script
$(op read "op://ravenmask/Item/field")

Network

# Test DNS
dig +short service.ravenhelm.dev

# Test HTTPS
curl -I https://service.ravenhelm.dev

# Check certificate
echo | openssl s_client -servername domain.ravenhelm.dev -connect domain.ravenhelm.dev:443 2>/dev/null | openssl x509 -noout -dates

# Docker networks
docker network ls
docker network inspect ravenhelm_net

Git

# Status
git status

# Commit
git add -A && git commit -m "message"

# Push
git push origin main

# Pull
git pull origin main