Browse Source

docker: prepare compose for multiple test instances

mitigate-move-dataloss
Zankaria 1 month ago
committed by Zankaria
parent
commit
21d0a3a585
  1. 2
      .dockerignore
  2. 2
      .gitignore
  3. 42
      docker-compose.yml
  4. 12
      docker/doc.md

2
.dockerignore

@ -1,4 +1,4 @@
**/.git **/.git
**/.gitignore **/.gitignore
/local-www /local-instances
**/.gitkeep **/.gitkeep

2
.gitignore

@ -55,7 +55,7 @@ php_errors.log
#vichan custom #vichan custom
favicon.ico favicon.ico
/static/spoiler.png /static/spoiler.png
local-www /local-instances
piwik/ piwik/
jwplayer/ jwplayer/

42
docker-compose.yml

@ -1,28 +1,28 @@
services: services:
#nginx webserver + php 8.x #nginx webserver + php 8.x
web: web:
build: build:
context: . context: .
dockerfile: ./docker/nginx/Dockerfile dockerfile: ./docker/nginx/Dockerfile
ports: ports:
- "9091:80" - "9091:80"
depends_on: depends_on:
- leftypol-db - leftypol-db
volumes: volumes:
- ./local-www:/var/www/html - ./local-instances/1/www:/var/www/html
- ./docker/nginx/leftypol.conf:/etc/nginx/conf.d/default.conf - ./docker/nginx/leftypol.conf:/etc/nginx/conf.d/default.conf
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/proxy.conf:/etc/nginx/conf.d/proxy.conf - ./docker/nginx/proxy.conf:/etc/nginx/conf.d/proxy.conf
links: links:
- php - php
php: php:
build: build:
context: . context: .
dockerfile: ./docker/php/Dockerfile dockerfile: ./docker/php/Dockerfile
volumes: volumes:
- ./local-www:/var/www - ./local-instances/1/www:/var/www
- ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf - ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf
#MySQL Service #MySQL Service
leftypol-db: leftypol-db:
@ -36,3 +36,5 @@ services:
MYSQL_DATABASE: vichan MYSQL_DATABASE: vichan
MYSQL_ROOT_PASSWORD: password MYSQL_ROOT_PASSWORD: password
command: "--default-authentication-plugin=mysql_native_password" command: "--default-authentication-plugin=mysql_native_password"
volumes:
- ./local-instances/1/mysql:/var/lib/mysql

12
docker/doc.md

@ -2,3 +2,15 @@ The `php-fpm` process runs containerized.
The php application always uses `/var/www` as it's work directory and home folder, and if `/var/www` is bind mounted it The php application always uses `/var/www` as it's work directory and home folder, and if `/var/www` is bind mounted it
is necessary to adjust the path passed via FastCGI to `php-fpm` by changing the root directory to `/var/www`. is necessary to adjust the path passed via FastCGI to `php-fpm` by changing the root directory to `/var/www`.
This can achieved in nginx by setting the `fastcgi_param SCRIPT_FILENAME` to `/var/www/$fastcgi_script_name;` This can achieved in nginx by setting the `fastcgi_param SCRIPT_FILENAME` to `/var/www/$fastcgi_script_name;`
The default docker compose settings are intended for development and testing purposes.
The folder structure expected by compose is as follows
```
<vichan-project>
└── local-instances
└── 1
├── mysql
└── www
```
The vichan container is by itself much less rigid.

Loading…
Cancel
Save