Development environment configuration using Podman with Phalcon 5.8 and PHP 8.2
This project provides a ready-to-use Podman configuration for application development with Phalcon 5.8 and PHP 8.2.
- Podman installed on your system
- Podman Compose
- At least 2GB RAM available
- Port 8909 available (or configurable)
- Local DNS configuration (see Hosts Configuration section)
The project uses Podman as a Docker alternative. Default configuration includes:
- PHP 8.2
- Phalcon 5.8
- Apache 2 web server
- MariaDB (latest stable version)
You need to configure your local hosts file to map the domains to localhost. Here's how to do it for different operating systems:
sudo nano /etc/hostsAdd these lines: 127.0.0.1 www.for-my.games 127.0.0.1 api.for-my.games 127.0.0.1 admin.for-my.games 127.0.0.1 phpmyadmin.for-my.games
Save with CTRL + X, then Y, then Enter
sudo nano /private/etc/hostsAdd these lines:
127.0.0.1 www.for-my.games
127.0.0.1 api.for-my.games
127.0.0.1 admin.for-my.games
127.0.0.1 phpmyadmin.for-my.games
Save with CTRL + X, then Y, then Enter
- Open Notepad as Administrator
- Open file:
C:\Windows\System32\drivers\etc\hosts - Add these lines: 127.0.0.1 www.for-my.games 127.0.0.1 api.for-my.games 127.0.0.1 admin.for-my.games 127.0.0.1 phpmyadmin.for-my.games
- Save the file
podman-compose -f docker-compose.yml up -dpodman exec -it api.for-my.games /bin/bashrm /opt/formygames/src/composer.lock
rm -Rf /opt/formygames/src/vendor/*
cd /data && COMPOSER=/opt/formygames/src/composer.json composer install --working-dir=/data --no-progress/opt/formygames/src/docker/phpmyadmin.shAfter starting the containers, you can verify that everything is working correctly:
- Open your browser
- Navigate to
http://www.for-my.games:8909 - You should see the Phalcon welcome page
You can also verify the other domains:
- API:
http://api.for-my.games:8909 - Admin:
http://admin.for-my.games:8909 - PhpMyAdmin: http://phpmyadmin.for-my.games:8909
- If containers won't start, check if port 8909 is already in use
- Check logs with:
podman-compose logs - If domains are not resolving:
- Verify your hosts file configuration
- Try flushing your DNS cache:
- Linux:
sudo systemd-resolve --flush-cachesorsudo service network-manager restart - macOS:
sudo killall -HUP mDNSResponder - Windows:
ipconfig /flushdnsin Command Prompt as Administrator
- Linux:
- If you can't edit hosts file on Windows:
- Make sure you're running Notepad as Administrator
- Check if the file is read-only and remove that attribute if needed
- This configuration is optimized for development
- Additional security adjustments are required for production
- The port 8909 can be changed in the docker-compose.yml file if needed
- Make sure your firewall allows connections to port 8909
Contributions are welcome! Please feel free to:
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT