Davis version
5.4.3
Installation method
Docker – barebone (no reverse proxy)
PHP version (bare metal only)
No response
Database
MySQL
Reverse proxy
Traefik
Authentication method
Internal (ADMIN_LOGIN / ADMIN_PASSWORD)
Affected protocol(s)
Client(s) exhibiting the issue
I've been diving into different calendar applications to figure out what works best for me, i tried following the docker-compose.yml supplied to the best of my ability however, i believe these files are outdated and or missing details.
The image claims to be davis:latest however it should be ghcr.io/tchapi/davis-standalone:latest for the latest release as documented here.
After spending time finding the correct image and getting the mariadb and davis containers started i was able to connect to the port and was immediately greeted with a php exception error from Symfony
require_once('/var/www/davis/vendor/autoload_runtime.php') in[ /var/www/davis/public/index.php ](file:///var/www/davis/public/index.php#L14)(line 14)
}
use App\Kernel;
use Symfony\Component\Dotenv\Dotenv;
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
if ($overridenEnvDir) {
// Load our own now, after the runtime has booted
(new Dotenv())->bootEnv($overridenEnvDir.'/.env');
}
Stacktrace
Symfony\Component\ErrorHandler\Error\ClassNotFoundError:
Attempted to load class "WebProfilerBundle" from namespace "Symfony\Bundle\WebProfilerBundle".
Did you forget a "use" statement for another namespace?
at /var/www/davis/vendor/symfony/framework-bundle/Kernel/MicroKernelTrait.php:157
at App\Kernel->registerBundles()
(/var/www/davis/vendor/symfony/http-kernel/Kernel.php:356)
at Symfony\Component\HttpKernel\Kernel->initializeBundles()
(/var/www/davis/vendor/symfony/http-kernel/Kernel.php:761)
at Symfony\Component\HttpKernel\Kernel->preBoot()
(/var/www/davis/vendor/symfony/http-kernel/Kernel.php:172)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(/var/www/davis/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(/var/www/davis/vendor/autoload_runtime.php:32)
at require_once('/var/www/davis/vendor/autoload_runtime.php')
(/var/www/davis/public/index.php:14)
Relevant environment variables
---
mysql:
image: mariadb:10.6.10
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=DB-ROOT-PASSWORD
- MYSQL_DATABASE=davis-db
- MYSQL_USER=admin
- MYSQL_PASSWORD=DB-PASSWORD
volumes:
- ./config/davis/db:/var/lib/mysql
networks:
- misc
davis:
# build:
# context: ../
# dockerfile: ./docker/Dockerfile-standalone
image: ghcr.io/tchapi/davis-standalone:latest
# If you want to use a prebuilt image from Github
# image: ghcr.io/tchapi/davis-standalone:edge
container_name: davis-standalone
env_file: .env
environment:
- DATABASE_DRIVER=mysql
- DATABASE_URL=mysql://admin:DB-PASSWORD@mysql:3306/davis-db?serverVersion=mariadb-10.6.10&charset=utf8mb4
- MAILER_DSN=smtp://MY-SMTP-USERNAME:MY-SMTP-PASSWORD@MY-SMTP-HOST:587
depends_on:
- mysql
ports:
- 9010:9000
networks:
- misc
Steps to reproduce
Step 1) Configure docker-compose.yml
Step 2) Realize the image documented does not exist
Step 3) Find the repo the image resides in
Step 4) Correct image in docker-compose.yml
Step 5) Configure environment variables, volumes and virtual network based on documentation (SMTP, DB Username/password, Docker bridge network, etc)
Step 6) Start containers
Step 7) Make http request to port
Step 8) Greeted with PHP errors
Expected behaviour
no php exception errors
Actual behaviour
php exception errors
Logs
┌─[user@debian] - [~/compose] - [Wed Jul 29, 17:03]
└─[$]> sudo docker logs davis-standalone
2026-07-30 00:03:25,150 INFO Set uid to user 0 succeeded
2026-07-30 00:03:25,154 INFO RPC interface 'supervisor' initialized
2026-07-30 00:03:25,154 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2026-07-30 00:03:25,154 INFO supervisord started with pid 1
2026-07-30 00:03:26,156 INFO spawned: 'caddy' with pid 7
2026-07-30 00:03:26,158 INFO spawned: 'php-fpm' with pid 8
2026-07-30 00:03:27,234 INFO success: caddy entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2026-07-30 00:03:27,234 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
DB LOGS
┌─[user@debian] - [~/compose] - [Wed Jul 29, 17:13]
└─[$]> sudo docker logs mysql
2026-07-30 00:01:38+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.6.10+maria~ubu2004 started.
2026-07-30 00:01:38+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2026-07-30 00:01:38+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.6.10+maria~ubu2004 started.
2026-07-30 00:01:38+00:00 [Note] [Entrypoint]: Initializing database files
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following command:
'/usr/bin/mysql_secure_installation'
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the MariaDB Knowledgebase at https://mariadb.com/kb
Please report any problems at https://mariadb.org/jira
The latest information about MariaDB is available at https://mariadb.org/.
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/
2026-07-30 00:01:40+00:00 [Note] [Entrypoint]: Database files initialized
2026-07-30 00:01:40+00:00 [Note] [Entrypoint]: Starting temporary server
2026-07-30 00:01:40+00:00 [Note] [Entrypoint]: Waiting for server startup
2026-07-30 0:01:40 0 [Note] mariadbd (server 10.6.10-MariaDB-1:10.6.10+maria~ubu2004) starting as process 98 ...
2026-07-30 0:01:41 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2026-07-30 0:01:41 0 [Note] InnoDB: Number of pools: 1
2026-07-30 0:01:41 0 [Note] InnoDB: Using SSE4.2 crc32 instructions
2026-07-30 0:01:41 0 [Note] InnoDB: Using Linux native AIO
2026-07-30 0:01:41 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
2026-07-30 0:01:41 0 [Note] InnoDB: Completed initialization of buffer pool
2026-07-30 0:01:41 0 [Note] InnoDB: 128 rollback segments are active.
2026-07-30 0:01:41 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2026-07-30 0:01:41 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2026-07-30 0:01:41 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2026-07-30 0:01:41 0 [Note] InnoDB: 10.6.10 started; log sequence number 42266; transaction id 14
2026-07-30 0:01:41 0 [Note] Plugin 'FEEDBACK' is disabled.
2026-07-30 0:01:41 0 [Warning] 'user' entry 'root@6d97c6cd4f5a' ignored in --skip-name-resolve mode.
2026-07-30 0:01:41 0 [Warning] 'proxies_priv' entry '@% root@6d97c6cd4f5a' ignored in --skip-name-resolve mode.
2026-07-30 0:01:41 0 [Note] mariadbd: ready for connections.
Version: '10.6.10-MariaDB-1:10.6.10+maria~ubu2004' socket: '/run/mysqld/mysqld.sock' port: 0 mariadb.org binary distribution
2026-07-30 00:01:41+00:00 [Note] [Entrypoint]: Temporary server started.
2026-07-30 00:01:43+00:00 [Note] [Entrypoint]: Creating database davis-db
2026-07-30 00:01:43+00:00 [Note] [Entrypoint]: Creating user admin
2026-07-30 00:01:43+00:00 [Note] [Entrypoint]: Giving user admin access to schema davis-db
2026-07-30 00:01:43+00:00 [Note] [Entrypoint]: Securing system users (equivalent to running mysql_secure_installation)
2026-07-30 00:01:43+00:00 [Note] [Entrypoint]: Stopping temporary server
2026-07-30 0:01:43 0 [Note] mariadbd (initiated by: unknown): Normal shutdown
2026-07-30 0:01:43 0 [Note] InnoDB: FTS optimize thread exiting.
2026-07-30 0:01:43 0 [Note] InnoDB: Starting shutdown...
2026-07-30 0:01:43 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
2026-07-30 0:01:43 0 [Note] InnoDB: Buffer pool(s) dump completed at 260730 0:01:43
2026-07-30 0:01:43 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1"
2026-07-30 0:01:43 0 [Note] InnoDB: Shutdown completed; log sequence number 42278; transaction id 15
2026-07-30 0:01:43 0 [Note] mariadbd: Shutdown complete
2026-07-30 00:01:43+00:00 [Note] [Entrypoint]: Temporary server stopped
2026-07-30 00:01:43+00:00 [Note] [Entrypoint]: MariaDB init process done. Ready for start up.
2026-07-30 0:01:43 0 [Note] mariadbd (server 10.6.10-MariaDB-1:10.6.10+maria~ubu2004) starting as process 1 ...
2026-07-30 0:01:43 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2026-07-30 0:01:43 0 [Note] InnoDB: Number of pools: 1
2026-07-30 0:01:43 0 [Note] InnoDB: Using SSE4.2 crc32 instructions
2026-07-30 0:01:43 0 [Note] InnoDB: Using Linux native AIO
2026-07-30 0:01:43 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
2026-07-30 0:01:43 0 [Note] InnoDB: Completed initialization of buffer pool
2026-07-30 0:01:43 0 [Note] InnoDB: 128 rollback segments are active.
2026-07-30 0:01:43 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2026-07-30 0:01:43 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2026-07-30 0:01:43 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2026-07-30 0:01:43 0 [Note] InnoDB: 10.6.10 started; log sequence number 42278; transaction id 14
2026-07-30 0:01:43 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2026-07-30 0:01:43 0 [Note] Plugin 'FEEDBACK' is disabled.
2026-07-30 0:01:43 0 [Note] InnoDB: Buffer pool(s) load completed at 260730 0:01:43
2026-07-30 0:01:43 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
2026-07-30 0:01:43 0 [Note] Server socket created on IP: '0.0.0.0'.
2026-07-30 0:01:43 0 [Note] Server socket created on IP: '::'.
2026-07-30 0:01:43 0 [Note] mariadbd: ready for connections.
Version: '10.6.10-MariaDB-1:10.6.10+maria~ubu2004' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
Additional context
No response
Davis version
5.4.3
Installation method
Docker – barebone (no reverse proxy)
PHP version (bare metal only)
No response
Database
MySQL
Reverse proxy
Traefik
Authentication method
Internal (ADMIN_LOGIN / ADMIN_PASSWORD)
Affected protocol(s)
Client(s) exhibiting the issue
I've been diving into different calendar applications to figure out what works best for me, i tried following the docker-compose.yml supplied to the best of my ability however, i believe these files are outdated and or missing details.
The image claims to be
davis:latesthowever it should beghcr.io/tchapi/davis-standalone:latestfor the latest release as documented here.After spending time finding the correct image and getting the mariadb and davis containers started i was able to connect to the port and was immediately greeted with a php exception error from Symfony
Stacktrace
Relevant environment variables
--- mysql: image: mariadb:10.6.10 container_name: mysql environment: - MYSQL_ROOT_PASSWORD=DB-ROOT-PASSWORD - MYSQL_DATABASE=davis-db - MYSQL_USER=admin - MYSQL_PASSWORD=DB-PASSWORD volumes: - ./config/davis/db:/var/lib/mysql networks: - misc davis: # build: # context: ../ # dockerfile: ./docker/Dockerfile-standalone image: ghcr.io/tchapi/davis-standalone:latest # If you want to use a prebuilt image from Github # image: ghcr.io/tchapi/davis-standalone:edge container_name: davis-standalone env_file: .env environment: - DATABASE_DRIVER=mysql - DATABASE_URL=mysql://admin:DB-PASSWORD@mysql:3306/davis-db?serverVersion=mariadb-10.6.10&charset=utf8mb4 - MAILER_DSN=smtp://MY-SMTP-USERNAME:MY-SMTP-PASSWORD@MY-SMTP-HOST:587 depends_on: - mysql ports: - 9010:9000 networks: - miscSteps to reproduce
Step 1) Configure docker-compose.yml
Step 2) Realize the image documented does not exist
Step 3) Find the repo the image resides in
Step 4) Correct image in docker-compose.yml
Step 5) Configure environment variables, volumes and virtual network based on documentation (SMTP, DB Username/password, Docker bridge network, etc)
Step 6) Start containers
Step 7) Make http request to port
Step 8) Greeted with PHP errors
Expected behaviour
no php exception errors
Actual behaviour
php exception errors
Logs
Additional context
No response