-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.dodocker
More file actions
executable file
·134 lines (113 loc) · 2.97 KB
/
Copy path.dodocker
File metadata and controls
executable file
·134 lines (113 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Docker command patterns configuration
# Commands matching these patterns will be executed in Docker
# Format:
# command_pattern:
# image: docker-image-name # Optional, defaults to python:3.9-slim
# description: Description of what this command does
# workdir: /custom/workdir # Optional working directory in container
# volumes: # Additional volume mounts
# /host/path: /container/path
# environment: # Additional environment variables
# KEY: value
# ===== Python Tools =====
# Testing
pytest:
image: python:3.9-slim
description: Run Python tests
# Formatting and Linting
black:
image: python:3.9-slim
description: Python code formatter
isort:
image: python:3.9-slim
description: Python import sorter
flake8:
image: python:3.9-slim
description: Python linter
mypy:
image: python:3.9-slim
description: Python type checker
bandit:
image: python:3.9-slim
description: Python security linter
pylint:
image: python:3.9-slim
description: Python code analysis
# Package Management
"pip install":
image: python:3.9-slim
description: Install Python packages
poetry:
image: python:3.9-slim
description: Python dependency management
volumes:
~/.cache/pypoetry:/.cache/pypoetry
# ===== Node.js Tools =====
npm:
image: node:18-slim
description: Node.js package manager
"npm run":
image: node:18-slim
description: Run Node.js scripts
yarn:
image: node:18-slim
description: Yarn package manager
# ===== Build Tools =====
"make docker":
image: docker:20.10-dind
description: Docker build commands
privileged: true
volumes:
/var/run/docker.sock:/var/run/docker.sock
docker-compose:
image: docker/compose:latest
description: Docker Compose commands
volumes:
/var/run/docker.sock:/var/run/docker.sock
# ===== Database Tools =====
psql:
image: postgres:14
description: PostgreSQL client
environment:
PGPASSWORD: ${POSTGRES_PASSWORD:-postgres}
PGHOST: ${POSTGRES_HOST:-postgres}
PGDATABASE: ${POSTGRES_DB:-postgres}
PGUSER: ${POSTGRES_USER:-postgres}
mysql:
image: mysql:8.0
description: MySQL client
environment:
MYSQL_PWD: ${MYSQL_PASSWORD:-password}
MYSQL_HOST: ${MYSQL_HOST:-mysql}
MYSQL_DATABASE: ${MYSQL_DATABASE:-test}
MYSQL_USER: ${MYSQL_USER:-root}
# ===== Other Tools =====
ansible:
image: quay.io/ansible/ansible-runner:latest
description: Ansible automation
volumes:
~/.ssh:/root/.ssh:ro
terraform:
image: hashicorp/terraform:latest
description: Infrastructure as code
volumes:
~/.aws:/root/.aws:ro
# ===== Custom Project Commands =====
# Example for a custom script
"scripts/build.sh":
image: python:3.9-slim
description: Run build script
# ===== Development Servers =====
"python -m http.server":
image: python:3.9-slim
description: Simple HTTP server
ports:
- "8000:8000"
"python -m flask run":
image: python:3.9-slim
description: Flask development server
ports:
- "5000:5000"
environment:
FLASK_APP: app.py
FLASK_ENV: development