# Docker snippets - trigger schema: }d # d = docker matches: # === CORE COMMANDS === - trigger: "}dr" replace: "docker run {{mode}} {{ports}} {{img}}" vars: - name: img type: choice params: values: ["$|$", "nginx"] - name: mode type: choice params: values: ["", "-d", "-it", "-d --rm"] - name: ports type: choice params: values: ["", "-p 8080:80", "-p 3000:3000", "-p 5432:5432"] - trigger: "}db" replace: "docker build -t {{tag}} {{ctx}}" vars: - name: tag type: choice params: values: ["$|$", "my-app:latest"] - name: ctx type: choice params: values: [".", "/path/to/context"] - trigger: "}dp" replace: "docker push $|$" - trigger: "}dpl" replace: "docker pull $|$" - trigger: "}dps" replace: "docker ps {{opt}}" vars: - name: opt type: choice params: values: ["", "-a", '--format "table {{.Names}}\t{{.Image}}\t{{.Status}}"'] - trigger: "}di" replace: "docker images" - trigger: "}dst" replace: "docker stop $|$" - trigger: "}dsta" replace: "docker stop $(docker ps -q)" - trigger: "}drm" replace: "docker rm $|$" - trigger: "}drmi" replace: "docker rmi $|$" - trigger: "}dl" replace: "docker logs -f $|$" - trigger: "}de" replace: "docker exec -it {{cnt}} {{cmd}}" vars: - name: cnt type: choice params: values: ["$|$", ""] - name: cmd type: choice params: values: ["sh", "bash", "/bin/bash"] - trigger: "}dpr" replace: "docker system prune -f" - trigger: "}dpra" replace: "docker system prune -a --volumes -f" - trigger: "}din" replace: "docker inspect $|$" # === COMPOSE === - trigger: "}dcu" replace: "docker compose up {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "-d", "--build", "-d --build"] - trigger: "}dcd" replace: "docker compose down {{opt}}" vars: - name: opt type: choice params: values: ["", "--volumes", "--rmi all"] - trigger: "}dcl" replace: "docker compose logs -f $|$" - trigger: "}dce" replace: "docker compose exec {{svc}} {{cmd}}" vars: - name: svc type: choice params: values: ["$|$", "web", "db", "api"] - name: cmd type: choice params: values: ["sh", "bash", "python manage.py migrate"] - trigger: "}dcb" replace: "docker compose build $|$" # === DOCKERFILE SNIPPETS === - trigger: "}df" replace: | FROM {{base}} WORKDIR /app COPY . . RUN {{run}} EXPOSE {{port}} CMD ["{{cmd}}"] vars: - name: base type: choice params: values: ["$|$", "node:20-alpine", "python:3.11-slim", "ubuntu:22.04"] - name: run type: choice params: values: [ "npm ci", "pip install -r requirements.txt", "apt update && apt install -y ", ] - name: port type: choice params: values: ["3000", "8000", "80", "8080"] - name: cmd type: choice params: values: ["npm start", "python app.py", "node server.js"] - trigger: "}dfn" replace: | FROM node:20-alpine WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . EXPOSE 3000 CMD ["npm", "start"] - trigger: "}dfp" replace: | FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 8000 CMD ["python", "app.py"] # === CONFIG === - trigger: "}dign" replace: | .git node_modules .env *.log dist/ build/ .dockerignore - trigger: "}denv" replace: "ENV {{key}}={{val}}" vars: - name: key type: choice params: values: ["$|$", "NODE_ENV", "PORT", "DEBUG"] - name: val type: choice params: values: ["production", "3000", "true", "false"]