-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.dev.example
More file actions
150 lines (123 loc) · 5.23 KB
/
.env.dev.example
File metadata and controls
150 lines (123 loc) · 5.23 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# XaresAICoder Environment Configuration - INTERNAL DEVELOPMENT SERVER
# ======================================================================
# This template is for deploying XaresAICoder on an internal development server
# accessible within your company network (e.g., ci.infra, dev.company.internal)
#
# For detailed port configuration guide, see: docs/PORT_CONFIGURATION.md
# ===================
# APPLICATION SETTINGS
# ===================
# Workspace management settings
MAX_WORKSPACES_PER_USER=5
# Resource limits per workspace
# - MAX_CONCURRENT_WORKSPACES: Maximum number of simultaneously running workspaces (default: 3)
# - CPU_PER_WORKSPACE: CPU cores allocated per workspace (default: 1.0, can be 0.5, 1, 2, 4, 8)
# - MEMORY_PER_WORKSPACE_MB: RAM limit in MB per workspace (default: 4096 = 4GB)
# - ENABLE_RESOURCE_LIMITS: Enable/disable resource limit enforcement (default: true)
MAX_CONCURRENT_WORKSPACES=3
CPU_PER_WORKSPACE=1.0
MEMORY_PER_WORKSPACE_MB=4096
ENABLE_RESOURCE_LIMITS=true
# Disk usage display in project list
# - true: Shows disk usage for each workspace (e.g., "17.2 GB", "943 MB")
# - false: Hides disk usage completely for better performance (default)
SHOW_DISK_USAGE=false
# Workspace sudo privileges
# - true: Allows sudo usage within workspace containers (less secure, more flexible)
# - false: Prevents privilege escalation including sudo (more secure, recommended for production)
WORKSPACE_SUDO_ENABLED=false
# Container resource limits (ulimits)
# - CONTAINER_PIDS_LIMIT: Maximum number of processes (PIDs) per container
# - CONTAINER_MAX_FDS: File descriptor soft limit (default: 4096)
# - CONTAINER_MAX_FDS_HARD: File descriptor hard limit (default: 8192)
# - CONTAINER_MAX_PROCS: Process soft limit (default: 2048)
# - CONTAINER_MAX_PROCS_HARD: Process hard limit (default: 4096)
# Note: VS Code/code-server needs many processes for extensions and language servers
CONTAINER_PIDS_LIMIT=2048
CONTAINER_MAX_FDS=8192
CONTAINER_MAX_FDS_HARD=16384
CONTAINER_MAX_PROCS=2048
CONTAINER_MAX_PROCS_HARD=4096
# Docker network name (managed automatically by Docker Compose)
DOCKER_NETWORK=xares-aicoder-network
# ===================
# PORT & DOMAIN CONFIGURATION - INTERNAL SERVER
# ===================
# ⚠️ IMPORTANT: Configure these for your internal development server
# 📚 See docs/PORT_CONFIGURATION.md for detailed explanations and examples
# Domain name for workspace URLs (no http:// prefix)
# Examples: ci.infra, dev.company.internal, coder.internal
BASE_DOMAIN=dev.mycompany.internal
# Port for URL generation logic - determines if ":port" appears in workspace URLs
# For internal servers, typically use 8000 or another non-standard port
BASE_PORT=8000
# Protocol for generated URLs (http or https)
# For internal servers without SSL, use "http"
PROTOCOL=http
# Docker host port mapping - what port Docker exposes on the host machine
# Should match BASE_PORT for direct access internal servers
HOST_PORT=8000
# ===================
# GIT SERVER (OPTIONAL)
# ===================
# Enable integrated Forgejo Git server
ENABLE_GIT_SERVER=false
# Git server admin configuration (only used if ENABLE_GIT_SERVER=true)
GIT_ADMIN_USER=developer
GIT_ADMIN_PASSWORD=admin123!
GIT_ADMIN_EMAIL=admin@xaresaicoder.local
GIT_SITE_NAME=XaresAICoder Git Server
GIT_SITE_DESCRIPTION=Integrated Git server for XaresAICoder development environment
# ===================
# NETWORK PROXY (OPTIONAL)
# ===================
# Enable Squid transparent proxy for network access control
# - true: Enables proxy with whitelist-based filtering and audit logging
# - false: Workspaces have direct internet access (default)
# See docs/OUTGOING_PROXY.md for configuration details
ENABLE_PROXY=false
# ===================
# GPU SUPPORT (OPTIONAL)
# ===================
# Enable GPU support for AI/ML workloads in workspaces
# - true: Enables NVIDIA GPU passthrough to workspace containers
# - false: Disables GPU support (default)
ENABLE_GPU=false
# ===================
# DOCKER IMAGES
# ===================
# Use pre-built images from registry instead of building locally
# - true: Faster deployment, uses GitHub Container Registry images
# - false: Builds images locally (slower but more control)
USE_REGISTRY_IMAGES=false
# Docker image names (automatically set based on USE_REGISTRY_IMAGES)
# Local build images:
SERVER_IMAGE=xares-aicoder-server:local
CODESERVER_IMAGE=xares-aicoder-codeserver:latest
# Registry images (used when USE_REGISTRY_IMAGES=true):
# SERVER_IMAGE=ghcr.io/yourusername/xaresaicoder-server:latest
# CODESERVER_IMAGE=ghcr.io/yourusername/xaresaicoder-codeserver:latest
# ===================
# EXAMPLE CONFIGURATIONS FOR INTERNAL SERVERS
# ===================
# 🏢 Internal CI Server Example
# BASE_DOMAIN=ci.infra
# BASE_PORT=8000
# PROTOCOL=http
# HOST_PORT=8000
# Access: http://ci.infra:8000/
# Workspaces: http://workspace-id.ci.infra:8000/
# 🏢 Internal Development Server Example
# BASE_DOMAIN=dev.company.internal
# BASE_PORT=8000
# PROTOCOL=http
# HOST_PORT=8000
# Access: http://dev.company.internal:8000/
# Workspaces: http://workspace-id.dev.company.internal:8000/
# 🏢 Internal Server with Custom Port
# BASE_DOMAIN=coder.internal
# BASE_PORT=9000
# PROTOCOL=http
# HOST_PORT=9000
# Access: http://coder.internal:9000/
# Workspaces: http://workspace-id.coder.internal:9000/