services:
  feeds:
    image: ghcr.io/stevedylandev/andromeda/feeds:latest
    restart: unless-stopped
    ports:
      - "4555:3000"
    volumes:
      - feeds_data:/data
    env_file: apps/feeds/.env

  jotts:
    image: ghcr.io/stevedylandev/andromeda/jotts:latest
    restart: unless-stopped
    command: ["jotts", "server"]
    ports:
      - "3030:3030"
    volumes:
      - jotts_data:/data
    env_file: apps/jotts/.env

  og:
    image: ghcr.io/stevedylandev/andromeda/og:latest
    restart: unless-stopped
    ports:
      - "3456:3000"
    volumes:
      - og_db_data:/app/data

  sipp:
    image: ghcr.io/stevedylandev/andromeda/sipp:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - sipp_data:/data
    env_file: apps/sipp/.env

  shrink:
    image: ghcr.io/stevedylandev/andromeda/shrink:latest
    restart: unless-stopped
    ports:
      - "3565:3000"

  cellar:
    image: ghcr.io/stevedylandev/andromeda/cellar:latest
    restart: unless-stopped
    ports:
      - "6754:3000"
    volumes:
      - cellar_data:/data
    env_file: apps/cellar/.env

  watchtower:
    image: containrrr/watchtower:1.7.1
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_INCLUDE_RESTARTING=true
      - DOCKER_API_VERSION=1.44
    command: --interval 300
  posts:
    image: ghcr.io/stevedylandev/andromeda/posts:latest
    restart: unless-stopped
    ports:
      - "3535:3000"
    volumes:
      - posts_data:/data
    env_file: apps/posts/.env

  library:
    image: ghcr.io/stevedylandev/andromeda/library:latest
    restart: unless-stopped
    ports:
      - "4646:3000"
    volumes:
      - library_data:/data
    env_file: apps/library/.env

  bookmarks:
    image: ghcr.io/stevedylandev/andromeda/bookmarks:latest
    restart: unless-stopped
    ports:
      - "3737:3000"
    volumes:
      - bookmarks_data:/data
    env_file: apps/bookmarks/.env

  easel:
    image: ghcr.io/stevedylandev/andromeda/easel:latest
    restart: unless-stopped
    ports:
      - "4242:4242"
    volumes:
      - easel_data:/data
    env_file: apps/easel/.env

  blobs:
    image: ghcr.io/stevedylandev/andromeda/blobs:latest
    restart: unless-stopped
    ports:
      - "3838:3000"
    volumes:
      - blobs_data:/data
    env_file: apps/blobs/.env

  backup:
    image: ghcr.io/stevedylandev/andromeda/backup:latest
    volumes:
      - jotts_data:/data/jotts:ro
      - sipp_data:/data/sipp:ro
      - cellar_data:/data/cellar:ro
      - posts_data:/data/posts:ro
      - feeds_data:/data/feeds:ro
      - library_data:/data/library:ro
      - bookmarks_data:/data/bookmarks:ro
      - easel_data:/data/easel:ro
      - blobs_data:/data/blobs:ro
    env_file: apps/backup/.env
    restart: unless-stopped

volumes:
  feeds_data:
    external: true
    name: feeds_feeds_data
  jotts_data:
    external: true
    name: jotts_jotts-data
  og_db_data:
    external: true
    name: og_db_data
  sipp_data:
    external: true
    name: sipp-rust_sipp-data
  cellar_data:
    external: true
    name: cellar_cellar_data
  posts_data:
    external: true
    name: posts_posts-data
  library_data:
    external: true
    name: library_library-data
  bookmarks_data:
    external: true
    name: bookmarks_bookmarks-data
  easel_data:
    external: true
    name: easel_easel-data
  blobs_data:
    external: true
    name: blobs_blobs-data
