Skip to content

Commit 558c735

Browse files
authored
fix: ensure db-init-prod service builds correctly in Docker production (#48)
- Add db-init-prod to docker-build-prod.sh build targets to fix "wait-for-postgres.sh: not found" error - Reduce memory limit from 20g to 10g to support builds on 16GB RAM systems - Make generate-version.js resilient to Docker build environments by wrapping file writes in try/catch blocks - This ensures db-init-prod service has access to wait-for-postgres.sh script during startup
1 parent f03d602 commit 558c735

2 files changed

Lines changed: 14 additions & 8 deletions

File tree

testplanit/docker-build-prod.sh

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ export DOCKER_BUILDKIT=1
66

77
# Build with explicit memory limits
88
docker compose -f docker-compose.prod.yml build \
9-
--memory 20g \
10-
--memory-swap 24g \
11-
--cpus 2 \
12-
prod workers
9+
--memory 10g \
10+
prod workers db-init-prod
1311

1412
echo "Build complete!"

testplanit/scripts/generate-version.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,24 @@ if (environment === 'development') {
7272
}
7373

7474
const envPath = path.join(__dirname, '..', envFileName);
75-
fs.writeFileSync(envPath, envContent);
75+
try {
76+
fs.writeFileSync(envPath, envContent);
77+
} catch (error) {
78+
console.warn(`Could not write to ${envFileName}, skipping (this is normal in Docker builds):`, error.message);
79+
}
7680

7781
// Also write a version.json file for reference
7882
const versionJsonPath = path.join(__dirname, '..', 'public', 'version.json');
7983
// Ensure public directory exists
8084
const publicDir = path.join(__dirname, '..', 'public');
81-
if (!fs.existsSync(publicDir)) {
82-
fs.mkdirSync(publicDir, { recursive: true });
85+
try {
86+
if (!fs.existsSync(publicDir)) {
87+
fs.mkdirSync(publicDir, { recursive: true });
88+
}
89+
fs.writeFileSync(versionJsonPath, JSON.stringify(versionInfo, null, 2));
90+
} catch (error) {
91+
console.warn(`Could not write version.json, skipping (this is normal in Docker builds):`, error.message);
8392
}
84-
fs.writeFileSync(versionJsonPath, JSON.stringify(versionInfo, null, 2));
8593

8694
console.log('Version information generated:');
8795
console.log(` Version: ${version}`);

0 commit comments

Comments
 (0)