Removed MyBB role, because it's deprecated and Discourse takes over

This commit is contained in:
2025-08-29 00:12:35 +02:00
parent af1ee64246
commit 5c6349321b
12 changed files with 3 additions and 223 deletions

View File

@@ -48,8 +48,8 @@ defaults_networks:
subnet: 192.168.102.16/28
web-app-moodle:
subnet: 192.168.102.32/28
web-app-mybb:
subnet: 192.168.102.48/28
# Free:
# subnet: 192.168.102.48/28
web-app-nextcloud:
subnet: 192.168.102.64/28
web-app-openproject:

View File

@@ -26,7 +26,7 @@ ports:
web-app-gitea: 8002
web-app-wordpress: 8003
web-app-mediawiki: 8004
web-app-mybb: 8005
# Free: 8005
web-app-yourls: 8006
web-app-mailu: 8007
web-app-elk: 8008

View File

@@ -1,29 +0,0 @@
# MyBB
## Description
Transform your community engagement with MyBB, a feature-rich forum solution that combines modern design with robust functionality. MyBB fosters dynamic discussions, intuitive moderation, and an energetic user interface that brings people together, creating a vibrant online community.
## Overview
This role deploys MyBB using Docker, leveraging Docker Compose to manage both the MyBB application and its underlying MariaDB database. It also integrates with an Nginx reverse proxy for secure, flexible multi-domain access. Additionally, the role supports the manual installation of MyBB plugins for added extensibility. For detailed installation and configuration instructions, please refer to the [Installation.md](./Installation.md) file.
## Features
- **Multi-Domain Support:** Configure MyBB for multi-domain installations by setting the correct cookie domain and board URL.
- **Plugin Extensibility:** Manually install and activate plugins to extend forum functionality and tailor the user experience.
- **Robust Deployment:** Achieve reliable and scalable deployment of your forum via Docker Compose, ensuring seamless service continuity.
- **Secure and Flexible Access:** Integrate with an Nginx reverse proxy to securely manage traffic and domain access.
## Further Resources
- [MyBB Docker Repository](https://github.com/mybb/docker)
- [MyBB Official Website](https://mybb.com/)
## Credits
Developed and maintained by **Kevin Veen-Birkenbach**.
Learn more at [veen.world](https://www.veen.world).
Part of the [Infinito.Nexus Project](https://s.infinito.nexus/code)
Licensed under [Infinito.Nexus NonCommercial License](https://s.infinito.nexus/license).

View File

@@ -1,2 +0,0 @@
# Todo
- Optimize the role for the new role structure. But propably discourse is sufficient and this role isn't needed anymore.

View File

@@ -1,21 +0,0 @@
features:
matomo: true
css: true
desktop: true
central_database: true
logout: true
docker:
services:
database:
enabled: true
mybb:
image: "mybb/mybb"
version: "latest"
name: "mybb"
volumes:
data: "mybb_data"
server:
domains:
canonical:
- mybb.{{ PRIMARY_DOMAIN }}

View File

@@ -1,24 +0,0 @@
galaxy_info:
author: "Kevin Veen-Birkenbach"
description: "Transform your community engagement with MyBB, a feature-rich forum solution that combines modern design with robust functionality. Enjoy dynamic discussions, intuitive moderation, and a vibrant user interface that brings your community together."
license: "Infinito.Nexus NonCommercial License"
license_url: "https://s.infinito.nexus/license"
company: |
Kevin Veen-Birkenbach
Consulting & Coaching Solutions
https://www.veen.world
galaxy_tags:
- mybb
- docker
- forum
- community
- cms
repository: "https://s.infinito.nexus/code"
issue_tracker_url: "https://s.infinito.nexus/issues"
documentation: "https://docs.infinito.nexus"
logo:
class: "fa-solid fa-comments"
run_after:
- web-app-matomo
- web-app-keycloak
- web-app-mailu

View File

@@ -1,8 +0,0 @@
credentials:
secret_pin:
description: >
Optional secret PIN required for accessing the MyBB Admin Control Panel.
If set, administrators must enter this PIN in addition to their username
and password when logging into the ACP.
algorithm: "sha256"
validation: "^[a-f0-9]{64}$"

View File

@@ -1,25 +0,0 @@
- name: "load docker, db and proxy for {{ application_id }}"
include_role:
name: sys-stk-full-stateful
vars:
docker_compose_flush_handlers: false
proxy_extra_configuration: "sub_filter '{{MYBB_DOMAIN}}' '{{ MYBB_DOMAIN }}';"
- name: "create {{ MYBB_NGINX_CONF_DIR_HOST }} and parent directories"
file:
path: "{{ MYBB_NGINX_CONF_DIR_HOST }}"
state: directory
mode: "0755"
recurse: yes
- name: "Deploy {{ MYBB_NGINX_DEFAULT_CONF_HOST }}"
template:
src: "default.conf.j2"
dest: "{{ MYBB_NGINX_DEFAULT_CONF_HOST }}"
notify: docker compose up
- name: "Deploy {{ MYBB_CONFIG_HOST_PATH }}"
template:
src: "config.php.j2"
dest: "{{ MYBB_CONFIG_HOST_PATH }}"
mode: '0644'

View File

@@ -1,13 +0,0 @@
<?php
$config = array();
$config['database']['type'] = 'mysqli';
$config['database']['database'] = '{{ database_name }}';
$config['database']['table_prefix'] = 'mybb_';
$config['database']['hostname'] = '{{ database_host }}';
$config['database']['port'] = '{{ database_port }}';
$config['database']['username'] = '{{ database_username }}';
$config['database']['password'] = '{{ database_password }}';
$config['database']['encoding'] = 'utf8mb4';
$config['super_admins'] = '{{ MYBB_ADMIN_USER_ID }}';
$config['secret_pin'] = '{{ MYBB_SECRET_PIN }}';
$config['admin_dir'] = 'admin';

View File

@@ -1,44 +0,0 @@
upstream mybb {
server application:9000 weight=5;
}
server {
listen 80;
error_log /proc/self/fd/2 {% if MODE_DEBUG | bool %}debug{% else %}warn{% endif %};
root /var/www/html;
index index.html index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ inc/ {
internal;
}
location ~ ^/(images|cache|jscripts|uploads)/ {
access_log off;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass mybb;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
# proxy timeouts
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
send_timeout 300s;
# fastcgi timeouts
fastcgi_read_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_connect_timeout 300s;
}
}

View File

@@ -1,29 +0,0 @@
{% include 'roles/docker-compose/templates/base.yml.j2' %}
application:
{% include 'roles/docker-container/templates/base.yml.j2' %}
image: {{ MYBB_IMAGE }}:{{ MYBB_VERSION }}
container_name: {{ MYBB_CONTAINER }}
restart: {{ DOCKER_RESTART_POLICY }}
volumes:
- data:/var/www/html
{% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %}
{% include 'roles/docker-container/templates/networks.yml.j2' %}
server:
{% include 'roles/docker-container/templates/base.yml.j2' %}
image: nginx:mainline
restart: {{ DOCKER_RESTART_POLICY }}
ports:
- "127.0.0.1:{{ ports.localhost.http[application_id] }}:{{ container_port }}"
volumes:
- "{{ MYBB_NGINX_CONF_DIR_HOST }}:{{ MYBB_NGINX_CONF_DIR_DOCK }}:ro"
- "{{ MYBB_CONFIG_HOST_PATH }}:{{ MYBB_CONFIG_DOCK_PATH }}:ro"
- "data:/var/www/html:ro"
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
{% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %}
data:
name: {{ MYBB_VOLUME }}
{% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@@ -1,25 +0,0 @@
---
# General
application_id: "web-app-mybb"
database_type: "mariadb"
container_port: 80
# MyBB
## Credentials
MYBB_SECRET_PIN: "{{ applications | get_app_conf(application_id, 'credentials.secret_pin') }}"
## Server
MYBB_NGINX_CONF_DIR_HOST: "{{ docker_compose.directories.instance }}conf.d/"
MYBB_NGINX_CONF_DIR_DOCK: "{{ NGINX.DIRECTORIES.CONFIGURATION }}"
MYBB_NGINX_DEFAULT_CONF_HOST: "{{ MYBB_NGINX_CONF_DIR_HOST }}default.conf"
## Application
MYBB_ADMIN_USER_ID: 1
MYBB_DOMAIN: "{{ domains | get_domain(application_id) }}"
MYBB_VERSION: "{{ applications | get_app_conf(application_id, 'docker.services.mybb.version') }}"
MYBB_IMAGE: "{{ applications | get_app_conf(application_id, 'docker.services.mybb.image') }}"
MYBB_CONTAINER: "{{ applications | get_app_conf(application_id, 'docker.services.mybb.name') }}"
MYBB_VOLUME: "{{ applications | get_app_conf(application_id, 'docker.volumes.data') }}"
MYBB_CONFIG_HOST_PATH: "{{ [docker_compose.directories.instance, 'config.php'] | path_join }}"
MYBB_CONFIG_DOCK_PATH: "/var/www/html/inc/config.php"