convertigo
Estimated reading time: 9 minutesConvertigo is an open source MBaaS/MADP platform for mobile application development and back-end.
GitHub repo: https://github.com/convertigo/docker
Library reference
This content is imported from the official Docker Library docs, and is provided by the original uploader. You can view the Docker Hub page for this image at https://hub.docker.com/images/convertigo
Supported tags and respective Dockerfile
links
7.5.7
,7.5
,latest
(7.5/7.5.7/Dockerfile)7.5.7-alpine
,7.5-alpine
,alpine
(7.5/7.5.7/alpine/Dockerfile)7.4.8
,7.4
(7.4/7.4.8/Dockerfile)7.4.8-alpine
,7.4-alpine
(7.4/7.4.8/alpine/Dockerfile)
Quick reference
-
Where to get help:
the Docker Community Forums, the Docker Community Slack, or Stack Overflow -
Where to file issues:
https://github.com/convertigo/docker/issues -
Maintained by:
Convertigo -
Supported architectures: (more info)
amd64
,arm32v6
,arm32v7
,arm64v8
,i386
-
Published image artifact details:
repo-info repo’srepos/convertigo/
directory (history)
(image metadata, transfer size, etc) -
Image updates:
official-images PRs with labellibrary/convertigo
official-images repo’slibrary/convertigo
file (history) -
Source of this description:
docs repo’sconvertigo/
directory (history) -
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
image - 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
i386/convertigo
image - 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
Quick start
$ 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
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
Security
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.
CONVERTIGO_ADMIN_USER
and CONVERTIGO_ADMIN_PASSWORD
variables
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
CONVERTIGO_TESTPLATFORM_USER
and CONVERTIGO_TESTPLATFORM_PASSWORD
variables
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 -D[something] :
$ docker run -d --name C8O-MBAAS -e JAVA_OPTS="-DjvmRoute=server1" -p 28080:28080 convertigo
JXMX
Environment variable
Convertigo tries to allocate this amount of memory in the container and will automatically reduce it until the value is compatible for the Docker memory constraints. Once the best value found, it is used as -Xmx=${JXMX}m
parameter for the JVM.
The default JXMX
value is 2048
and can be defined :
$ docker run -d --name C8O-MBAAS -e JXMX="4096" -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
Image Variants
The convertigo
images come in many flavors, each designed for a specific use case.
convertigo:<version>
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.
convertigo:<version>-alpine
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 git
or 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).
License
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 repo-info
repository’s convertigo/
directory.
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.