docs: add warnings about $ character in Docker Compose passwords
Mirror to GitHub / mirror (push) Successful in 28s
Test and Lint / frontend-test (push) Has been cancelled
Test and Lint / backend-test (push) Has started running
Version and Release / version-bump (push) Successful in 35s
Version and Release / trigger-drone (push) Has been skipped
continuous-integration/drone/push Build is passing
Mirror to GitHub / mirror (push) Successful in 28s
Test and Lint / frontend-test (push) Has been cancelled
Test and Lint / backend-test (push) Has started running
Version and Release / version-bump (push) Successful in 35s
Version and Release / trigger-drone (push) Has been skipped
continuous-integration/drone/push Build is passing
- Add clear warnings in .env.example about $ variable substitution - Update DEPLOYMENT_GUIDE.md with password generation commands that exclude $ - Add troubleshooting section for Docker Compose variable substitution errors - Provide solutions: avoid $, escape as $$, or use quotes Fixes issue where passwords containing $ cause Docker Compose warnings and potential authentication failures. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -10,10 +10,13 @@ JWT_SECRET=your_very_long_random_jwt_secret_here
|
|||||||
# Database Configuration (PostgreSQL)
|
# Database Configuration (PostgreSQL)
|
||||||
DATABASE_CLIENT=pg
|
DATABASE_CLIENT=pg
|
||||||
DB_USER=picpeak
|
DB_USER=picpeak
|
||||||
|
# IMPORTANT: Avoid $ character in passwords - Docker Compose interprets it as variable substitution
|
||||||
|
# If you must use $, escape it as $$ (e.g., Pass$$word instead of Pass$word)
|
||||||
DB_PASSWORD=your_secure_postgres_password_here
|
DB_PASSWORD=your_secure_postgres_password_here
|
||||||
DB_NAME=picpeak_prod
|
DB_NAME=picpeak_prod
|
||||||
|
|
||||||
# Redis Configuration
|
# Redis Configuration
|
||||||
|
# IMPORTANT: Same warning applies - avoid $ or escape as $$
|
||||||
REDIS_PASSWORD=your_secure_redis_password_here
|
REDIS_PASSWORD=your_secure_redis_password_here
|
||||||
|
|
||||||
# Admin Account (initial setup)
|
# Admin Account (initial setup)
|
||||||
|
|||||||
+20
-4
@@ -58,13 +58,18 @@ Generate secure values:
|
|||||||
# JWT Secret
|
# JWT Secret
|
||||||
openssl rand -base64 64
|
openssl rand -base64 64
|
||||||
|
|
||||||
# Database Password
|
# Database Password (avoid $ character - see warning below)
|
||||||
openssl rand -base64 32
|
openssl rand -base64 32 | tr -d '$'
|
||||||
|
|
||||||
# Redis Password
|
# Redis Password (avoid $ character - see warning below)
|
||||||
openssl rand -base64 32
|
openssl rand -base64 32 | tr -d '$'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
⚠️ **PASSWORD WARNING**: Docker Compose interprets `$` as variable substitution. Either:
|
||||||
|
- Avoid `$` in passwords (recommended - use the commands above)
|
||||||
|
- Escape `$` as `$$` (e.g., `Pass$$word` instead of `Pass$word`)
|
||||||
|
- Quote the entire value: `DB_PASSWORD='Pass$word'` (less reliable)
|
||||||
|
|
||||||
Update `.env` with:
|
Update `.env` with:
|
||||||
- `JWT_SECRET` - Authentication secret (REQUIRED - generate a secure random value)
|
- `JWT_SECRET` - Authentication secret (REQUIRED - generate a secure random value)
|
||||||
- `DB_PASSWORD` - PostgreSQL password
|
- `DB_PASSWORD` - PostgreSQL password
|
||||||
@@ -432,6 +437,17 @@ FRONTEND_PORT=3002
|
|||||||
BACKEND_PORT=3003
|
BACKEND_PORT=3003
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Docker Compose Variable Substitution Errors
|
||||||
|
If you see warnings like:
|
||||||
|
```
|
||||||
|
WARN[0000] The "fgbf" variable is not set. Defaulting to a blank string.
|
||||||
|
```
|
||||||
|
|
||||||
|
This means your password contains `$` which Docker Compose interprets as a variable. Solutions:
|
||||||
|
1. **Best**: Generate passwords without `$`: `openssl rand -base64 32 | tr -d '$'`
|
||||||
|
2. **Alternative**: Escape `$` as `$$` in your .env file
|
||||||
|
3. **Example**: `DB_PASSWORD=Pass@#$$fgbf` instead of `DB_PASSWORD=Pass@#$fgbf`
|
||||||
|
|
||||||
#### Permission Errors
|
#### Permission Errors
|
||||||
```bash
|
```bash
|
||||||
# Fix ownership
|
# Fix ownership
|
||||||
|
|||||||
Reference in New Issue
Block a user