I'm pretty new to both OLS and averagely experienced with Docker.
So I'm trying to set up a server on AlmaLinux 9 where OLS runs on the VPS level. I then want to use the vhost-map to send all the traffic (depending on domain) to one of many docker containers. However, I must have spent 6 hours just banging my head against a wall trying to get it to work.
I researched before starting and came to the conclusion that having the docker containers run as images of php:8.4-fpm which exposed port 9000 as FastCGI processes was the best idea. Is this a correct decision?
If so, I can't for the life of me get it working. This is the first vhost config:
	
	
	
		
But all I ever get in 403 errors. And this in the log:
2025-09-16 00:07:12.790186 [INFO] [14609] [155.55.55.55:49364:HTTP2-3] Context [/] is not accessible: access denied.
and Docker is running on Port 9000:
# ss -ltnp | grep 9000
LISTEN 0 4096 0.0.0.0:9000 0.0.0.0:* users
("docker-proxy",pid=15093,fd=7))
LISTEN 0 4096 [::]:9000 [::]:* users
("docker-proxy",pid=15098,fd=7))
For good measure, here's my testing docker-compose.yml file:
	
	
	
		
Does anyone have any ideas? I'm on the verge of giving up here.
								So I'm trying to set up a server on AlmaLinux 9 where OLS runs on the VPS level. I then want to use the vhost-map to send all the traffic (depending on domain) to one of many docker containers. However, I must have spent 6 hours just banging my head against a wall trying to get it to work.
I researched before starting and came to the conclusion that having the docker containers run as images of php:8.4-fpm which exposed port 9000 as FastCGI processes was the best idea. Is this a correct decision?
If so, I can't for the life of me get it working. This is the first vhost config:
		Code:
	
	docRoot                   /home/testing/public/
vhDomain                  testing.mydomain.dev
index  {
  useServer               0
  autoIndex               0
}
extprocessor php84 {
  type                    fcgi
  address                 127.0.0.1:9000
  maxConns                10
  initTimeout             60
  retryTimeout            0
  respBuffer              0
  autoStart               2
}
context / {
  type                    fcgi
  handler                 php84
  addDefaultCharset       off
}
vhssl  {
  keyFile                 /etc/letsencrypt/live/testing.mydomain.dev/privkey.pem
  certFile                /etc/letsencrypt/live/testing.mydomain.dev/fullchain.pem
  certChain               1
}
	2025-09-16 00:07:12.790186 [INFO] [14609] [155.55.55.55:49364:HTTP2-3] Context [/] is not accessible: access denied.
and Docker is running on Port 9000:
# ss -ltnp | grep 9000
LISTEN 0 4096 0.0.0.0:9000 0.0.0.0:* users
LISTEN 0 4096 [::]:9000 [::]:* users
For good measure, here's my testing docker-compose.yml file:
		YAML:
	
	services:
  php:
    image: php:8.4-fpm
    container_name: myapp-php
    working_dir: /var/www/html
    restart: unless-stopped
    volumes:
      - ./public:/var/www/html
    networks:
      - testingnet
    ports:
      - 9000:9000
  db:
    image: mariadb:11
    container_name: myapp-db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: supersecret
      MYSQL_DATABASE: myapp
      MYSQL_USER: myappuser
      MYSQL_PASSWORD: myapppass
    volumes:
      - dbdata:/var/lib/mysql
    networks:
      - testingnet
volumes:
  dbdata:
networks:
  testingnet:
    driver: bridge
	
								
									Last edited: