Skip to content

Docker Compose

The project uses Docker Compose to run the documentation site, nginx reverse proxy, and certbot for TLS certificates. The compose file lives at tradingview-strategy/docker-compose.yml, with the docs context at ../docs.

Services

docs

Multi-stage build that produces the MkDocs static site and serves it with nginx.

Stage Image Purpose
Build python:3.12-slim Installs MkDocs + Material theme, runs mkdocs build
Serve nginx:1.27-alpine Serves the built site from /usr/share/nginx/html

The container includes a healthcheck so that downstream services can wait for it to be ready before starting.

nginx

The reverse proxy that handles TLS termination and routes traffic to the dashboard and docs.

  • Image: nginx:1.27-alpine
  • Ports: 80 (HTTP), 443 (HTTPS)
  • Depends on: docs (healthy)
  • Config: mounted from nginx/nginx.conf

See Nginx and SSL for the full configuration.

certbot

Handles Let's Encrypt certificate issuance and renewal.

See Certbot for usage details.

Volumes

Volume Purpose
certbot-webroot Shared between nginx and certbot for ACME challenge files
certbot-certs Stores issued certificates, mounted into nginx
nginx/certs Additional certificate storage

Network

All services share a single Docker bridge network named web.

Common Commands

Build and start all services:

docker compose up -d --build

Check service status:

docker compose ps

View logs:

docker compose logs

View logs for a specific service:

docker compose logs docs
docker compose logs nginx
docker compose logs certbot

Rebuild a single service:

docker compose up -d --build docs

Stop all services:

docker compose down