Files

2.8 KiB

version: '3.8'

services:
  speedtest-tracker:
    image: lscr.io/linuxserver/speedtest-tracker:latest
    container_name: speedtest-tracker
    restart: unless-stopped
    
    ports:
      - 8888:80
      - 8443:443
    
    environment:
      # User & Group IDs - Run 'id $user' on Synology terminal
      - PUID=1026
      - PGID=100
      
      # Application Key (REQUIRED) - Generate with: echo -n 'base64:'; openssl rand -base64 32;
      - APP_KEY=base64:Il3vSoT/ZvlAn2CMFJLYl1r+LXXiLsZ6i3E4BcmUnZA=
      
      # Database Configuration
      - DB_CONNECTION=sqlite
      # For external database, uncomment and configure:
      # - DB_CONNECTION=mysql
      # - DB_HOST=
      # - DB_PORT=3306
      # - DB_DATABASE=speedtest_tracker
      # - DB_USERNAME=
      # - DB_PASSWORD=
      
      # Application Settings
      - APP_NAME="Speedtest Tracker"
      - APP_URL=https://speed.gregrjacobs.com
      - APP_TIMEZONE=America/Toronto
      - APP_DEBUG=false
      
      # Display Settings
      - DISPLAY_TIMEZONE=America/Toronto
      
      # Speedtest Schedule (Cron format)
      # Examples:
      # - Every hour: 0 * * * *
      # - Every 6 hours: 0 */6 * * *
      # - Daily at midnight: 0 0 * * *
      - SPEEDTEST_SCHEDULE=0 */1 * * *
      
      # Speedtest Servers
      # Comma-separated list of server IDs to use
      - SPEEDTEST_SERVERS=24930,47346,47543,47353,10727,46914,46809,46125,46128,47750
      
      # API Settings
      # - PRUNE_RESULTS_OLDER_THAN=0  # Days, 0 = disabled
      
      # Mail Configuration (Optional)
      # - MAIL_MAILER=smtp
      # - MAIL_HOST=
      # - MAIL_PORT=587
      # - MAIL_USERNAME=
      # - MAIL_PASSWORD=
      # - MAIL_ENCRYPTION=tls
      # - MAIL_FROM_ADDRESS=
      # - MAIL_FROM_NAME="${APP_NAME}"
    
    volumes:
      # Main config directory
      - /volume1/docker/speedtest-tracker/config:/config
      
      # Optional: Custom SSL certificates directory
      # Place cert.crt (full chain) and cert.key (private key) here
      # - /volume1/docker/speedtest-tracker/ssl:/config/keys
    
    labels:
      - homepage.group=Monitoring
      - homepage.name=Speedtest Tracker
      - homepage.icon=speedtest-tracker.png
      - homepage.href=https://speed.gregrjacobs.com
      - homepage.description=Internet speed monitoring
      - homepage.weight=5
      - homepage.widget.type=speedtest
      - homepage.widget.url=https://speed.gregrjacobs.com
      - homepage.widget.key=bcTKzip0f1DBa2ebujkimxE53bSRBLmxvDEsMahL1fc749c6
      - homepage.widget.bitratePrecision=3
      - homepage.widget.version=2
    
    # Optional: Set DNS servers
    # dns:
    #   - 1.1.1.1
    #   - 8.8.8.8
    
    # Optional: Network mode
    # network_mode: bridge

# Optional: Use custom network
# networks:
#   speedtest:
#     driver: bridge