A complete Docker setup for running Dashticz - an alternative dashboard for Domoticz home automation system.
- PHP 7.4 with Apache (can be upgraded to PHP 8.x)
- All required PHP modules pre-installed (xml, curl, mbstring, zip, opcache)
- Automatic configuration from environment variables
- Persistent data storage for custom configurations
- Health checks included
- Easy management with Make commands
- Docker Compose support with .env configuration
- Docker installed on your system
- Docker Compose (optional but recommended)
- Git (optional, for updates)
# Create a directory for Dashticz
mkdir ~/dashticz-docker
cd ~/dashticz-docker
# Copy all the provided files here# Copy the example environment file
cp .env.example .env
# Edit the .env file with your settings
nano .envKey settings to configure:
DOMOTICZ_IP: Your Domoticz server address (e.g., 192.168.1.100:8080)DASHTICZ_PORT: Port to access Dashticz (default: 8082)TIMEZONE: Your timezone (default: Europe/Amsterdam)
Using Make (recommended):
make build # Build the Docker image
make up # Start the containerOr using Docker Compose directly:
docker-compose up -dOpen your browser and navigate to:
http://localhost:8082
Or if running on a remote server:
http://YOUR_SERVER_IP:8082
dashticz-docker/
├── Dockerfile # Docker image definition
├── docker-compose.yml # Basic Docker Compose config
├── docker-compose-env.yml # Docker Compose with .env support
├── Makefile # Easy management commands
├── .env.example # Environment variables template
├── .env # Your environment configuration (create from .env.example)
└── dashticz-data/ # Persistent data (created automatically)
├── custom/ # Your CONFIG.js and custom files
├── img/ # Custom images
└── logs/ # Apache logs
On first run, the container will:
- Clone the Dashticz repository
- Copy
CONFIG_DEFAULT.jstoCONFIG.js - Replace the default Domoticz IP with your configured IP
- Set up proper permissions
Edit your Dashticz configuration:
make config-edit
# Or manually edit:
nano dashticz-data/custom/CONFIG.jsPlace your custom files in:
dashticz-data/custom/- For CONFIG.js, custom.css, custom.jsdashticz-data/img/- For custom images and icons
The Makefile provides easy management commands:
make help # Show all available commands
make build # Build the Docker image
make up # Start the container
make down # Stop the container
make restart # Restart the container
make logs # View live logs
make shell # Open shell in container
make status # Check container status
make backup # Backup configuration
make restore # Restore from backup
make update # Update Dashticz to latest
make clean # Remove everything (WARNING: deletes data!)To use PHP 8.x, edit the Dockerfile:
FROM php:8.2-apacheUncomment the Domoticz service in docker-compose.yml to run both together:
domoticz:
image: linuxserver/domoticz:latest
# ... configurationMount a custom Apache config:
volumes:
- ./custom-apache.conf:/etc/apache2/sites-available/dashticz.confFor development, mount the entire Dashticz directory:
volumes:
- ./dashticz:/var/www/html/dashticzCheck logs:
make logs
# Or
docker-compose logs dashticzEnsure correct ownership:
sudo chown -R 1000:1000 dashticz-data/- Check if container is running:
make status- Test connectivity:
make test- Check Apache error logs:
make dev-logs-apacheVerify Domoticz IP in .env or CONFIG.js:
# Edit .env
nano .env
# Or edit CONFIG.js directly
make config-editmake updatemake build
make restartmake backupBackups are stored in backups/ directory with timestamp.
make restoreRestores the most recent backup.
- Change default passwords in CONFIG.js if authentication is enabled
- Use HTTPS with a reverse proxy (nginx, Traefik) for production
- Limit port exposure - only expose ports you need
- Regular updates - Keep Docker images and Dashticz updated
All available environment variables (set in .env):
| Variable | Default | Description |
|---|---|---|
| DOMOTICZ_IP | 192.168.1.100:8080 | Domoticz server address |
| DASHTICZ_PORT | 8082 | Port to access Dashticz |
| DASHTICZ_BRANCH | master | Git branch (master/beta) |
| TIMEZONE | Europe/Amsterdam | System timezone |
| PHP_MEMORY_LIMIT | 256M | PHP memory limit |
| PHP_MAX_EXECUTION_TIME | 300 | Max execution time |
| PUID | 1000 | User ID for permissions |
| PGID | 1000 | Group ID for permissions |
- Dashticz Documentation: https://dashticz.readthedocs.io/
- Dashticz GitHub: https://github.com/Dashticz/dashticz
- Domoticz Forum: https://www.domoticz.com/forum/
Dashticz is open source. This Docker setup is provided as-is for easy deployment.
Feel free to submit issues and enhancement requests!