What is CuViBox on-premise?
CuViBox on-premise is a web application to manage employees CVs efficiently and export them to custom office documents with ease. This is the server version of https://www.cuvibox.com, and has the same functionalities.
This image contains all you need to run a fully functional CuViBox instance, except for the database, that you can launch in another container as we'll see.
Basically, this image consists of:
- An apache 5.6 server, taken from the official php:5.6-apache repository
- Installed PHP libraries: pdo_mysql, mcrypt, mbstring, intl, zip and soap.
- Installed and configured Ioncube extension to run encoded PHP.
- CuViBox on-premise installed to the home folder of the Apache web server.
- Installed crontab service and added the typical tasks for CuViBox.
How should I run it?
As standalone container
If you already have a MySQL or MariaDB database that you want to use, just launch this command:
docker run -d \ -p 80:80 \ -v `pwd`/cuvibox-config:/var/www/html/cuvibox-config \ -v `pwd`/files:/var/www/html/webroot/files \ --name cuvibox \ cuvibox/cuvibox
run order, two folders will be created where you executed it:
- cuvibox-config: That will contain the configuration file, in case you want to edit manually after installation.
- files: That will store all the files uploaded to CuViBox, so you can get a full backup easily (DB + files).
If you map these volumes to your host folders, you'll need to give the container write permissions executing:
sudo chmod -R 777 cuvibox-config files
Note that if you manage docker efficiently, this is not strictly needed, as the image defines various volumes that will make your application files persistent, all beginning from
- tmp: where all the sessions and cache files are stored.
- logs: application log files.
- webroot/files: your appplication uploaded files.
- cuvibox-config: where the cuvibox-config.ini file is saved.
After that, browse to http://localhost and you'll get the installation wizard, where you'll have to configure the license and database connection.
With docker-compose, including the database
With docker-compose you can run both, the CuViBox on-premise web app, and the database.
First, create a file called
docker-compose.yml with this content:
web: image: cuvibox/cuvibox ports: - 80:80 - 443:443 volumes: - ./cuvibox-config:/var/www/html/cuvibox-config - ./files:/var/www/html/webroot/files environment: - DB_SERVER=db links: - db db: image: mariadb:5 ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=cuvibox-op - MYSQL_DATABASE=cuvibox-op - MYSQL_USER=cuvibox-op - MYSQL_PASSWORD=cuvibox-op
Set your database name, username and password before saving the file.
Then run this command:
docker-compose -p cuvibox up -d
You'll see that two containers have been created, one contains the web server and the other is the database.
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6084c4d0a04b cuvibox/cuvibox "/bin/sh -c 'cron && " 7 minutes ago Up 7 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp cuvibox_web_1 8452e22044c3 mariadb:5 "/docker-entrypoint.s" 7 minutes ago Up 7 minutes 0.0.0.0:3306->3306/tcp cuvibox_db_1
Now you can browse to http://localhost to get the installation wizard.
Where do I get a license?
To execute the installation wizard you'll need to get an evaluation license or a perpetual one. You must register at https://www.cuvibox.com, then go to the menu "Accounts > CuViBox on-premise" and click on the generate license button.
Where do I get support?
You can get the full user manual, including installation instructions at https://cuvibox.freshdesk.com.