admidio icon indicating copy to clipboard operation
admidio copied to clipboard

Admidio with CapRover

Open steigerdich opened this issue 1 year ago • 1 comments

Hey there,

maybe someone here has already managed to get Admidio to work with CapRover.

The following OneClick app template gives me an Nginx 502 error message

PHP Fatal error:  Uncaught Error: Call to a member function fetchAll() on bool in /opt/app-root/src/adm_program/system/classes/Database.php:460\nStack trace:\n#0 /opt/app-root/src/adm_program/system/classes/Database.php(389): Database->loadTableColumnsProperties('gbv_sessions')\n#1 /opt/app-root/src/adm_program/system/classes/TableAccess.php(622): Database->getTableColumnsProperties('gbv_sessions')\n#2 /opt/app-root/src/adm_program/system/classes/TableAccess.php(140): TableAccess->setColumnsInfos()\n#3 /opt/app-root/src/adm_program/system/classes/TableAccess.php(104): TableAccess->clear()\n#4 /opt/app-root/src/adm_program/system/classes/Session.php(60): TableAccess->__construct(Object(Database), 'gbv_sessions', 'ses')\n#5 /opt/app-root/src/adm_program/system/common.php(88): Session->__construct(Object(Database), 'ADMIDIO_GBV_JSD...')\n#6 /opt/app-root/src/adm_program/overview.php(18): require_once('/opt/app-root/s...')\n#7 {main}\n  thrown in /opt/app-root/src/adm_program/system/classes/Database.php on line 460

This is what I tried:

captainVersion: 4
services:
    $$cap_appname-db:
        image: mariadb:$$cap_database_version
        volumes:
            - $$cap_appname-db-config:/etc/mysql/conf.d
            - $$cap_appname-db-data:/var/lib/mysql
        restart: unless-stopped
        environment:
            MYSQL_ROOT_PASSWORD: $$cap_db_pass
            MYSQL_DATABASE: $$cap_admidio_db_name
            MYSQL_USER: $$cap_admidio_db_user
            MYSQL_PASSWORD: $$cap_admidio_db_pass
        caproverExtra:
            notExposeAsWebApp: 'true'
    $$cap_appname:
        depends_on:
            - $$cap_appname-db
        image: admidio/admidio:$$cap_admidio_version
        volumes:
            - $$cap_appname-files:/opt/app-root/src/adm_my_files
            - $$cap_appname-themes:/opt/app-root/src/adm_themes
            - $$cap_appname-plugins:/opt/app-root/src/adm_plugins
        ports:
            - 8080:8080
        restart: always
        environment:
            ADMIDIO_DB_TYPE: mysql
            ADMIDIO_DB_USER: $$cap_admidio_db_user
            ADMIDIO_DB_HOST: srv-captain--$$cap_appname-db:3306
            ADMIDIO_DB_NAME: $$cap_admidio_db_name
            ADMIDIO_DB_PASSWORD: $$cap_admidio_db_pass
            ADMIDIO_DB_TABLE_PRAEFIX: $$cap_db_prefix
            ADMIDIO_ORGANISATION: $$cap_admidio_organisation
            ADMIDIO_ROOT_PATH: http://$$cap_appname.$$cap_root_domain
caproverOneClickApp:
    variables:
        - id: $$cap_admidio_organisation
          label: Organization short name
          defaultValue: ORG
        - id: $$cap_admidio_db_name
          label: Database name
          defaultValue: admidio
        - id: $$cap_admidio_db_user
          label: Database user
          defaultValue: admidio
          validRegex: /^([a-zA-Z0-9])+$/
        - id: $$cap_admidio_db_pass
          label: Database password
          defaultValue: $$cap_gen_random_hex(16)
          description: ''
          validRegex: /^(\w|[^\s"'\\])+$/
        - id: $$cap_database_version
          label: Database Version
          defaultValue: 'latest'
          description: Check out the Docker pages for the valid tags https://hub.docker.com/_/mariadb/tags
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_db_prefix
          label: Database prefix
          defaultValue: adm
        - id: $$cap_db_pass
          label: MySQL-Root-Password
          defaultValue: $$cap_gen_random_hex(16)
        - id: $$cap_admidio_version
          label: Admidio Version
          defaultValue: 'latest'
          description: Check out their Docker page for the valid tags https://hub.docker.com/r/admidio/admidio/tags
          validRegex: /^([^\s^\/])+$/
    instructions:
        start: >-
            Admidio is a free online membership management, which is optimized for associations, groups and organizations.
        end: >
            Admidio is ready for final steps at http://$$cap_appname.$$cap_root_domain .
            
            Have fun!
    displayName: Admidio
    isOfficial: true
    description: Admidio is a free online membership management, which is optimized for associations, groups and organizations.
    documentation: Taken from https://hub.docker.com/r/admidio/admidio.

Thanks in advance!

steigerdich avatar Aug 03 '23 09:08 steigerdich

@steigerdich: Can you please try it again. The latest tag now points to the latest v4.2 version that is docker compatible.

schast avatar Nov 27 '23 16:11 schast

Closed because this issue should be fixed.

Fasse avatar Jun 15 '24 06:06 Fasse