Newer
Older
EnvoyControlPlane / docker-compose.yml
version: "3.9"

services:
  envoy-control-plane:
    # Use the Dockerfile in the current directory to build the image
    image: docker.jerxie.com/xds-server:latest
    # Set a custom container name for easier management
    container_name: envoy-control-plane
    # Restart policy to ensure the service comes back up unless manually stopped
    restart: unless-stopped
    # Mount the named volume (defined below) to the /app directory in the container
    ports:
      - "8090:8080"
      - "18000:18000"
    volumes:
      # Ensure this is mounted read/write for the container
      - data_volume:/app/data:rw
    command: ["--nodeID", "home", "--config-dir", "/app/data/config","--db","file:/app/data/data.db?_foreign_keys=on", "--enable-cert-issuance", "webroot-path=/app/data/acme"]

# Define the volumes used by the services
volumes:
  # Define a named volume for your code
  data_volume:
    # Use the 'local' driver which supports mounting remote filesystems
    driver: local
    # Specify the options for the driver
    driver_opts:
      # Set the filesystem type to NFS
      type: "nfs"
      # IMPORTANT: YOU MUST replace YOUR_UID and YOUR_GID below with the numeric IDs
      # that own the data directory on your NFS server (e.g., 1000).
      o: "addr=192.168.68.90,rw,nfsvers=4,uid=1026,gid=100"
      # Specify the remote path (device) on the NFS server to mount
      device: ":/volume1/docker/envoy-control-plane/data"