Documentation
  • Introduction
  • Why Ampersand?
    • The Business Rules Manifesto and Ampersand
  • Tutorial
    • Example system: Enrollment
    • Conceptual Model: Enrollment
    • Your tool: RAP4
    • Making your first Ampersand script
  • Reactive programming
  • The language Ampersand
    • How to read syntax statements
    • Truth
    • Atoms
    • The CONCEPT statement
    • The RELATION statement
    • The MEANING statement
    • The PURPOSE statement
    • The CLASSIFY statement
    • The RULE statement
    • Terms
      • Semantics
      • Semantics in logic
        • Primitive terms
        • Boolean operators
        • Relational operators
        • Residual operators
      • Semantics in natural language
        • Primitive terms in natural language
        • Boolean operators in natural language
        • Relational operators in natural language
        • Residual operators in natural language
      • Semantics in sets
        • Primitive terms in set theory
        • Boolean operators in set theory
        • Relational operators in set theory
      • Semantics of terms, defined algebraically
        • Boolean operators in algebra
        • Relational operators in algebra
      • Semantics visualized
        • Semantics of boolean operators visualized
        • Semantics of relational operators visualized
        • Semantics of residuals visualized
    • Context
    • Module
    • Best Practices
    • Syntactical Conventions
      • The CONCEPT statement
      • The RELATION statement
      • The RULE statement
      • The CONTEXT statement
      • The INCLUDE statement
      • Explanation
      • Patterns
      • Population
        • Population in spreadsheets
      • The PURPOSE statement
      • The IDENT statement
      • The TABLE statement
      • Language support
    • The INCLUDE statement
    • Patterns
    • Services
      • Example: Client
      • Example: Login
      • Syntax and meaning
      • Explanation
      • Layout of user interfaces
        • Your own widgets (HTML and CSS)
      • CRUD
    • Population
      • Population in spreadsheets
    • The ENFORCE statement
    • The IDENT statement
    • The TABLE statement
    • Language support
    • Current date
    • The Preprocessor
    • Design considerations
  • Running the Ampersand compiler
    • Configuration
    • Commands (vs. 4.0.0 and later)
    • Options (up to vs. 3.17.4)
  • Architecture of an Ampersand Application
    • Backend framework
    • Hooks
    • Extensions
      • The ExecEngine
  • Deploying your Ampersand script
    • Compiler
    • Deploy your own web application on your laptop
    • Prototype multi-stage build
    • Prototype database
  • Reusing Available Modules
    • Modules
    • Security
    • SIAM (Sessions, Identity and Access Management) Module
  • Exercises
    • Delivery
    • VOG (in Dutch)
  • Installing Ampersand
    • Deploying your Prototype
    • Installing the tools manually
  • Modeling
    • Domain Driven Design
    • Data modeling
    • Legal modeling
    • Architecture modeling
    • Metamodeling
    • Limitations of Ampersand
  • Configuring your application
  • The Excel Importer
  • Plans
    • Current State
    • NoSQL storage
    • API documentation
    • OWL and RDFS input
    • Refactor the front-end
  • Research
Powered by GitBook
On this page
  • Deploy your local environment to run Ampersand prototypes
  • Install instructions for Windows
Export as PDF

Deploying your Ampersand script

Deploying your Ampersand application has been automated, so you can deploy fast and deploy anywhere. Read this section for the quick "how-to's", examples, and the bigger picture behind it.

PreviousThe ExecEngineNextCompiler

Last updated 3 years ago

Different aspects of the Ampersand user's environment can be containerized 1. Ampersand compiler 1. Modelling environment for Ampersand user (incl. VSCode extensions) 1. Prototype environment, including:

  • Apache webserver with PHP

  • Ampersand compiler

  • PHP-composer

  • NPM (Node Package Manager)

  • Gulp

    1. Multi-stage prototype build, only:

  • Apache webserver with PHP

  • Generated code

    1. Prototype database

  • MariaDB with default user/password

A docker-compose file is available to deploy prototype, database and supporting tools (like phpMyAdmin)

Deploy your local environment to run Ampersand prototypes

Detailed technical instructions are at under the directory listing. This page provides more general and summarized information as context.

The contains a docker-compose and Dockerfile to generate, build and run a prototype application.

Run: docker-compose up -d to deploy the following services:

  • Apache webserver

    • Serves your prototypes

    • Available in the browser at http://localhost:80

  • phpMyAdmin dashboard

    • Available in the browser at http://localhost:8080

  • MariaDB database

    • Not directly exposed on host

Install instructions for Windows

  • Click on the green “Code” button and pull down to “Download ZIP”

  • Download the zip and copy the directory on your laptop

  • With a command line interface:

    • docker-compose up –d

    • you may need to enter “docker network create proxy” and repeat “docker-compose up –d”. The second time is a lot faster

  • Go to the Docker desktop app

    • Find rap-master or the name you gave this docker app

    • Click the play button (the triangle)

  • Go to “localhost” on your browser and RAP should be running there as it does on the course server

    • If that doesn’t work then to back to docker and stop and restart rap4 but enter “2020” as the port and go on the browser to “localhost:2020”

Install Docker from and start the desktop app

Go to

RAP's GitHub site has more technical install instructions at

https://github.com/AmpersandTarski/RAP
project-template repository
https://docs.docker.com/install/
https://github.com/AmpersandTarski/RAP
https://github.com/AmpersandTarski/RAP/blob/master/README.md