version: "3.7"

services:
  nitter:
    image: zedeus/nitter:latest
    container_name: nitter
    networks:
      - tipi_main_network
    ports:
      - ${APP_PORT}:8080
    volumes:
      - "${APP_DATA_DIR}/data/nitter.conf:/src/nitter.conf:ro"
    depends_on:
      - nitter-redis
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "wget" ,"--no-verbose", "--tries=1", "--spider", "http://localhost:8080"]
      interval: 1m
      timeout: 3s
    labels:
      traefik.enable: ${APP_EXPOSED}
      traefik.http.routers.nitter.rule: Host(`${APP_DOMAIN}`)
      traefik.http.routers.nitter.entrypoints: websecure
      traefik.http.routers.nitter.service: nitter
      traefik.http.routers.nitter.tls.certresolver: myresolver
      traefik.http.services.nitter.loadbalancer.server.port: 8080

  nitter-redis:
    image: redis:alpine
    container_name: nitter-redis
    networks:
      - tipi_main_network
    command: redis-server --save 60 1 --loglevel warning
    volumes:
      - "${APP_DATA_DIR}/data/redis:/data"
    restart: unless-stopped