Initial Setup Variables
These variables only take effect on first startup when initializing a new instance:PALA_SUPERUSER_EMAIL
Creates an initial superuser account (admin) with full access.
- Type: String (email address)
- Required: No
- Default: None
- When to use: Automated deployments, skipping manual setup
PALA_SUPERUSER_PASSWORD
Password for the initial superuser account.
- Type: String
- Required: Only if
PALA_SUPERUSER_EMAILis set - Default: None
- Minimum: 8 characters
PALA_USER_EMAIL
Creates an initial regular user account.
- Type: String (email address)
- Required: No
- Default: None
- When to use: Pre-populate with a content editor account
PALA_USER_PASSWORD
Password for the initial regular user account.
- Type: String
- Required: Only if
PALA_USER_EMAILis set - Default: None
- Minimum: 8 characters
PALA_APP_URL
Sets the base URL for the application. Used for generating links in emails and backend processes.
- Type: String (URL)
- Required: No
- Default: Auto-detected from request
- When to use: Email notifications, API callbacks
Common Configurations
Development Setup
Production with Manual Setup
Production with Automated Setup
Docker Compose Example
Railway Template
Railway automatically handles environment variables through their UI:- Deploy using the Railway button
- Set environment variables in Railway dashboard
- Railway restarts the service automatically
Security Best Practices
Never commit passwords to version control
Never commit passwords to version control
Use environment variables, secrets management, or encrypted files. Never hardcode passwords in
docker-compose.yml or other config files.Use strong passwords
Use strong passwords
Generate random passwords with at least 16 characters:
Rotate passwords regularly
Rotate passwords regularly
Change initial passwords after setup, especially for production environments.
Use secrets management
Use secrets management
For production deployments, use:
- Railway: Built-in secrets
- Docker Swarm: Docker secrets
- Kubernetes: Kubernetes secrets
- Vault: HashiCorp Vault
Limit who has access to environment variables
Limit who has access to environment variables
Environment variables contain sensitive information. Restrict access to deployment configurations.
Troubleshooting
Setup screen appears even with PALA_SUPERUSER_EMAIL set
Cause: Environment variables not loaded, or database already initialized Solution:- Check environment variables are correctly set
- Verify Docker/Railway configuration
- If database exists, delete
/app/pb_datavolume and restart
Can’t sign in after setting environment variables
Cause: Wrong password, or user wasn’t created Solution:- Check logs for errors during startup
- Verify password meets minimum requirements (8 characters)
- Check that both EMAIL and PASSWORD variables are set
Variables not taking effect
Cause: Variables only work on first startup Solution: Environment variables for user creation only work when the database is first initialized. To reset:- Stop the container
- Delete the volume:
docker volume rm palacms-data - Restart with new environment variables