This repository contains a multi-architecture Docker setup for CPV Lab Pro v11, allowing you to easily deploy and run the application in a containerized environment using CapRover. The Docker image is built for multiple architectures (amd64 and arm64) to ensure compatibility across different systems, including traditional x86-64 servers and ARM-based systems like AWS Graviton or Apple Silicon.
- Multi-Architecture Support: Run on both x86-64 (amd64) and ARM64 systems without modification.
- CapRover Compatibility: Easy deployment using CapRover, a free and open-source PaaS.
- CPV Lab Pro v11: Specifically designed for the latest version of CPV Lab Pro.
- A server with CapRover installed (compatible with both x86-64 and ARM64 architectures)
- Access to the CapRover dashboard
- Your CPV Lab Pro v11 license
Before deploying CPV Lab Pro, you need to set up a custom MySQL database that disables the ONLY_FULL_GROUP_BY mode:
- In your CapRover dashboard, go to "Apps" and click on "Create a New App".
- Name your app (e.g., "cpv-lab-mysql") and select "Has Persistent Data" checkbox.
- After the app is created, go to the app details.
- In the "Deployment" tab, select "Deploy via Dockerfile".
- Paste the following Dockerfile content:
FROM mysql:5.7
# Create a custom configuration file to disable ONLY_FULL_GROUP_BY
RUN echo "[mysqld]" > /etc/mysql/conf.d/disable_only_full_group_by.cnf && \
echo "sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" >> /etc/mysql/conf.d/disable_only_full_group_by.cnf
# Expose the default MySQL port
EXPOSE 3306-
In the "App Configs" tab, add the following environment variables:
MYSQL_ROOT_PASSWORD: [Choose a strong password]MYSQL_DATABASE: cpvlab (or your preferred database name)
-
Click on "Deploy" to create your custom MySQL container.
-
After deployment, note down the following details:
- MySQL Root Password (the one you set in step 6)
- MySQL Database Name (cpvlab or the name you chose)
- Container IP Address (you'll find this in the app details)
Now that you have set up the custom MySQL database, you can proceed with deploying CPV Lab Pro v11:
-
In CapRover, go to "Apps" and click on "Create a New App".
-
Enter a name for your app (e.g., "cpv-lab-pro") and click "Create New App".
-
In the app details page, go to the "Deployment" tab.
-
Under "Deploy via ImageName", enter the following image name:
ghcr.io/protomated/cpv-lab-pro:latestNote: CapRover will automatically pull the correct architecture image for your server.
-
In the "App Configs" tab, configure the following:
- Container HTTP Port: 80
- NodeJS Version: None (this is a PHP application)
-
Under "Environmental Variables", add the following:
DB_HOST: srv-captain--cpv-lab-mysql-dbDB_USER: rootDB_PASSWORD: [MySQL Root Password]DB_NAME: cpvlab
-
Click on "Deploy" to pull the latest image and start your application.
- Once deployed, access your application via the URL provided by CapRover.
- Append
/install-wizard.phpto your application's URL to access the CPV Lab Pro installation wizard. - Follow the installation steps, using the database credentials you set up earlier.
- When prompted, enter your CPV Lab Pro v11 license key.
To update your CPV Lab Pro v11 installation:
- Log in to your CapRover dashboard (default password / username is
admin/admin). - Go to your CPV Lab Pro app.
- Click on "Deploy" to pull the latest image and update your application.
The multi-architecture image will ensure you always get the correct version for your server's architecture.
If you encounter any issues during deployment:
- Check the CapRover logs for your application.
- Ensure all required environment variables are set correctly.
- Verify that your server meets the system requirements for CPV Lab Pro v11.
- Make sure the MySQL database is accessible from the CPV Lab Pro container.
- If you're using an ARM64-based server and experiencing issues, ensure that all required PHP extensions are available for ARM64 architecture.
If you need assistance with CPV Lab Pro v11, please refer to the official documentation or contact CPV Lab support.
For issues related to this Docker setup or CapRover deployment, please open an issue in this GitHub repository. When reporting issues, please include your server's architecture (x86-64/amd64 or ARM64) for better assistance.
This Docker setup is distributed under the MIT License. See LICENSE for more information.
CPV Lab Pro v11 is a commercial product. Ensure you have a valid license to use it.
This repository is not officially associated with or endorsed by CPV Lab. It is a community-created tool to facilitate the deployment of CPV Lab Pro v11 using Docker and CapRover.
The multi-architecture build is provided as-is, and while it has been tested on common configurations, we cannot guarantee compatibility with all possible ARM64 systems.