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 503 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