-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
136 lines (122 loc) · 5.35 KB
/
Copy path.env.example
File metadata and controls
136 lines (122 loc) · 5.35 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
135
136
# Python Development Environment Configuration
#
# IMPORTANT: Copy this file to .env and customize for your system
# WORKSPACE_PATH should be set (defaults to current directory if not set)
#
# cp .env.example .env
# =============================================================================
# WORKSPACE CONFIGURATION (REQUIRED)
# =============================================================================
# Path to your development workspace directory
# This directory will be mounted as /workspace inside the container
# Linux/macOS examples:
WORKSPACE_PATH=/home/user/development
# WORKSPACE_PATH=/Users/username/development
# Windows examples:
# WORKSPACE_PATH=C:/Users/username/development
# WORKSPACE_PATH=C:/dev/projects
# WORKSPACE_PATH=D:/code
# Current directory (fallback if not set - NOT recommended for production use):
# WORKSPACE_PATH=.
# =============================================================================
# PYTHON CONFIGURATION (OPTIONAL)
# =============================================================================
# Python version to use (default: 3.11)
# Available versions: 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
# You can also use specific tags like: 3.11-slim, 3.11-alpine
PYTHON_VERSION=3.11
# Container name (default: python-dev-container)
CONTAINER_NAME=python-dev-container
# =============================================================================
# USER CONFIGURATION (OPTIONAL)
# =============================================================================
# User and group IDs for file ownership (default: 1000:1000)
# Should match your host user to avoid permission issues
PUID=1000
PGID=1000
# =============================================================================
# TIMEZONE CONFIGURATION (OPTIONAL)
# =============================================================================
# Timezone for the container (default: UTC)
# Examples: Europe/London, America/New_York, Asia/Tokyo
TZ=UTC
# =============================================================================
# RESOURCE LIMITS (OPTIONAL)
# =============================================================================
# Prevent runaway Python processes from consuming all system resources
# Defaults are set to 80% of typical development machine (8GB RAM, 4 CPUs)
# Memory limits (examples: 1G, 2048M, 512M)
MEMORY_LIMIT=6400M # Maximum memory (default: ~6.4GB)
MEMORY_RESERVATION=512M # Minimum guaranteed memory (default: 512MB)
# CPU limits (examples: 1.0, 2.5, 0.5)
CPU_LIMIT=3.2 # Maximum CPU cores (default: 3.2 cores)
CPU_RESERVATION=0.5 # Minimum guaranteed CPU (default: 0.5 cores)
# =============================================================================
# AUTOMATIC SYSTEM DETECTION (ADVANCED)
# =============================================================================
# To automatically set limits to 80% of your system resources, run these commands
# and use the output values above:
#
# Memory (80% of total):
# echo "MEMORY_LIMIT=$(($(grep MemTotal /proc/meminfo | awk '{print $2}') * 80 / 100 / 1024))M"
#
# CPU (80% of total):
# echo "CPU_LIMIT=$(echo "$(nproc) * 0.8" | bc)"
#
# Example output for 16GB/8-core system:
# MEMORY_LIMIT=12800M
# CPU_LIMIT=6.4
# =============================================================================
# GIT CONFIGURATION (OPTIONAL)
# =============================================================================
# Uncomment the git volume mounts in compose.yaml if you want to:
# - Use your host Git configuration inside the container
# - Access private repositories via SSH keys
# - Maintain consistent Git identity across host and container
#
# The following paths will be mounted if enabled:
# - ~/.gitconfig (Git configuration)
# - ~/.git-credentials (Git credentials)
# - ~/.ssh (SSH keys for Git operations)
#
# Note: Ensure your SSH keys have appropriate permissions (600/700)
# =============================================================================
# EXAMPLE DIRECTORY STRUCTURE
# =============================================================================
# Linux/macOS example:
# /home/user/
# ├── development/ # WORKSPACE_PATH
# │ ├── project1/
# │ │ ├── main.py
# │ │ ├── requirements.txt
# │ │ └── setup.py
# │ ├── project2/
# │ └── notebooks/
# │ └── analysis.ipynb
# ├── .gitconfig # Optional Git config
# ├── .git-credentials # Optional Git credentials
# └── .ssh/ # Optional SSH keys
# ├── id_rsa
# ├── id_rsa.pub
# └── known_hosts
#
# Windows example:
# C:/Users/username/
# ├── development/ # WORKSPACE_PATH=C:/Users/username/development
# │ ├── project1/
# │ │ ├── main.py
# │ │ ├── requirements.txt
# │ │ └── setup.py
# │ ├── project2/
# │ └── notebooks/
# │ └── analysis.ipynb
# ├── .gitconfig # %USERPROFILE%/.gitconfig
# ├── .git-credentials # %USERPROFILE%/.git-credentials
# └── .ssh/ # %USERPROFILE%/.ssh
# ├── id_rsa
# ├── id_rsa.pub
# └── known_hosts
#
# Ensure workspace directory permissions:
# Linux/macOS: sudo chown -R $USER:$USER /home/user/development
# Windows: Ensure your user has full control of the directory