TastyIgniter Docker Setup
This repository contains Docker configuration files to quickly set up a TastyIgniter v4.0+ environment. The setup includes:
- PHP 8.3 with all required extensions
- MySQL 8 database
- Nginx web server
- Automated installation process
- Properly configured scheduler and queue workers
Prerequisites
- Docker and Docker Compose installed on your system
- Basic understanding of Docker concepts
Directory Structure
tastyigniter-docker/
├── docker/
│ ├── entrypoint.sh
│ └── nginx/
│ └── default.conf
├── docker-compose.yml
├── Dockerfile
└── README.md
Setup Instructions
- Create the directory structure as shown above:
mkdir -p tastyigniter-docker/docker/nginx
-
Copy all the configuration files into their respective directories.
-
Start the Docker environment:
cd tastyigniter-docker
docker-compose up -d
-
The setup will:
- Create a new TastyIgniter project
- Set up the database connection
- Run the non-interactive installation
- Configure the proper permissions
- Set up scheduled tasks and queue processing
-
Access TastyIgniter:
- Frontend: http://localhost
- Admin panel: http://localhost/admin
- Default admin credentials:
- Username: admin
- Email: admin@example.com
- Password: admin123
Configuration Options
You can customize the installation by modifying the environment variables in the docker-compose.yml file:
APP_URL: Your application URLDB_DATABASE,DB_USERNAME,DB_PASSWORD: Database connection detailsADMIN_USER,ADMIN_EMAIL,ADMIN_PASSWORD: Administrator account details
Persistent Storage
The setup uses Docker volumes for:
- MySQL data: Stored in the
dbdatavolume - TastyIgniter storage: Mapped to the
./storagedirectory on your host
Production Deployment
Before deploying to production, make sure to:
- Change all default passwords
- Set
APP_DEBUG=false - Generate a unique
APP_KEY - Configure proper SSL/TLS in the Nginx configuration for HTTPS
Troubleshooting
If you encounter issues:
- Check the logs:
docker-compose logs -f app - Verify database connectivity:
docker-compose exec app php artisan db:monitor - Check container status:
docker-compose ps - Ensure proper permissions on the storage directory
Common Issues
Missing PHP extensions
If you see errors about missing PHP extensions like ext-intl, the Dockerfile has been updated to include this. However, if you encounter other missing extensions, you can add them to the Dockerfile by:
- Adding the required dev packages to the
apt-get installcommand - Adding the extension to the
docker-php-ext-installcommand
Composer installation failures
If the composer installation fails, you can modify the entrypoint script to use the --ignore-platform-req flag. This is included as a fallback in the updated entrypoint script.