Uploaded May 2024 | Updated September 2026, 2 weeks ago
#MyBB #Forum #Docker
*** Updated 05/24/2024
Full steps can be found at i12bretro.github.io/tutorials/0932.html
--------------------------------------------------------------------
What is MyBB?
--------------------------------------------------------------------
MyBB is the free and open source forum software powering thousands of engaging, vibrant, and unique communities across the internet. - mybb.com
--------------------------------------------------------------------
Installing Docker
--------------------------------------------------------------------
01. Log into the Linux host and run the following commands in a terminal window
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
# add docker gpg key
curl -fsSL download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -
# add docker software repository
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# enable and start docker service
sudo systemctl enable docker && sudo systemctl start docker
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
--------------------------------------------------------------------
Running MyBB Container
--------------------------------------------------------------------
01. Continue with the following commands in a terminal window
# create working directories
mkdir ~/docker/mybb -p && mkdir ~/docker/postgresql -p && mkdir ~/docker/nginx -p
# set owner of docker directory
sudo chown "$USER":"$USER" ~/docker -R
# allow the container to write to working directories
sudo chmod a+rwx -R ~/docker/mybb
# download the nginx conf file
wget -O ~/docker/nginx/default.conf gist.githubusercontent.com/kawaii/ed2fbbf11309b8f635a623fa87abce8d/raw/3a5a6e36b238e55aaef519693ca16c82fbafd2fd/default.conf
# create containers network
docker network create containers
# run the postgesql container
docker run -d --name postgres --network containers -p 5432:5432 -e POSTGRES_USER=mybb_rw -e POSTGRES_PASSWORD=My44_rw$ -e POSTGRES_DB=mybb -v ~/docker/postgresql:/var/lib/postgresql/data --restart=unless-stopped postgres:latest
# run the mybb container
docker run -d --name mybb -v ~/docker/mybb:/var/www/html:rw --network containers --restart=unless-stopped mybb/mybb
# run nginx webserver container
docker run -d --name nginx --network containers -p 8081:80 -v ~/docker/mybb:/var/www/html:ro -v ~/docker/nginx:/etc/nginx/conf.d:ro --restart=unless-stopped nginx
02. Open a web browser and navigate to http://DNSorIP:8081
03. Click Next at the Welcome screen
04. Click Next at the License Agreement
05. Click Next at the Requirements Check
06. Complete the Database Configuration as shown below
Database Engine: PostgreSQL
Database Server Hostname: postgres
Database Username: mybb_rw
Database Password: My44_rw$
Database Name: mybb
Table Prefix: mybb_
07. Click Next after the table creation completes
08. Click Next to complete the Table Population
09. Click Next at the Theme Insertion screen
10. Modify the Board Configuration form as needed ≫ Click Next
11. Create an administrator account by entering a Username, Password and Email Address ≫ Click Next
12. Click the Admin Control Panel link
13. Login with the administrator username and password created earlier
14. Welcome to MyBB
Documentation: github.com/mybb/docker
### Connect with me and others ###
★ Discord: discord.com/invite/EzenvmSHW8
★ Reddit: reddit.com/r/i12bretro
★ Twitter: twitter.com/i12bretro
#MyBB #Forum #Docker
*** Updated 05/24/2024
Full steps can be found at i12bretro.github.io/tutorials/0932.html
--------------------------------------------------------------------
What is MyBB?
--------------------------------------------------------------------
MyBB is the free and open source forum software powering thousands of engaging, vibrant, and unique communities across the internet. - mybb.com
--------------------------------------------------------------------
Installing Docker
--------------------------------------------------------------------
01. Log into the Linux host and run the following commands in a terminal window
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
# add docker gpg key
curl -fsSL download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -
# add docker software repository
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# enable and start docker service
sudo systemctl enable docker && sudo systemctl start docker
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
--------------------------------------------------------------------
Running MyBB Container
--------------------------------------------------------------------
01. Continue with the following commands in a terminal window
# create working directories
mkdir ~/docker/mybb -p && mkdir ~/docker/postgresql -p && mkdir ~/docker/nginx -p
# set owner of docker directory
sudo chown "$USER":"$USER" ~/docker -R
# allow the container to write to working directories
sudo chmod a+rwx -R ~/docker/mybb
# download the nginx conf file
wget -O ~/docker/nginx/default.conf gist.githubusercontent.com/kawaii/ed2fbbf11309b8f635a623fa87abce8d/raw/3a5a6e36b238e55aaef519693ca16c82fbafd2fd/default.conf
# create containers network
docker network create containers
# run the postgesql container
docker run -d --name postgres --network containers -p 5432:5432 -e POSTGRES_USER=mybb_rw -e POSTGRES_PASSWORD=My44_rw$ -e POSTGRES_DB=mybb -v ~/docker/postgresql:/var/lib/postgresql/data --restart=unless-stopped postgres:latest
# run the mybb container
docker run -d --name mybb -v ~/docker/mybb:/var/www/html:rw --network containers --restart=unless-stopped mybb/mybb
# run nginx webserver container
docker run -d --name nginx --network containers -p 8081:80 -v ~/docker/mybb:/var/www/html:ro -v ~/docker/nginx:/etc/nginx/conf.d:ro --restart=unless-stopped nginx
02. Open a web browser and navigate to http://DNSorIP:8081
03. Click Next at the Welcome screen
04. Click Next at the License Agreement
05. Click Next at the Requirements Check
06. Complete the Database Configuration as shown below
Database Engine: PostgreSQL
Database Server Hostname: postgres
Database Username: mybb_rw
Database Password: My44_rw$
Database Name: mybb
Table Prefix: mybb_
07. Click Next after the table creation completes
08. Click Next to complete the Table Population
09. Click Next at the Theme Insertion screen
10. Modify the Board Configuration form as needed ≫ Click Next
11. Create an administrator account by entering a Username, Password and Email Address ≫ Click Next
12. Click the Admin Control Panel link
13. Login with the administrator username and password created earlier
14. Welcome to MyBB
Documentation: github.com/mybb/docker
### Connect with me and others ###
★ Discord: discord.com/invite/EzenvmSHW8
★ Reddit: reddit.com/r/i12bretro
★ Twitter: twitter.com/i12bretro


