-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdevbox.json
More file actions
75 lines (75 loc) · 2.87 KB
/
devbox.json
File metadata and controls
75 lines (75 loc) · 2.87 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
{
"$schema": "https://raw.githubusercontent.com/jetpack-io/devbox/latest/packages/devbox/schema/devbox.schema.json",
"packages": [
"rustup",
"soft-serve",
"diesel-cli",
"openssl",
"pkg-config",
"libiconv",
"postgresql@15",
"nodejs@20",
"docker@latest"
],
"shell": {
"init_hook": [
"# Change prompt color to blue",
"export PS1=\"\\[\\033[01;34m\\]\\u@\\h:\\w\\[\\033[00m\\]\\$ \"",
"echo \"You are now in the devbox shell!\"",
"",
"# Create local npm directory",
"mkdir -p $PWD/.npm-global",
"export NPM_CONFIG_PREFIX=$PWD/.npm-global",
"export PATH=$PWD/.npm-global/bin:$PATH",
"",
"# Install wscat locally if not already installed",
"if ! command -v wscat &> /dev/null; then",
" npm install wscat",
"fi",
"",
"# PostgreSQL setup",
"export POSTGRES_DATA=\"$PWD/postgres_data\"",
"export POSTGRES_HOST=\"0.0.0.0\"",
"export POSTGRES_PORT=5433",
"export POSTGRES_USER=\"postgres\"",
"export POSTGRES_PASSWORD=\"postgres\"",
"export POSTGRES_DB=\"postgres\"",
"mkdir -p \"$POSTGRES_DATA\"",
"",
"# Check if Docker daemon is running",
"if ! docker info > /dev/null 2>&1; then",
" echo \"Error: Docker daemon is not running. Please start Docker first.\"",
"else",
" # Start PostgreSQL container",
" docker rm -f hxckr-core 2>/dev/null || true",
" if docker run --name hxckr-core \\\n -e POSTGRES_USER=$POSTGRES_USER \\\n -e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \\\n -e POSTGRES_DB=$POSTGRES_DB \\\n -v $POSTGRES_DATA:/var/lib/postgresql/data \\\n -p $POSTGRES_PORT:5432 \\\n -d postgres:15-alpine; then",
" echo \"PostgreSQL development database started successfully\"",
" else",
" echo \"Error: Failed to start PostgreSQL container\"",
" fi",
"fi",
"# Rust setup",
"echo \"Setting up Rust\"",
"rustup default stable",
"export PATH=\"$HOME/.cargo/bin:$PATH\"",
"",
"# Set up environment variables for PostgreSQL",
"export DATABASE_URL=\"postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB\"",
"echo \"Database URL: $DATABASE_URL\"",
"",
"# Setup cleanup on shell exit",
"trap \"docker rm -f hxckr-core\" EXIT"
]
},
"env": {
"POSTGRES_DATA": "$PWD/postgres_data",
"POSTGRES_HOST": "0.0.0.0",
"POSTGRES_PORT": "5432",
"POSTGRES_USER": "postgres",
"POSTGRES_PASSWORD": "postgres",
"POSTGRES_DB": "postgres",
"LIBRARY_PATH": "${DEVBOX_ROOT}/libiconv/lib:${DEVBOX_ROOT}/postgresql/lib:$LIBRARY_PATH",
"PKG_CONFIG_PATH": "${DEVBOX_ROOT}/libiconv/lib/pkgconfig:${DEVBOX_ROOT}/postgresql/lib/pkgconfig:$PKG_CONFIG_PATH",
"NPM_CONFIG_PREFIX": "$PWD/.npm-global"
}
}