WebDNA is an easy-to-learn server-side scripting language for creating database-driven websites.
711
WebDNA is a server-side scripting language designed for building dynamic, database-driven websites. WebDNA code is interwoven directly into HTML files and interpreted by the WebDNA engine on the server before being sent to the browser — similar in concept to PHP but with its own built-in database engine and simple tag-based syntax.
For example, displaying today's date in WebDNA is as simple as:
<p>Today is [date]</p>
With both scripting and database features built-in, WebDNA adds powerful dynamic capabilities to any web site without the need for a separate database such as MySQL. MySQL can also be used as a database with further configuration.
/WebCatalogservices:
webdna:
image: plsware/webdna:8.6.5
platform: linux/amd64
container_name: webdna-server-8-6-5
ports:
- "8080:80"
volumes:
- /opt/webdna/www:/var/www/html/sites
- webdna-data:/usr/lib/cgi-bin/WebCatalogEngine/globals
- webdna-logs:/var/log/apache2
restart: unless-stopped
volumes:
webdna-data:
name: webdna-server-8-6-5-data
webdna-logs:
name: webdna-server-8-6-5-logs
Save this as docker-compose.yml and run:
mkdir -p /opt/webdna/www
docker compose up -d
This image is currently built for linux/amd64 only. A native arm64 build is planned.
Pulling from the Docker Desktop GUI will fail with HTTP 404: Not Found. This is misleading — the image exists, but Docker Desktop does not let you specify a platform when pulling, so it cannot find an arm64 variant. Use the command line instead:
docker pull --platform linux/amd64 plsware/webdna:8.6.5
The docker-compose.yml above already includes platform: linux/amd64, so docker compose up -d works without any changes.
To avoid specifying the platform every time, set it for your shell:
export DOCKER_DEFAULT_PLATFORM=linux/amd64
Enable Rosetta in Docker Desktop under Settings → General → "Use Rosetta for x86/amd64 emulation on Apple Silicon". Without it, Docker falls back to QEMU, which is significantly slower and less reliable with Ubuntu 24.04 images.
Emulated containers are suitable for evaluation and development. They are not suitable for production or for performance testing — emulation will not reflect the multi-threading behaviour that a paid licence unlocks.
| URL | Purpose |
|---|---|
http://your-host:8080/WebCatalog | WebDNA admin interface |
http://your-host:8080/WebCatalog/christophes_tearoom/ | Built-in demo store |
http://your-host:8080/sites/ | Your own site files |
WebDNA admin login: admin / admin
Place your .dna files in /opt/webdna/www on the host. They will be served from http://your-host:8080/sites/.
Important: Do not mount a volume directly to
/var/www/html— this will hide the WebCatalog admin directory. Always mount to a subdirectory such as/var/www/html/sites.
| Volume | Purpose |
|---|---|
/opt/webdna/www | Your site files (bind mount) |
webdna-server-8-6-5-data | WebDNA globals and databases (persisted) |
webdna-server-8-6-5-logs | Apache logs (persisted) |
Full source including Dockerfile, entrypoint.sh and documentation is available on GitHub.
git clone https://github.com/plsoftware/webdna-docker.git
cd webdna-docker
chmod +x entrypoint.sh
docker build -t webdna:8.6.5 .
Content type
Image
Digest
sha256:d2a8fc550…
Size
73 MB
Last updated
8 months ago
docker pull plsware/webdna:8.6.5