This project includes a Docker setup for local development. The setup includes:
- PHP 8.2 with Apache
- PostgreSQL database
- Mailpit for email testing
- Docker
- Docker Compose
- Clone the repository
- Build and start the Docker containers:
docker compose up -d- Install Composer dependencies:
docker compose exec app composer install- Access the application in your browser:
http://localhost:8080 (HTTP) or https://localhost:8443 (HTTPS)
- Web Server: http://localhost:8080 / https://localhost:8443
- Database: PostgreSQL (accessible via port 5432)
- Mail Server: Mailpit (accessible via http://localhost:8025)
- Start the containers:
docker compose up -d - Stop the containers:
docker compose down - View logs:
docker compose logs -f - Access App container:
docker compose exec app bash - Run Symfony commands:
docker compose exec app bin/console <command>
- PHP configuration can be modified in
docker/app/php.ini - Database configuration can be modified in
.envfile or by setting environment variables
Detailed documentation for developers can be found in the docs/ directory.
The production environment uses Docker Compose with the following services:
- App (PHP with Apache)
- PostgreSQL database
- Watchtower for automatic container updates
Watchtower is configured to:
- Automatically update containers once a day at midnight
- Only update containers with the label
com.centurylinklabs.watchtower.enable=true - Expose an HTTP API for manual triggering of updates
- Clean up old images after updating
Add these to your production environment:
WATCHTOWER_HTTP_API_TOKEN: Token for securing the Watchtower HTTP API
The CI/CD workflow automatically:
- Builds and pushes Docker images to GitHub Container Registry
- Triggers Watchtower to update containers on the production server
Add these secrets to your GitHub repository:
WATCHTOWER_HTTP_API_TOKEN: Same token as configured in your production environmentPRODUCTION_URL: URL or IP address of your production server
For a complete list of releases and changes, please see the CHANGELOG.md file.
- Review app source
- Integrate more Saints
- Add more relics
- Add more translation support for different languages (FR, ES)