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
-
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 -
su
-
dnf remove -y podman
-
dnf update -y
-
dnf install -y dnf-utils device-mapper-persistent-data lvm2
-
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
-
dnf install -y docker-ce docker-ce-cli containerd.io
-
systemctl start docker
-
systemctl enable docker
AYON Install
Git clone AYON and run docker
- Make a sensible directory where the ayon docker will live. For this example:
/home/<dane>/Apps/AYON/
cd /home/<user>/Apps/AYON/
git clone https://github.com/ynput/ayon-docker.git
cd /home/<user>/Apps/AYON/ayon-docker/
docker compose up -d
make setup
Now the server should be running and you can now log into: http://localhost:5000/
in your browser.
- log in with
admin/admin
- go back to the terminal, you should still be in
/home/<user>/Apps/AYON/ayon-docker/
- run
docker compose pull
- 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.
- Under Studio settings / Applications set any executable paths you need too so they are pointing to the correct place
- Under Studio settings / Ftrack we can put our ftrack server URL, for instance
https://yourftrack.ftrackapp.com
- 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 - Now, still in ftrack, go to
API Keys
and add an API key for ayon to use, take note of the KEY - 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.
- Back in Studio settings / Ftrack we can now link our new user and api keys
Ash server setup
- In AYON still, Under the “Users” tab click on “Add New User”
- Set the Access level to
service
and call it something likeftrack_service
- Hit save and then hit
Generate new key...
- Copy this key into a text editor for save keeping for now
- Back in your “docker terminal”
docker pull ynput/ayon-ash:latest
- 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: {}
- Add the section to your own as above but make sure to update with your own SERVER and API_KEY
- 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
docker compose up -d
docker compose logs worker
- You should now see your service running
- running
docker compose pull
one more time here, and thendocker compose up -d
again
Add AYON Service for Ftrack
- Click on the settings icon top right of AYON and go to Services
- 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