This repository contains a Docker Compose setup for TastyIgniter, making it easy to deploy on Coolify or any other Docker-compatible platform.
- PHP 8.3 with FPM
- Nginx web server
- MySQL 8 database
- Queue worker for background jobs
- Cron job for scheduled tasks
- Persistent volumes for data storage
- Health checks for all services
- Environment variable configuration
- Docker
- Docker Compose
- Coolify (for deployment)
- Clone this repository:
git clone https://github.com/yourusername/tastyigniter-docker-compose.git
cd tastyigniter-docker-compose
- Copy the example environment file:
cp .env.example .env
- Edit the
.env
file with your configuration:
nano .env
- Start the containers:
docker-compose up -d
-
Push this repository to your Git provider (GitHub, GitLab, etc.)
-
In Coolify:
- Create a new service
- Select "Docker Compose" as the deployment method
- Connect your Git repository
- Set the following environment variables from the
.env.example
file - Deploy the service
Make sure to set these environment variables in Coolify:
APP_KEY
: Generate a random 32-character stringAPP_URL
: Your domain nameDB_PASSWORD
: Secure database passwordMYSQL_ROOT_PASSWORD
: Secure root passwordIGNITER_CARTE_KEY
: Your TastyIgniter Carte key (if using)
The following volumes are automatically managed by Coolify:
dbdata
: MySQL database datatastyigniter
: Application filestastyigniter-storage
: Application storage
The deployment includes health checks for:
- Application container (PHP-FPM)
- Nginx web server
- MySQL database
To run in development mode:
- Set
APP_ENV=local
in your.env
file - Set
APP_DEBUG=true
in your.env
file - Run
docker-compose up -d
To backup the database:
docker-compose exec db mysqldump -u root -p tastyigniter > backup.sql
View logs for all services:
docker-compose logs -f
View logs for a specific service:
docker-compose logs -f app
docker-compose logs -f nginx
docker-compose logs -f db
-
If the application fails to start:
- Check the logs:
docker-compose logs -f app
- Verify environment variables are set correctly
- Ensure all required ports are available
- Check the logs:
-
If the database connection fails:
- Check the database logs:
docker-compose logs -f db
- Verify database credentials in
.env
- Ensure the database container is running:
docker-compose ps
- Check the database logs:
-
If the web server is not accessible:
- Check nginx logs:
docker-compose logs -f nginx
- Verify port configuration in
.env
- Check if the domain is properly configured
- Check nginx logs:
This project is licensed under the MIT License - see the LICENSE file for details.