Standalone Container¶
The standalone image packages the complete OpenECPDS stack — MariaDB, Master Server, Data Mover, and Monitor — in a single Docker container that starts pre-configured and ready to use. No build step, no manual database setup, no separate compose file required.
Purpose
The standalone image is designed for evaluation, demos, and local exploration. It is not intended for production use. For a full deployment, see Installation and First Run.
Requirements¶
| Resource | Minimum | Recommended |
|---|---|---|
| RAM | 2 GB | 4 GB |
| Disk (image) | 4.5 GB | — |
| Disk (data volume) | 1 GB | 10 GB+ |
| Docker | 20.10+ | latest |
Start¶
docker run -d \
--name standalone \
-v $(pwd)/ecpds-data:/data \
-p 7443:7443 \
-p 7022:7022 \
-p 8443:8443 \
-p 8883:8883 \
ghcr.io/ecmwf/open-ecpds/standalone:latest
The database initialises automatically on first start. The /data volume persists everything across restarts. Wait about 30 seconds for all services to become available.
Self-signed certificate
The container uses a self-signed TLS certificate. Accept the browser security warning on first visit, or pass --insecure / --no-verify-ssl to CLI tools.
Access¶
Running on a remote machine?
All URLs below use localhost, which assumes the container is running on the same machine as your browser or terminal. If you started the container on a remote server, replace localhost with that server's hostname or IP address.
| Service | URL | Credentials |
|---|---|---|
| Monitoring UI | https://localhost:8443 | admin / admin2021 · monitor / monitor2021 |
| Data Portal (HTTPS) | https://localhost:7443 | test / test2021 |
| Data Portal (S3) | https://localhost:7443/s3 | test / test2021 |
| Data Portal (WebDAV) | https://localhost:7443/webdav | test / test2021 |
| Data Portal (SFTP) | sftp://localhost:7022 | test / test2021 |
| MQTTS broker | mqtts://localhost:8883 | test / test2021 |
Exposed ports¶
| Port | Service |
|---|---|
7443 | Data Mover — HTTPS Data Portal |
7022 | Data Mover — SFTP |
8883 | Data Mover — MQTTS (MQTT over TLS) |
8443 | Monitor — HTTPS UI |
9640 | Master — ECpds CLI |
FTP not available in standalone
OpenECPDS fully supports FTP in production deployments. FTP passive mode (PASV) is not compatible with Docker port mapping — the server advertises its internal address for data connections, which external clients cannot reach. Use SFTP (port 7022) as a drop-in alternative.
Try the protocols¶
All examples use the pre-configured test / test2021 account.
HTTPS — browser or curl¶
Open https://localhost:7443 in a browser to access the Data Portal UI, or use curl:
# List available destinations as JSON
curl -k -u test:test2021 -H "Accept: application/json" \
https://localhost:7443/ecpds/data/list/
Example output:
# List files in a destination
curl -k -u test:test2021 -H "Accept: application/json" \
https://localhost:7443/ecpds/data/list/hourly_aq
SFTP¶
S3¶
Using AWS CLI:
aws configure set aws_access_key_id test
aws configure set aws_secret_access_key test2021
aws s3 ls s3:// --endpoint-url https://localhost:7443/s3 --no-verify-ssl
Using rclone:
rclone lsd :s3: \
--s3-provider=Other \
--s3-endpoint=https://localhost:7443/s3 \
--s3-access-key-id=test \
--s3-secret-access-key=test2021 \
--no-check-certificate
WebDAV¶
Using curl:
# List root directory (PROPFIND)
curl -k -u test:test2021 -X PROPFIND https://localhost:7443/webdav/
Using rclone:
rclone lsd :webdav: \
--webdav-url=https://localhost:7443/webdav \
--webdav-vendor=other \
--webdav-user=test \
--webdav-pass=$(rclone obscure test2021) \
--no-check-certificate
Using cadaver (interactive WebDAV client):
# cadaver does not support self-signed certs natively — set SSL_CERT_FILE or
# configure ~/.cadaverrc: use-ssl-noverify=yes
cadaver https://localhost:7443/webdav
# Username: test Password: test2021
dav:/webdav/> ls
Or mount directly from your OS file manager:
- macOS Finder: Go → Connect to Server… (⌘K), enter
https://localhost:7443/webdav, click Connect, then log in withtest/test2021. - Windows Explorer: Right-click This PC → Map network drive, choose a drive letter, enter
https://localhost:7443/webdavas the folder, check Connect using different credentials and log in withtest/test2021. - Linux (GNOME Files / Nautilus): Go → Connect to Server…, enter
davs://localhost:7443/webdav, log in withtest/test2021. - Linux (command-line): mount with
davfs2:sudo mount -t davfs https://localhost:7443/webdav /mnt/webdav
Note
All OS file managers will warn about the self-signed certificate — accept it to proceed. The WebDAV share appears as a network drive alongside your local disks.
MQTTS¶
Using mqttx CLI (recommended):
Logs¶
DEBUG logging
The standalone image runs with DEBUG logging enabled by default. This produces verbose output useful for exploring how OpenECPDS processes transfers, connects to data movers, and handles incoming requests. In production the log level is controlled via the LOG_LEVEL environment variable (e.g. LOG_LEVEL=warn).
# All services (supervisord output)
docker logs -f standalone
# Individual service logs
docker exec standalone tail -f /data/log/master/master.log
docker exec standalone tail -f /data/log/mover/mover.log
docker exec standalone tail -f /data/log/monitor/monitor.log
Stop and remove¶
# Stop (data is preserved in ./ecpds-data)
docker stop standalone
# Restart later
docker start standalone
# Remove completely (keeps ./ecpds-data on disk)
docker rm standalone
Next steps¶
- Explore the Monitoring UI to see destinations, hosts, and transfer history. Two accounts give different perspectives:
admin/admin2021— full administrator view with access to all destinations, hosts, transfer queues, users, and system configuration.monitor/monitor2021— restricted user view showing only a limited set of destinations and features, as a regular monitoring user would experience it.
- Read Data Acquisition and Data Dissemination to understand the two active services.
- Explore the Data Portal for how remote users push and pull data.
- Ready for a real deployment? See Installation → First Run.