= 1024) {
$event.preventDefault();
const i = slugs.indexOf($wire.preview);
const next = $event.key === 'ArrowDown' ? Math.min(i + 1, slugs.length - 1) : Math.max(i - 1, 0);
if (next !== i && slugs[next]) $wire.openPreview(slugs[next]);
}
">
Installation Guides
11
Knowledge Base
300 copy-ready commands with fill-in variables, plus step-by-step installation guides.
/
Categories
300 results
= 1024) { $event.preventDefault(); $wire.openPreview('gems-apache-vhost') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-apache-vhost') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Web Server Configs
Apache VirtualHost for a Laravel App
<VirtualHost *:80>
#apache
#virtualhost
9 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-caddy-file') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-caddy-file') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Web Server Configs
Minimal Caddyfile for a PHP App
{{domain}} {
#caddy
#caddyfile
10 views
1 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-nginx-reload') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-nginx-reload') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Web Server Configs
Test and Reload Nginx Config Without Downtime
nginx -t && systemctl reload nginx
#nginx
#reload
4 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-env-export') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-env-export') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
CLI Productivity
Load .env File into the Current Shell
export $(grep -v "^#" {{env_file}} | xargs)
#env
#export
2 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-tmux-session') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-tmux-session') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
CLI Productivity
Create and Reattach a tmux Session
# Create a named session
#tmux
#terminal
3 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-history-grep') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-history-grep') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
CLI Productivity
Search Command History with grep
history | grep "{{keyword}}"
#history
#grep
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-fzf-file-search') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-fzf-file-search') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
CLI Productivity
Fuzzy-Find and Open a File (fzf)
find {{search_path}} -type f | fzf | xargs -o {{editor}}
#fzf
#find
2 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-docker-logs-since') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-docker-logs-since') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Container Operations
Stream Container Logs Since a Time
docker logs {{container_name}} --follow --since {{since}}
#docker
#logs
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-docker-compose-rebuild') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-docker-compose-rebuild') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Container Operations
Rebuild and Restart Docker Compose Services
docker compose up -d --build --no-cache {{service}}
#docker
#compose
2 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-docker-clean') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-docker-clean') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Container Operations
Remove All Stopped Containers and Dangling Images
docker container prune -f
#docker
#prune
5 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-docker-exec-bash') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-docker-exec-bash') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Container Operations
Open a Shell Inside a Running Container
docker exec -it {{container_name}} {{shell}}
#docker
#exec
9 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-curl-resolve') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-curl-resolve') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Networking & Tunneling
Test a Domain Against a Specific IP (curl --resolve)
curl -I --resolve {{domain}}:{{port}}:{{target_ip}} https://{{domain}}/{{path}}
#curl
#dns
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-check-open-ports') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-check-open-ports') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Networking & Tunneling
Check Which Ports Are Listening
ss -tlnp | grep {{port}}
#network
#ports
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-ssh-tunnel') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-ssh-tunnel') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Networking & Tunneling
Forward a Remote Port to Localhost (SSH Tunnel)
ssh -L {{local_port}}:{{remote_host}}:{{remote_port}} {{ssh_user}}@{{jump_host}}...
#ssh
#tunnel
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-cloudflared-tunnel') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-cloudflared-tunnel') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Networking & Tunneling
Expose a Local Port via Cloudflare Tunnel
cloudflared tunnel --url http://localhost:{{local_port}}
#cloudflare
#tunnel
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-pest-arch') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-pest-arch') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Testing Tricks
Pest Architecture Test - No Debug Calls
arch('no debug calls')
#pest
#test
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-test-sqlite-memory') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-test-sqlite-memory') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Testing Tricks
Use SQLite In-Memory Database for Tests
<!-- phpunit.xml -->
#laravel
#test
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-artisan-test-parallel') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-artisan-test-parallel') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Testing Tricks
Run Tests in Parallel
php artisan test --parallel --processes {{processes}}
#laravel
#test
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-artisan-test-filter') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-artisan-test-filter') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Testing Tricks
Run a Single Test or Filter by Name
php artisan test --filter "{{test_name}}"
#laravel
#test
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-disk-watch') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-disk-watch') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Monitoring & Logs
Watch Disk Usage of a Directory
watch -n {{interval}} "du -sh {{path}}"
#disk
#du
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-journalctl-service') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-journalctl-service') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Monitoring & Logs
Follow a Systemd Service Journal
journalctl -u {{service_name}} -f --since "{{since}}"
#systemd
#journalctl
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-watch-error-log') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-watch-error-log') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Monitoring & Logs
Watch Laravel Log for Errors Only
tail -f {{log_path}} | grep -i "{{level}}"
#laravel
#logs
2 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('gems-tail-nginx-live') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('gems-tail-nginx-live') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Monitoring & Logs
Stream Nginx Logs in Real Time
tail -f {{access_log}} {{error_log}}
#nginx
#logs
1 views
0 copies
= 1024) { $event.preventDefault(); $wire.openPreview('git-rebase-onto') }"
class="absolute inset-0 z-0 rounded-xl focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500">
= 1024) { $event.preventDefault(); $wire.openPreviewWithPicker('git-rebase-onto') }"
class="absolute top-2 end-2 z-10 p-1.5 rounded-md transition text-gray-300 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 hover:text-amber-400"
title="Save to collection">
Git Advanced
Move a Branch with git rebase --onto
# Move commits from {{old_base}} to {{new_base}}
#git
#rebase
1 views
0 copies