Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++DelphiHow-To'sNewsRAD Studio

New PAServer Docker Image: Smaller, Faster, Better

Docker

Deploying and debugging RAD Studio applications has never been easier. With our new Docker image and our revamped run.sh script, this process is now streamlined and more user-friendly. This post introduces our optimized PAServer Docker solution, highlighting significant improvements, including a whopping 64% reduction in image size.

What is PAServer?

PAServer (Platform Assistant Server) is a tool that facilitates cross-platform development and deployment for RAD Studio, Delphi, and C++Builder. It enables remote compilation and debugging, allowing developers to build and debug applications on different platforms, such as Windows, Linux, macOS, iOS, and Android, from a single development environment. This integration streamlines the development process, enhancing efficiency and productivity by managing file transfers and remote sessions easily.

Why use Docker for Linux development?

Using Docker for development offers several key benefits that streamline the development process and enhance productivity. The key factors for using Docker are:

  • Consistency and Reproducibility: Docker makes sure your app and environment work the same everywhere, from your computer to production, so no more “it works on my machine” problems.
  • Isolation and Independence: Thanks to Docker’s container isolation, multiple instances of the same app with different setups can be run on the same machine without interfering with each other.
  • Rapid Setup and Deployment: Setting up a new environment is a breeze with Docker. A few commands and you’re good to go.
  • Scalability and Resource Efficiency: Docker containers are lightweight, using fewer resources than virtual machines. This means better performance and you can run more stuff on the same hardware.
  • CI/CD Integration: Docker works great with CI/CD pipelines, automating testing, building, and deployment in a consistent environment, making your life easier.

What’s New?

  • Optimized Image Size: The base Docker image has been reduced by 64%, resulting in faster downloads and less storage usage.
  • Enhanced run.sh Script: Simplifies setup and deployment with flexible configuration options.

Key Features

Our Docker image and run.sh script offer a range of features to make developing and deploying RAD Studio applications easier:

  • Customizable Container Names: Easily assign unique names to your PAServer containers.
  • Flexible Volume Mapping: Designate custom paths for data storage and access the compiled binaries directly from your computer.
  • Background Running: Option to run containers in detach mode.
  • Configurable Ports: Customize the port where PAServer runs.
  • Production Mode: Toggle production mode on.
  • Version: Specify which specific PAServer version to deploy.
  • Password Protection: Secure your PAServer with a custom password.

All these options have been integrated into the new run.sh script and you can easily access all the info through the handy --help arg.

Accessing the new image and repo code

The new image is available on DockerHub, and the run.sh script and the rest of the code to build your own images can be downloaded from GitHub.

Using run.sh Script

Pull the repo from GitHub and navigate to the directory containing run.sh in your terminal. Execute the script with your preferred options:

./run.sh [OPTIONS]

Options

  • --name or -n: Container’s name (e.g., --name=myPAServer).
  • --path or -pa: Bind path for volume mapping (e.g., --path=/my/custom/path).
  • --detach or -d: Run the container in detach mode (background).
  • --port or -p: Port for PAServer (e.g., --port=64211).
  • --production or -pr: Enable production mode (true).
  • --version or -v: PAServer version (e.g., --version=latest).
  • --password or -pw: Set a password for PAServer (e.g., --password=securepass).
  • --help or -h: Access the help of the script.

Example 1: Production Mode

Example 2: Detach Mode with Specific Version

Other functionalities

The updated GitHub repo contains a brand new, in-depth readme that explains more advanced solutions in detail. Using docker run instead of the new script, docker compose or create your own image version customizing the Dockerfile are just some examples.

See What's Coming in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

About author

Pre-sales consultant engineer at Embarcadero inc.

3 Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES