convertigoEstimated reading time: 8 minutes
Convertigo is an open source MBaaS/MADP platform for mobile application development and back-end.
GitHub repo: https://github.com/convertigo/docker
Supported tags and respective
Where to file issues:
Supported Docker versions:
the latest release (down to 1.6 on a best-effort basis)
What is Convertigo Mobility Platform ?
Convertigo Community edition is an open source MBaaS (Mobile Back end as a Service) combined with a MADP (Mobile application development platform). The platform is used to build complex Cross-platform Enterprise Mobile apps in a few days. Convertigo platform is composed of several components:
- Convertigo MBaaS: The back-end MBaaS server part. Handles back-end connectors, micro-services execution, offline data device synchronization and serves Mobile Web apps. Runs as a Docker container with the
- Convertigo Web Connector: An optional HTML web Connector server able to connect to any HTML based legacy app. Runs as a Docker container with the
- Convertigo Studio: Runs on a Windows or a MacOS workstation, Eclipse based IDE, used to program MBaaS micro-services workflows and optionaly use the “Mobile Builder” edition to build Mobile apps UIs in a MRAD (Mobile Rapid Application Development) Low code mode. Can be directly downloaded from Sourceforge.net
- Convertigo SDKs: Can be used with third party Mobile development tools such as Xcode (iOS) Android Studio (Android) and Visual Studio (Windows Mobile, Windows UWP and Xamarin). SDKS are available on each platform standard repository (Bintray for Android, Cocoapods for iOS and Nuget for .NET)
Convertigo Community edition brought to you by Convertigo SA (Paris & San Francisco). The platform is currently used by more than 100K developers worldwide, building enterprise class mobile apps.
How to use this image
$ docker run --name C8O -d -p 28080:28080 convertigo
This will start a container running the minimum Convertigo MBaaS server. Convertigo MBaaS uses images’ /workspace directory to store configuration file and deployed projects as an Docker volume.
You can access the Server admin console on http://[dockerhost]:28080/convertigo and login using the default credentials: admin / admin
Link Convertigo to a CouchDB database for FullSync (Convertigo EE only)
Convertigo MBaaS FullSync module uses Apache CouchDB 2.3.0 as NoSQL repository. You can use the couchdb docker image and link to it convertigo this way
Launch CouchDB container and name it ‘fullsync’
$ docker run -d --name fullsync couchdb:2.3.0
Then launch Convertigo and link it to the running ‘fullsync’ container. Convertigo MBaaS sever will automatically use it as its fullsync repository.
$ docker run -d --name C8O-MBAAS --link fullsync:couchdb -p 28080:28080 convertigo
Link Convertigo to a Billing & Analytics database
MySQL is the recommended database for holding Convertigo MBaaS server analytics. You can use this command to run convertigo and link it to a running MySQL container. Change
[mysql-container] to the container name, and
[username for the c8oAnalytics db],
[password for specified db user] with the values for your MySQL configuration.
$ docker run -d --name C8O-MBAAS --link [mysql-container]:mysql -p 28080:28080 \ -e JAVA_OPTS="-Dconvertigo.engine.billing.enabled=true \ -Dconvertigo.engine.billing.persistence.jdbc.username=[username for the c8oAnalytics db] \ -Dconvertigo.engine.billing.persistence.jdbc.password=[password for specified db user] \ -Dconvertigo.engine.billing.persistence.jdbc.url=jdbc:mysql://mysql:3306/c8oAnalytics" \ convertigo
Where is Convertigo MBaaS server storing deployed projects
Projects are deployed in the Convertigo workspace, a simple file system directory. You can map the docker container /workspace to your physical system by using :
$ docker run --name C8O-MBAAS -v $(pwd):/workspace -d -p 28080:28080 convertigo
You can share the same workspace by all Convertigo containers. This this case, when you deploy a project on a Convertigo container, it will be seen by others. This is the best way to build multi-instance load balanced Convertigo server farms.
Migrate from an earlier version of Convertigo
- Stop the container to perform a backup. And just back the workspace directory. This will backup all the projects definitions and some project data.
- Start a new Convertigo MBaaS docker container mapping the workspace
- All the workspace (Projects) will be automatically migrated to the new Convertigo MBaaS version
The default administration account of a Convertigo serveur is admin / admin and the testplatform is anonymous.
These accounts can be configured through the administration console and saved in the workspace.
You can change the default administration account :
$ docker run -d --name C8O-MBAAS -e CONVERTIGO_ADMIN_USER=administrator -e CONVERTIGO_ADMIN_PASSWORD=s3cret -p 28080:28080 convertigo
You can lock the testplatform by setting the account :
$ docker run -d --name C8O-MBAAS -e CONVERTIGO_TESTPLATFORM_USER=tp_user -e CONVERTIGO_TESTPLATFORM_PASSWORD=s3cret -p 28080:28080 convertigo
JAVA_OPTS Environment variable
Convertigo is based on a Java process with some defaults JVM options. You can override our defaults JVM options with you own.
Add any Java JVM options such as -Xmx or -D[something]
$ docker run -d --name C8O-MBAAS -e JAVA_OPTS="-Xmx4096m -DjvmRoute=server1" -p 28080:28080 convertigo
Pre configurated Docker compose stack
You can use this stack to run a complete Convertigo MBaaS server with FullSync repository and MySQL analytics in a few command lines.
mkdir c8oMBaaS cd c8oMBaaS wget https://raw.githubusercontent.com/convertigo/docker/master/compose/mbaas/docker-compose.yml docker-compose up -d
convertigo images come in many flavors, each designed for a specific use case.
This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
This image is based on the popular Alpine Linux project, available in the
alpine official image. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use musl libc instead of glibc and friends, so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn’t have an issue with this, so this variant is usually a very safe choice. See this Hacker News comment thread for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.
To minimize image size, it’s uncommon for additional related tools (such as
bash) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the
alpine image description for examples of how to install packages if you are unfamiliar).
Convertigo Community Edition MBaaS image is licenced under AGPL 3.0
As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
Some additional license information which was able to be auto-detected might be found in the
As for any pre-built image usage, it is the image user’s responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.library, sample, convertigo