Yaml file for NAS installation (tested on Qnap TS262)

Hello, for who want to test Xibo 4.1 on a NAS I’ve spent a bit of time to implement Yaml file in “Container Station” of my Qnap NAS. I think it could work also in Synology equipment but not tested.
Install and open “Container Station”
Click on “Applications” and then button “+ Create”.
As “Application name” I’ve put “xibo4” (capital letter are not accepted).
Then copy/paste the below text (yaml):

version: '2.1'

services:
    cms-db:
        image: mysql:8.0
        volumes:
            - "xibodb:/var/lib/mysql"
        environment:
            - MYSQL_DATABASE=cms
            - MYSQL_USER=cms
            - MYSQL_PASSWORD=Password123
            - MYSQL_RANDOM_ROOT_PASSWORD=yes
        #mem_limit: 1g
        #env_file: config.env
        restart: always
        ports:
            - 3360:3306

    cms-xmr:
        image: ghcr.io/xibosignage/xibo-xmr:0.11
        ports:
            - "9505:9505"
        restart: always
        #mem_limit: 256m
        #env_file: config.env

    cms-web:
        image: ghcr.io/xibosignage/xibo-cms:release-4.1.0
        cap_add:
            - ALL
        volumes:
            - "./shared/cms/custom:/var/www/cms/custom:Z"
            - "./shared/backup:/var/www/backup:Z"
            - "./shared/cms/web/theme/custom:/var/www/cms/web/theme/custom:Z"
            - "./shared/cms/xibolibrary:/var/www/cms/library"
            - "./shared/cms/web/userscripts:/var/www/cms/web/userscripts:Z"
            - "./shared/cms/ca-certs:/var/www/cms/ca-certs:Z"
        restart: always
        environment:
            #- CMS_DEV_MODE=true (in DEV_MODE CRON doesn't work)
            - MYSQL_HOST=cms-db
            - MYSQL_PASSWORD=Password123
            - XMR_HOST=cms-xmr
            - CMS_USE_MEMCACHED=true
            - MEMCACHED_HOST=cms-memcached
            - CMS_SMTP_SERVER=smtp.gmail.com:587
            - CMS_SMTP_USERNAME=yourmail@domain.com
            - CMS_SMTP_PASSWORD=yourMailPassword
            - CMS_SMTP_USE_TLS=YES
            - CMS_SMTP_USE_STARTTLS=YES
            - CMS_SMTP_REWRITE_DOMAIN=domain.com
            - CMS_SMTP_HOSTNAME=domain.com
            - CMS_SMTP_FROM_LINE_OVERRIDE=YES
            - CMS_SERVER_NAME=cms.example.org
        ports:
            - "8786:80"
        #mem_limit: 1g
    cms-memcached:
        image: memcached:alpine
        command: memcached -m 15
        restart: always
        #mem_limit: 100M
    cms-quickchart:
      image: ianw/quickchart
      restart: always
volumes:
  xibodb:

few information:

  • I’ve commented (#) all ‘men-’ setup because are not allowed in Container Station inside the yaml: there is a side menu where I left “unlimited” all the resource
  • I’ve commented also the call to external “env_file: config.env”: same reason, not allowed but all the variables had added in “environment” section
  • even I’ve copy/paste all the variables in environment they not need to be feed, as per Xibo install instruction
  • exposed to host connection also cms-db container: (port 3360) just for my purpose to have a look using Myphpadmin
  • all the data are stored in the Nas out thank’s to the setup in “volumes” section.
  • select a different version or update to the new one is just a matter to change the image address (image: Package xibo-cms · GitHub).

Finally select “Default web URL port” to easing the access:


Hoping it helps to someone, bye.