Fix(domserver): php being php
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
group_vars/*/secret.yml
|
||||||
6
playbooks/domserver.yml
Normal file
6
playbooks/domserver.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
- name: Install domserver
|
||||||
|
hosts: domserver
|
||||||
|
roles:
|
||||||
|
- role: install_packages
|
||||||
|
- role: configure_domserver
|
||||||
8
playbooks/uninstall.yml
Normal file
8
playbooks/uninstall.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
- name: Uninstall domserver
|
||||||
|
hosts: domserver
|
||||||
|
tasks:
|
||||||
|
- name: Remove docker directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ domjudge_base_dir }}"
|
||||||
|
state: absent
|
||||||
@@ -1,5 +1,35 @@
|
|||||||
|
; Generated from 'domjudge-fpm.conf.in' on Sat Mar 15 17:12:25 UTC 2025.
|
||||||
|
|
||||||
|
; PHP-FPM configuration for DOMjudge
|
||||||
|
|
||||||
|
[domjudge]
|
||||||
|
user = www-data
|
||||||
|
group = www-data
|
||||||
|
|
||||||
|
listen = /var/run/php-fpm-domjudge.sock
|
||||||
|
listen.owner = www-data
|
||||||
|
listen.group = www-data
|
||||||
|
listen.mode = 0660
|
||||||
|
|
||||||
|
pm = static
|
||||||
|
pm.max_children = 40
|
||||||
|
pm.max_requests = 5000
|
||||||
|
pm.status_path = /fpm_status
|
||||||
|
|
||||||
|
request_slowlog_timeout = 10s
|
||||||
|
slowlog = /var/log/php-fpm-domjudge.log.slow
|
||||||
|
|
||||||
|
php_flag[display_errors] = off
|
||||||
|
php_admin_flag[log_errors] = on
|
||||||
|
php_admin_value[error_log] = /var/log/fpm-php.domjudge.log
|
||||||
|
|
||||||
; Set these three to be at least the size of your largest testcase and
|
; Set these three to be at least the size of your largest testcase and
|
||||||
; largest expected program output.
|
; largest expected program output.
|
||||||
php_admin_value[memory_limit] = 4096M
|
php_admin_value[memory_limit] = 4096M
|
||||||
php_admin_value[upload_max_filesize] = 4096M
|
php_admin_value[upload_max_filesize] = 4096M
|
||||||
php_admin_value[post_max_size] = 4096M
|
php_admin_value[post_max_size] = 4096M
|
||||||
|
; This must be strictly larger than the configured max number of source
|
||||||
|
; files a team can submit.
|
||||||
|
php_admin_value[max_file_uploads] = 101
|
||||||
|
|
||||||
|
php_admin_value[date.timezone] = Asia/Taipei
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "{{ domjudge_base_dir }}"
|
path: "{{ domjudge_base_dir }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: '0755'
|
mode: '0750'
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: docker
|
||||||
- name: Install domjudge docker compose
|
- name: Install domjudge docker compose
|
||||||
notify:
|
notify:
|
||||||
- Restart domjudge docker compose
|
- Restart domjudge docker compose
|
||||||
@@ -20,15 +20,17 @@
|
|||||||
- name: Install mysql config
|
- name: Install mysql config
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: config/mysql
|
src: config/mysql
|
||||||
dest: "{{ domjudge_base_dir }}/config/mysql"
|
dest: "{{ domjudge_base_dir }}/config"
|
||||||
mode: '0755'
|
mode: '0644'
|
||||||
|
directory_mode: '0755'
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
- name: Install domserver php config
|
- name: Install domserver php config
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: config/php
|
src: config/php
|
||||||
dest: "{{ domjudge_base_dir }}/config/php"
|
dest: "{{ domjudge_base_dir }}/config"
|
||||||
mode: '0755'
|
mode: '0644'
|
||||||
|
directory_mode: '0755'
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
- name: Enable and start docker
|
- name: Enable and start docker
|
||||||
@@ -36,3 +38,6 @@
|
|||||||
name: docker.service
|
name: docker.service
|
||||||
state: started
|
state: started
|
||||||
enabled: true
|
enabled: true
|
||||||
|
- name: Run docker compose up
|
||||||
|
community.docker.docker_compose_v2:
|
||||||
|
project_src: "{{ domjudge_base_dir }}"
|
||||||
|
|||||||
@@ -11,11 +11,7 @@ services:
|
|||||||
- "./data/mariadb:/var/lib/mysql"
|
- "./data/mariadb:/var/lib/mysql"
|
||||||
- "./config/mysql:/etc/mysql/conf.d:ro"
|
- "./config/mysql:/etc/mysql/conf.d:ro"
|
||||||
domserver:
|
domserver:
|
||||||
build:
|
image: domjudge/domserver:{{ domserver_version }}
|
||||||
context: .
|
|
||||||
dockerfile_inline: |
|
|
||||||
FROM domjudge/domserver:{{ domserver_version }}
|
|
||||||
COPY ./config/php/domjudge.conf /etc/php/8.2/fpm/pool.d/domjudge.conf
|
|
||||||
environment:
|
environment:
|
||||||
MYSQL_HOST: mariadb
|
MYSQL_HOST: mariadb
|
||||||
MYSQL_USER: domjudge
|
MYSQL_USER: domjudge
|
||||||
@@ -24,5 +20,9 @@ services:
|
|||||||
MYSQL_ROOT_PASSWORD: "{{ mysql_root_password }}"
|
MYSQL_ROOT_PASSWORD: "{{ mysql_root_password }}"
|
||||||
CONTAINER_TIMEZONE: Asia/Taipei
|
CONTAINER_TIMEZONE: Asia/Taipei
|
||||||
restart: always
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- "./config/php/domjudge.conf:/etc/php/8.2/fpm/pool.d/domjudge.conf"
|
||||||
|
depends_on:
|
||||||
|
- mariadb
|
||||||
ports:
|
ports:
|
||||||
- "8080:80"
|
- "127.0.0.1:8080:80"
|
||||||
|
|||||||
@@ -6,4 +6,8 @@
|
|||||||
community.general.pacman:
|
community.general.pacman:
|
||||||
pkg:
|
pkg:
|
||||||
- docker
|
- docker
|
||||||
|
- docker-compose
|
||||||
|
- docker-buildx
|
||||||
notify: Upgrade packages
|
notify: Upgrade packages
|
||||||
|
- name: Flush handlers
|
||||||
|
ansible.builtin.meta: flush_handlers
|
||||||
|
|||||||
Reference in New Issue
Block a user