![Run VSCodium Containerized in Docker
#VSCodium #Linux #Docker
Full steps can be found at https://i12bretro.github.io/tutorials/0985.html
What is VSCodium?
VSCodium is a clone of Microsoft’s Visual Studio Code. The project’s sole aim is to provide you with ready to use binaries without Microsoft’s telemetry and tracking code. - https://vscodium.com/
Installing Docker
01. Log into the Linux Docker host and run the following commands in a terminal window
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
# add docker gpg key
curl -fsSL https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release)/gpg | sudo apt-key add -
# add docker software repository
sudo add-apt-repository deb [arch=$(dpkg print-architecture)] https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release) $(lsb_release -cs) stable
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# enable and start docker service
sudo systemctl enable docker && sudo systemctl start docker
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
Running VSCodium
01. Continue with the following commands in a terminal window
# list current uid and gid, note these for later
id $user
# create working directories
mkdir ~/docker/vscodium/{config,code} -p
# run the vscodium docker image
# replace PUID, GUID with the output of the id $user command above
docker run -d name=vscodium cap-add=IPC_LOCK -e PUID=1000 -e PGID=1000 -e TZ=America/New_York -p 8003:3000 -v ~/docker/vscodium/config:/config -v ~/docker/vscodium/code:/code shm-size=1gb restart unless-stopped lscr.io/linuxserver/vscodium:latest
02. Open a web browser and navigate to http://localhost:8003
03. Welcome to VSCodium
Source: https://hub.docker.com/r/linuxserver/vscodium
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Run VSCodium Containerized in Docker](https://i.ytimg.com/vi/dJgh13kYmoI/mqdefault.jpg)






![Create a Secure Web Based Password Vault with Keepass Web
#KeepassWeb #PasswardVault #Linux
Full steps can be found at https://i12bretro.github.io/tutorials/0233.html
01. Log into the Debian device
02. Run the following commands in a terminal:
# update repositories and install any available software updates
sudo apt update
sudo apt upgrade
# install apache2
sudo apt install apache2
# download and extract keepass web
wget https://github.com/keeweb/keeweb/archive/gh-pages.zip
sudo unzip gh-pages.zip -d /var/www/html/
sudo mv /var/www/html/keeweb-gh-pages /var/www/html/keepass
# create webdav directory and set permissions
sudo mkdir /var/www/html/webdav
sudo chown -R www-data:www-data /var/www/html/webdav
# change permissions on the newly setup application folder
sudo chown -R www-data:www-data /var/www/html/keepass
# create a new keepass.conf file to configure the site
sudo nano /etc/apache2/sites-available/keepass.conf
03. Paste the following directives into keepass.conf
DavLockDB /var/www/html/webdav/DavLock
≪Location /keepass ≫
RewriteEngine on
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ blank.html [R=200,L,E=HTTP_ORIGIN:%{HTTP:ORIGIN}]
# Dont require LDAP authentication for a healthcheck
SetEnvIf Request_URI ^/healhcheck accessgranted=1
Order deny,allow
Satisfy any
Deny from all
Allow from env=accessgranted
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL ldap://i12bretro.local:389/DC=i12bretro,DC=local?sAMAccountName?sub?(objectClass=user) NONE
AuthLDAPBindDN readonly_svc@i12bretro.local
AuthLDAPBindPassword Read0nly!!
AuthName Restricted Area [i12bretro.local]
# to authenticate a domain group, specify the full DN
AuthLDAPGroupAttributeIsDN on
require ldap-group CN=WebAuthAccess,CN=Users,DC=i12bretro,DC=local
≪/Location≫
≪Location /webdav≫
DAV On
AuthType Basic
AuthName webdav
Options Indexes
Header always set Access-Control-Allow-Origin *
Header always set Access-Control-Allow-Headers origin, content-type, cache-control, accept, authorization, if-match, destination, overwrite
Header always set Access-Control-Expose-Headers ETag
Header always set Access-Control-Allow-Methods GET, HEAD, POST, PUT, OPTIONS, MOVE, DELETE, COPY, LOCK, UNLOCK
Header always set Access-Control-Allow-Credentials true
≪/Location≫
04. Edit the index.html file and modify the kw-config meta tag, setting the value to config.json
#
sudo nano /var/www/html/keepass/index.html
05. Press CTRL+O, Enter, CTRL+X to write the changes to index.html
06. Create and edit config.json to by running the following command:
sudo nano /var/www/html/keepass/config.json
07. Paste the following in to config.json
{
settings: {
theme: fb,
autoSave: true,
autoSaveInterval: 1,
canOpenDemo: false,
dropbox: false,
gdrive: false,
onedrive: false,
canExportXml: true
},
files: [{
storage: webdav,
name: Database,
path: /webdav/database.kdbx
}]
}
08. Press CTRL+O, Enter, CTRL+X to write the changes to config.json
09. Continue by executing the following commands in terminal:
# enable the keepass site and required Apache modules
sudo a2ensite keepass
sudo a2enmod dav dav_fs ldap authnz_ldap rewrite headers
# restart apache2 service for the changes to take effect
sudo systemctl restart apache2
10. Open a web browser and navigate to http://DNSorIP/keepass
11. Authenticate with a valid LDAP user account
12. Click the New icon
13. Click the New link in the lower left hand corner
14. Enter a Master password and re-type it to confirm
15. Enter a Name for the keepass database
16. Click the Save to... button ≫ File
17. Save the database to ~/database.kdbx
18. Close the browser
19. Continue by executing the following commands in terminal:
# copy the keepass database to webdav directory
sudo mv ~/database.kdbx /var/www/html/webdav/
20. Open a web browser and navigate to http://DNSorIP/keepass
....Full steps can be found on GitHub [link at the top]
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Create a Secure Web Based Password Vault with Keepass Web](https://i.ytimg.com/vi/fJkWzZS8KVA/mqdefault.jpg)
![Monitor Docker Container Resource Usage with cAdvisor
#cAdvisor #Docker #Monitoring
Full steps can be found at https://i12bretro.github.io/tutorials/0828.html
What is cAdvisor?
cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers. It is a running daemon that collects, aggregates, processes, and exports information about running containers. - https://github.com/google/cadvisor
Installing Docker
01. Log into the Linux based device
02. Run the following commands in the terminal
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
# add docker gpg key
curl -fsSL https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release)/gpg | sudo apt-key add -
# add docker software repository
sudo add-apt-repository deb [arch=$(dpkg print-architecture)] https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release) $(lsb_release -cs) stable
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# enable and start docker service
sudo systemctl enable docker && sudo systemctl start docker
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
Running the cAdvisor Container
01. Now that Docker is installed, run the following commands to setup the cAdvisor Docker container and run it
# run the cadvisor container
sudo docker run -d name=cadvisor -p 8080:8080 -v /:/rootfs:ro -v /var/run:/var/run:ro -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -v /dev/disk/:/dev/disk:ro privileged device=/dev/kmsg restart=unless-stopped gcr.io/cadvisor/cadvisor
02. Open a web browser and navigate to http://DNSorIP:8080
03. Welcome to cAdvisor
Documentation: https://hub.docker.com/r/google/cadvisor
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Monitor Docker Container Resource Usage with cAdvisor](https://i.ytimg.com/vi/fMcXUxJwcrU/mqdefault.jpg)