Skip to content

Deploy to Production

The simplest way to run Shaper in production is to run Docker Compose on a Virtual Machine.

  1. Install Docker and Docker Compose on the server
  2. Configure your DNS to point to the server’s IP address.
  3. Create a basic docker-compose.yml file:
services:
shaper:
image: taleshape/shaper:0
environment:
- SHAPER_TLS_DOMAIN=yourdomain.com
volumes:
- shaperdata:/data
ports:
- 443:443
- 80:80
volumes:
shaperdata:
driver: local
  1. Run docker compose up -d

With this setup Shaper will use Let’s Encrypt to automatically obtain and renew TLS certificates for your domain and serve the web interface over HTTPS without the need for a separate reverse proxy.

Data is stored in the shaperdata volume, which is persisted across container restarts and updates.

You likely also want to mount a file at /var/lib/shaper/init.sql to setup credentials and attach remote databases and such. Shaper automatically executes this SQL on startup. See the Loading Data docs for more.

By default no authentication is required to access the Shaper web interface. When exposing Shaper on the internet you must enable authentication to prevent unauthorized access to your data.

To do so, click on “Admin” in the bottom left corner and then click on “Create User”.