Dashboard Help About

Getting Started

angie.local is your control center. It serves the documentation and health-check dashboard.

If this page isn't loading properly, check the following:

  • Docker Desktop is running
  • The container named angie is in status Up
  • Run docker compose ps in your project folder to verify

Access this help page anytime via /amp/docs/help.html

Quick Start

Requirements

  • Download: Clone the repository or download the ZIP and extract it to a folder e.g. D:\amp\
  • Launch Docker: Open Docker Desktop and ensure the engine is running.
  • Boot the Stack: Open a terminal in your project folder and run:

docker compose up -d

The AMP-MANAGER Setup

Run AMP-MANAGER.bat as Administrator. This tool allows you to manage your environment.

  • Install CA: On the first run, it installs your Certificate Authority.
    This allows your browser to trust your local .local sites with green SSL locks.
  • Add Your First Site: Select [N] New Domain and type angie
  • Note: The manager automatically adds .local, generates your SSL .pem files, and creates the server configuration.

Finalize & Browse

  • Reload Angie: For the server to see your new site configuration, from AMP-MANAGER, or restart the container:
  • Visit the default angie.local: Open your browser and go to https://angie.local
  • This is your Control Center for documentation, health checks, and status monitoring.

AMP Stack

Angie is a modern fork of Nginx with enhanced features, better performance tuning options, and active maintenance.

In this AMP stack:

  • Angie handles all HTTP/HTTPS traffic
  • PHP-FPM processes dynamic content
  • All configuration files live on your host: D:\amp\config\angie-sites\*.conf

More detailed setup information is available on the official websites:

Angie, a free fork of nginx, a powerful and scalable web server ↗

Angie srver external modules ↗

MariaDB Server: the innovative open source database ↗

PHP: the popular general-purpose scripting language ↗

Mkcert: zero-config tool to make locally trusted certificates ↗

SSL & Certificates

We use mkcert to create locally trusted certificates.

If browsers show a red warning or "Not Secure":

  • Run Option 9 in amp-manager.bat to re-trust the AMP-Manager Root Authority
  • Or manually run mkcert -install in your command prompt (as Administrator the first time)
  • After trusting, restart your browser

All certificates are stored in D:\amp\config\certs\

Setup .local Domains

To add a new local site:

  1. Create your project folder inside D:\amp\www\project.local\
  2. Run AMP-MANAGER to generate the server conf. file D:\amp\config\angie-sites\project.local.conf
  3. And create the required domain entry and .pem certificate:
    • Generate SSL certificate (mkcert)
    • Add entry to Windows hosts file (127.0.0.1 yourproject.local)
    • Reload Angie
  4. Ensure your .conf file has the correct server_name project.local; and root /www/project.local/public;

If you edit angie.local.conf avoid editing the DASHBOARD & API required for server /status/

Database Settings

Default credentials (change in production or via docker-compose):

  • Host: db (MariaDB container name)
  • Root user: root
  • Root password: set in docker-compose or .env
  • Application user: ampuser
  • Default database: ampdb

To create a new database:

  1. Open phpMyAdmin (via Database Admin link) or any MySQL client
  2. Login as root
  3. Create new database → assign privileges to ampuser if needed

Manage databases with root credentials or create dedicated users per project.

Troubleshooting

  • Port 80/443 conflict: Close Skype, IIS, Apache, or any other web server using these ports.
  • Site not loading: Check Docker logs: docker logs angie
  • SSL warning: Re-trust mkcert root CA (see SSL section)
  • Domain not resolving: Verify entry in C:\Windows\System32\drivers\etc\hosts
  • PHP errors: Check logs in D:\amp\logs\php\

You can use the built-in PHP server for debugging if you're having trouble with a specific script, e.g., a syntax error that is hard to find in Docker logs, just run this in the project folder:

php -S localhost:8000

  • You get instant feedback: Errors are printed directly to the terminal window in real-time.
  • Isolation: It removes Docker, Angie, and SSL from the equation.
    If it works here but fails in the stack, the problem is in the Server Config, not the PHP Code.

While great for a quick test, php -S has three major limitations:

  • The built-in server ignores all your custom location blocks and rewrite rules.
  • Single-Threaded: It can only handle one request at a time.
  • No HTTPS: It runs on http://, so features requiring a Secure Context (like some modern JS APIs) will fail

Tip

Use php -S only if you need to see raw PHP errors instantly without checking the Docker logs.

Docker

Common daily commands:

  • Check status: docker compose ps
  • View logs: docker compose logs -f angie or docker logs angie
  • Restart stack: docker compose down && docker compose up -d
  • Enter container: docker compose exec angie sh or docker compose exec php sh
  • Reload Angie without restart: docker compose exec angie angie -s reload

Container crash? Look for syntax errors in config files or missing mounts in docker-compose.yml.