AYON BETA Setup with FTrack (Linux Rocky 8)

I’ve put this guide in for those who may be like myself and have come in fresh to setting up the ayon beta from scratch. There are other guides on this post which helped me but I feel it was missing some extra steps that may be worth mentioning, maybe because this is specific to my own setup.

**I’m currently running into an issue with the ftrack service not acting how it should, I’ll update this post once I find the fix

Prerequisites

  1. Docker must be installed on the system, by default Rocky8 comes with something called podman which can be used together but is overcomplicated to set up, the easiest way to install docker is to remove podman first

  2. su

  3. dnf remove -y podman

  4. dnf update -y

  5. dnf install -y dnf-utils device-mapper-persistent-data lvm2

  6. dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

  7. dnf install -y docker-ce docker-ce-cli containerd.io

  8. systemctl start docker

  9. systemctl enable docker

AYON Install

Git clone AYON and run docker

  1. Make a sensible directory where the ayon docker will live. For this example: /home/<dane>/Apps/AYON/
  2. cd /home/<user>/Apps/AYON/
  3. git clone https://github.com/ynput/ayon-docker.git
  4. cd /home/<user>/Apps/AYON/ayon-docker/
  5. docker compose up -d
  6. make setup

Now the server should be running and you can now log into: http://localhost:5000/ in your browser.

  1. log in with admin/admin
  2. go back to the terminal, you should still be in /home/<user>/Apps/AYON/ayon-docker/
  3. run docker compose pull
  4. then docker compose up -d

AYON Base Setup

Back in the web browser follow along the steps to install what you need.

For me I chose Full suite - Ftrack integration and only chose the apps I’m using, make sure to leave the ayon_plugins and ftrack plugins enabled. This will then download and install what’s needed.

After the install you should now be at the home page of AYON.

  1. Under Studio settings / Applications set any executable paths you need too so they are pointing to the correct place
  2. Under Studio settings / Ftrack we can put our ftrack server URL, for instance https://yourftrack.ftrackapp.com
  3. Now we need to add the ftrack user name and api key, to do this go over to your ftrack system settings and create a user with admin rights called anything that makes sense, for instance ayon take note of the user name
  4. Now, still in ftrack, go to API Keys and add an API key for ayon to use, take note of the KEY
  5. Back in AYON go to the secrets tab and add 2 new secrets one for the username and one for the API KEY. The name itself isnt important, it just need to make sense to you.
  6. Back in Studio settings / Ftrack we can now link our new user and api keys

Ash server setup

  1. In AYON still, Under the “Users” tab click on “Add New User”
  2. Set the Access level to service and call it something like ftrack_service
  3. Hit save and then hit Generate new key...
  4. Copy this key into a text editor for save keeping for now
  5. Back in your “docker terminal”
  6. docker pull ynput/ayon-ash:latest
  7. The easiest way is to run ash is as a part of your main stack by editing the {ayon-docker-repo}/docker-compose.yml file on disk.

Here is an example of my final docker-compose.yml - I’ve only added the worker section near the bottom.

version: "3.7"

services:
  postgres:
    image: postgres:15
    expose:
      - 5432
    environment:
      - "POSTGRES_USER=ayon"
      - "POSTGRES_PASSWORD=ayon"
      - "POSTGRES_DB=ayon"
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "db:/var/lib/postgresql/data"
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ayon"]
      interval: 5s
      timeout: 5s
      retries: 5

  redis:
    image: redis:alpine
    expose:
      - 6379
    restart: unless-stopped
    # TODO: This check floods logs (too many writes)
    # healthcheck:
    #   test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
    #   interval: 5s
    #   timeout: 5s
    #   retries: 5

  server:
    image: ynput/ayon:dev
    restart: unless-stopped
    volumes:
      - "./addons:/addons"
      - "./storage:/storage"
      
      # comment out the following line on Windows
      - "/etc/localtime:/etc/localtime:ro"
      
      # uncomment the following line if you need to work on the backend code
      # - "./backend:/backend"
    ports:
      - "5000:5000"
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_started
    environment:
      - "AYON_POSTGRES_URL=postgres://ayon:ayon@postgres/ayon"

  worker:
    image: ynput/ayon-ash:latest
    hostname: worker-01
    restart: on-failure
    network_mode: host
    depends_on:
      - server
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
      - "AYON_API_KEY=766df175a10d483285f88796c7bd0ac7"
      - "AYON_SERVER_URL=http://localhost:5000"

volumes:
  db: {}
  1. Add the section to your own as above but make sure to update with your own SERVER and API_KEY
  2. Make sure your formatting is correct otherwise docker will complain, you can use (https://codebeautify.org/yaml-validator/cbccd63a) to check if it helps. Save the file
  3. docker compose up -d
  4. docker compose logs worker
  5. You should now see your service running
  6. running docker compose pull one more time here, and then docker compose up -d again

Add AYON Service for Ftrack

  1. Click on the settings icon top right of AYON and go to Services
  2. Add a new service with the following settings (if no workers are listed at this point, something went wrong with the ASH setup)

1st Service:
name = ftrack_processor
addon = Ftrack
addon version = ftrack X.X.X
service = processor
host = worker-01

2nd Service:
name = ftrack_leecher
addon = Ftrack
addon version = ftrack X.X.X
service = leecher
host = worker-01

2 Likes

you are the best human alive, thanks for the guide just what i need it

1 Like

I have followed the setup above and the Ayon server all looks fine. However I cannot get ftrack to update Ayon. The Ayon Event logs says it cannot find the project.

According to the user docs it seems I am missing the Prepare Project Action in ftrack. I have other actions available like the Ayon Admin - Create/Update custom attributes and a few others but not that.

The other thing I have noticed is a field for ftrack ID and ftrack path in the project attributes which isn’t documented. Should I be filling in this with something?

As you can tell I am not that technical but used to use Openpype which worked fine with ftrack so not sure what I am doing wrong

I’ve actually stopped testing the ftrack integration after having issues with the service. I haven’t tried again since I posted this months back. I’m sure the discord community can help.

It would be great to hear if you get things up and running though, maybe make a similar post to help other out in the future if you get things up and running!

“Back in AYON go to the secrets tab and add 2 new secrets one for the username and one for the API KEY. The name itself isnt important, it just need to make sense to you.”
Thank You, Thank You, Thank you very much.

2 Likes

Just to update on this side, after a few months the updates from AYON fixed the ftrack issues. So it seems to be working fine now. With the same setup mentioned above. Only difference is that personally I moved to Rocky 9 and there may be some changes in the yml file with the latest version pull but thats about it.

Thank you for putting all this together. this post is still relevant.
we have some bits of the post above in many smaller posts on forums and docs.
I’ll put links here for reference.

As a thank you for your valuable contribution, I’ve assigned contribution role on our discord server. it lets you send messages in our contributors channels and also enjoy a cool blue name on our discord server. :wink:

1 Like