name: atreolink

services:
  atreolink:
    image: ghcr.io/atreolabs/atreoagent:1.3.1
    container_name: atreolink
    restart: unless-stopped
    stop_grace_period: 20s
    network_mode: host
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    environment:
      - TZ=$TZ
      - PROXY_HTTP_PORT=6140
    volumes:
      - type: bind
        source: /DATA/AppData/$AppID/data
        target: /var/lib/atreoagent
        bind:
          create_host_path: true
    deploy:
      resources:
        limits:
          cpus: "1.00"
          memory: 256M
        reservations:
          cpus: "0.00"
          memory: 32M
    labels:
      icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/atreolink/icon.png
    x-casaos:
      id: com.icestore.atreolink
      envs:
        - container: TZ
          description:
            en_US: >-
              Your time zone. It is filled in from your ZimaOS time zone.
              Leave it unless you need another.
        - container: PROXY_HTTP_PORT
          description:
            en_US: >-
              The plain http port of the agent's built-in proxy. It is 6140
              so it doesn't clash with the ZimaOS dashboard on port 80.
              Leave it.
      volumes:
        - container: /var/lib/atreoagent
          description:
            en_US: >-
              The agent's settings, its identity and WireGuard keys, the
              pairing with your atreoLINK account, family members' access
              and the TLS certificates. Back this folder up, or you have to
              pair the server again.

x-casaos:
  id: com.icestore.atreolink
  architectures:
    - amd64
    - arm64
  main: atreolink
  author: HSinghHira
  category: Networking
  developer: atreoLABS
  icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/atreolink/icon.png
  thumbnail: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/atreolink/screenshot-1.png
  screenshot_link:
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/atreolink/screenshot-1.png
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/atreolink/screenshot-2.png
  title:
    en_US: atreoLINK
  tagline:
    en_US: Let your family reach the apps on your ZimaOS from anywhere, over an encrypted tunnel
  description:
    en_US: >-
      Visit: [https://icestore.hsinghhira.me/app/atreolink/](https://icestore.hsinghhira.me/app/atreolink/) for full details


      atreoAGENT runs on your ZimaOS and pairs it with your atreoLINK
      account, so you and your family can open the apps you host, like
      Jellyfin, Immich or Home Assistant, from anywhere. Traffic goes through
      an encrypted WireGuard tunnel that atreoLINK can't read. You need a
      free account at atreolink.com.


      **Features**


      - Encrypted WireGuard tunnel, peer-to-peer, with a relay when you are
        behind CGNAT

      - Opens the ports it needs by itself (UPnP, NAT-PMP, PCP), so there is
        no port forwarding to set up

      - Pick which family member can open which app

      - A free subdomain with an https certificate, made and renewed for you;
        your own domain works too

      - End-to-end encrypted push notifications, and an optional email to
        push gateway for apps that send email alerts

      - Apps for phones, TVs and the browser for your family


      **How to use?**


      1. After install, open the app's log in ZimaOS.


      2. Copy the pairing link from the log and open it in a browser where
         you are signed in to atreolink.com.


      3. Pick your subdomain and approve.


      4. Add your apps and invite your family in the dashboard at
         app.atreolink.com.


      This app has no web page of its own on ZimaOS. Everything is set up at
      app.atreolink.com.
  tips:
    before_install:
      en_US: >-
        1. Make a free account at https://atreolink.com.


        2. Make sure nothing else on your ZimaOS uses port 443 or UDP port
           51820.


        3. Start the installation.


        4. Open the app's log in ZimaOS. Find the pairing link near the top.


        5. Open the link in a browser where you are signed in to atreoLINK.


        6. Pick a name for your subdomain and click approve.


        7. The log now says "Paired". Add your apps and invite your family at
           https://app.atreolink.com.


        8. In your apps' addresses, use http://[ZIMAOS-IP-ADDRESS]:<the app's port>.


        9. More settings, like a manual port forward, the relay and the email
           gateway, are listed on the atreoLINK page at
           https://icestore.hsinghhira.me/app/atreolink/ (Variables tab). You
           can add them now or later in the app settings.
  index: /
  port_map: "6140"
  scheme: http
  is_uncontrolled: false
  version: "1.3.1"
  update_at: "2026-10-29"
  release_notes:
    en_US: |-
      - First version in IceStore
      - Uses ghcr.io/atreolabs/atreoagent 1.3.1 as upstream ships it, with host networking, NET_ADMIN and /dev/net/tun
      - The proxy's plain http port is 6140 instead of 80, so it doesn't clash with the ZimaOS dashboard; https stays on 443
  repo: "https://github.com/atreoLABS/atreoAGENT"
  support: "https://github.com/atreoLABS/atreoAGENT/issues"
  docs: "https://docs.atreolink.com"
