---
title: Docker
description: Similar to other proxies, Super can be run as a Docker container.
---
> ## Documentation Index
> Fetch the complete documentation index at: https://docs.page/luizfonseca/super/llms.txt
> Use this file to discover all available pages before exploring further.

Similar to other proxies, Super can be run as a Docker container. The following command will run the latest version of it:

```bash
docker run -d -p 80:80 -p 443:443 -v /path/to/config:/etc/proksi/ luizfonseca/super
```

Images are tagged with each release (`luizfonseca/super:super-v0.4.0`) and `latest`.

The image is available for `amd64` and `arm64`, and ships a static binary (it doesn't depend on the image's libraries). Super only opens the ports its hosts need, so publish the ports of your configuration: `80` and `443` by default, or the `listen` addresses of your hosts.

If you are using `docker-compose.yml` to manage your services, you can configure Super as your main host-mode container without even creating a `config.hcl` file.

```yaml
services:
  proksi:
    environment:
      PROKSI_LOGGING__LEVEL: "info"
      PROKSI_WORKER_THREADS: 2

      # Routes to containers (or swarm services) with `proksi.*` labels
      PROKSI_DOCKER__ENABLED: "true"
      PROKSI_DOCKER__MODE: container

      PROKSI_LETS_ENCRYPT__ENABLED: "true"
      PROKSI_LETS_ENCRYPT__STAGING: "true"
      PROKSI_LETS_ENCRYPT__EMAIL: "contact@email.net"

      PROKSI_PATHS__LETS_ENCRYPT: "/etc/proksi/certs"
    image: luizfonseca/super:latest
    networks:
      # Any service in the same network will be able to communicate with Super
      - web
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      # Certificates from Let's Encrypt, kept across restarts
      - certs:/etc/proksi/certs
    # Lets open connections finish when the container stops (see Restarts and upgrades)
    stop_grace_period: 35s

volumes:
  certs:

networks:
  web:
```

And then you can expose any service by using the `proksi.enabled` and `proksi.host` labels. For example a simple `nginxdemos/hello` container/service, on the same network:

```yaml
services:
  # ... (include Super configuration)
  web:
    image: nginxdemos/hello

    networks:
      - web
    labels:
      proksi.enabled: "true"
      proksi.host: "your-site.localhost"
      proksi.port: "80" # no need to publish host ports

      # If you are running locally
      proksi.ssl_certificate.self_signed_on_failure: "true"
```

