This repository contains the necessary configuration files for setting up a Pharmacovigilance System using Docker. The system leverages CakePHP 3.x for the backend, MySQL for the database, and phpMyAdmin for database management. The application is designed to handle data related to drug safety, monitoring adverse drug reactions (ADR), and ensuring the safe use of pharmaceutical products.
Before you begin, ensure that you have the following installed:
First, clone the repository to your local machine:
git clone https://github.com/IntelliSOFT-Consulting/MCAZ.git
cd MCAZ
The project comes with a docker-compose.yml file that sets up all required services: MySQL, Apache, and phpMyAdmin.
Run the following command to build the Docker images and start the containers:
docker-compose up --build
This will:
- Build the Docker images.
- Start the MySQL container (db), the web server (web), and phpMyAdmin (phpmyadmin).
- Expose the web application on port 8766 and phpMyAdmin on port 8184.
The MySQL container will automatically execute the db.sql script on startup, if provided, to set up the database structure. This will create the necessary database (mcaz_pv_prod) and user (changeme) as defined in the docker-compose.yml.
If you need to manually initialize or reinitialize the database, you can copy your SQL file to the ./db.sql location and restart the containers using:
docker-compose down
docker-compose up --build
Once the containers are running, you can access the application at:
You can also manage your MySQL database using phpMyAdmin. To access phpMyAdmin, go to:
Use the following credentials to log in:
- Username: changeme
- Password: changeme.
- Host: db (the MySQL service name defined in the docker-compose.yml)
To stop the containers when you're done, run the following command:
docker-compose down
This will stop and remove the containers. If you want to remove all the containers, volumes, and networks, you can run:
docker-compose down --volumes --remove-orphans
To ensure that your MySQL data persists across container restarts, the docker-compose.yml defines a volume to store the data locally:
volumes:
- ~/epv-mysql-data:/var/lib/mysql
This will store the MySQL data on your local machine under the ~/epv-mysql-data directory.
To customize the application, you can modify the CakePHP files directly on your host machine. The project files are mounted into the Docker container at:
volumes:
- ./:/var/www/html/
This allows you to edit the files locally and see changes reflected immediately in the Docker container.
Licensed under the GNU General Public License, Version 3.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://github.com/IntelliSOFT-Consulting/MCAZ/blob/master/LICENSE.md
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.