All Projects → mondediefr → Docker Flarum

mondediefr / Docker Flarum

Licence: mit
💬 🐳 Docker image of Flarum

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Docker Flarum

Hands On Devops
A hands-on DevOps course covering the culture, methods and repeated practices of modern software development involving Packer, Vagrant, VirtualBox, Ansible, Kubernetes, K3s, MetalLB, Traefik, Docker-Compose, Docker, Taiga, GitLab, Drone CI, SonarQube, Selenium, InSpec, Alpine 3.10, Ubuntu-bionic, CentOS 7...
Stars: ✭ 196 (-9.26%)
Mutual labels:  docker-image
Werf
The CLI tool gluing Git, Docker, Helm, and Kubernetes with any CI system to implement CI/CD and Giterminism
Stars: ✭ 2,814 (+1202.78%)
Mutual labels:  docker-image
Docker Minecraft Server
Docker image that provides a Minecraft Server that will automatically download selected version at startup
Stars: ✭ 3,642 (+1586.11%)
Mutual labels:  docker-image
Seamly2d
Open source patternmaking software.
Stars: ✭ 197 (-8.8%)
Mutual labels:  forum
Graylog Docker
Official Graylog Docker image
Stars: ✭ 200 (-7.41%)
Mutual labels:  docker-image
Symphony
🎶 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台。
Stars: ✭ 13,080 (+5955.56%)
Mutual labels:  forum
Forum
Forum software created using Express, Vue, and Sequelize
Stars: ✭ 192 (-11.11%)
Mutual labels:  forum
Uwsgi Nginx Flask Docker
Docker image with uWSGI and Nginx for Flask applications in Python running in a single container. Optionally with Alpine Linux.
Stars: ✭ 2,607 (+1106.94%)
Mutual labels:  docker-image
Traefik Library Image
Stars: ✭ 200 (-7.41%)
Mutual labels:  docker-image
Nobibi
一款基于Next.js+mongo的轻量级开源社区(open community by Next.js & mongo)
Stars: ✭ 209 (-3.24%)
Mutual labels:  forum
Bitnami Docker Nginx
Bitnami nginx Docker Image
Stars: ✭ 198 (-8.33%)
Mutual labels:  docker-image
Vmoex Framework
一个开源的二次元向的社区程序。
Stars: ✭ 198 (-8.33%)
Mutual labels:  forum
Refire Forum
Serverless discussion forum built with React, Redux and Firebase
Stars: ✭ 206 (-4.63%)
Mutual labels:  forum
Godev
Golang development tool that supports project bootstrap, live-reload (tests + application), and auto dependency retrieval based on Go Modules
Stars: ✭ 196 (-9.26%)
Mutual labels:  docker-image
Bitnami Docker Php Fpm
Bitnami PHP-FPM Docker Image
Stars: ✭ 210 (-2.78%)
Mutual labels:  docker-image
Rengorum
🚀 Forum app built in React, Redux & Django
Stars: ✭ 194 (-10.19%)
Mutual labels:  forum
My Bloody Jenkins
Self Configured Jenkins Docker image based on Jenkins-LTS
Stars: ✭ 205 (-5.09%)
Mutual labels:  docker-image
Docker Phpfarm
A Dockerfile to build an image running multiple PHP versions on Apache
Stars: ✭ 214 (-0.93%)
Mutual labels:  docker-image
Makisu
Fast and flexible Docker image building tool, works in unprivileged containerized environments like Mesos and Kubernetes.
Stars: ✭ 2,409 (+1015.28%)
Mutual labels:  docker-image
Max Object Detector
Localize and identify multiple objects in a single image.
Stars: ✭ 208 (-3.7%)
Mutual labels:  docker-image

mondedie/flarum

logo

Tag available

Features

  • Multi-platform image: linux/386, linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64
  • Lightweight & secure image
  • Based on Alpine Linux 3.13
  • nginx and PHP 8.0
  • Latest Flarum Core (v0.1.0-beta.16)
  • MySQL/Mariadb driver
  • OPCache extension configured

Build-time variables

  • VERSION = Version of flarum/flarum skeleton (default: v0.1.0-beta.16)

Ports

  • Default: 8888 (configurable)

Volume

  • /flarum/app/public/assets : Flarum assets directory
  • /flarum/app/extensions : Flarum extension directory
  • /etc/nginx/flarum : Nginx location directory

Environment variables

Variable Description Type Default value
UID Flarum user id optional 991
GID Flarum group id optional 991
DEBUG Flarum debug mode optional false
FORUM_URL Forum URL required none
DB_HOST MariaDB instance ip/hostname optional mariadb
DB_USER MariaDB database username optional flarum
DB_NAME MariaDB database name optional flarum
DB_PASS MariaDB database password required none
DB_PREF Flarum tables prefix optional none
DB_PORT MariaDB database port optional 3306
FLARUM_PORT Port to run Flarum on inside the container optional 8888
UPLOAD_MAX_SIZE The maximum size of an uploaded file optional 50M
PHP_MEMORY_LIMIT PHP memory limit optional 128M
OPCACHE_MEMORY_LIMIT OPcache memory size in megabytes optional 128
LOG_TO_STDOUT Enable nginx and php error logs to stdout optional false
GITHUB_TOKEN_AUTH Github token to download private extensions optional false
PHP_EXTENSIONS Install additional php extensions optional none

Required environment variable for first installation

Variable Description Type Default value
FLARUM_ADMIN_USER Name of your user admin required none
FLARUM_ADMIN_PASS User admin password required none
FLARUM_ADMIN_MAIL User admin adress mail required none
FLARUM_TITLE Set a name of your flarum optional Docker-Flarum

Installation

1 - Pull flarum image

# Pull from hub.docker.com :
docker pull mondedie/flarum:latest

# or build it manually :
docker build -t mondedie/flarum:latest https://github.com/mondediefr/docker-flarum.git

2 - Docker-compose.yml

version: "3"

services:
  flarum:
    image: mondedie/flarum:stable
    container_name: flarum
    env_file:
      - /mnt/docker/flarum/flarum.env
    volumes:
      - /mnt/docker/flarum/assets:/flarum/app/public/assets
      - /mnt/docker/flarum/extensions:/flarum/app/extensions
      - /mnt/docker/flarum/nginx:/etc/nginx/flarum
    ports:
      - 80:8888
    depends_on:
      - mariadb

  mariadb:
    image: mariadb:10.5
    container_name: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=xxxxxxxxxx
      - MYSQL_DATABASE=flarum
      - MYSQL_USER=flarum
      - MYSQL_PASSWORD=xxxxxxxxxx
    volumes:
      - /mnt/docker/mysql/db:/var/lib/mysql

3 - Run it

You need a reverse proxy to access flarum, this is not described here. You can use the solution of your choice (Traefik, Nginx, Apache, Haproxy, Caddy, H2O...etc).

Create a environment file (see docker-compose: /mnt/docker/flarum/flarum.env here)

# vi /mnt/docker/flarum/flarum.env

DEBUG=false
FORUM_URL=http://domain.tld

# Database configuration
DB_HOST=mariadb
DB_NAME=flarum
DB_USER=flarum
DB_PASS=xxxxxxxxxx
DB_PREF=flarum_
DB_PORT=3306

# User admin flarum (environment variable for first installation)
# /!\ admin password must contain at least 8 characters /!\
FLARUM_ADMIN_USER=admin
FLARUM_ADMIN_PASS=xxxxxxxxxx
[email protected]
FLARUM_TITLE=Test flarum

Run your docker-compose

docker-compose up -d mariadb
# Wait a moment for the creation of the database
docker-compose up -d flarum
  • ⚠️ Your admin password must contain at least 8 characters (FLARUM_ADMIN_PASS).
  • If you get an error 500 with Something went wrong message, switch the DEBUG environment variable to true to see the actual error message in your browser.

flarum-home

Install additional php extensions

version: "3"

services:
  flarum:
    image: mondedie/flarum:stable
    container_name: flarum
    environment:
      - PHP_EXTENSIONS=gmp session brotli
    volumes:
      - /mnt/docker/flarum/assets:/flarum/app/public/assets
      - /mnt/docker/flarum/extensions:/flarum/app/extensions
      - /mnt/docker/flarum/nginx:/etc/nginx/flarum

This example install php7-gmp php7-session and php7-brotli with apk
You can find a php extension here https://pkgs.alpinelinux.org/packages?name=php7-*&branch=v3.12&arch=x86_64

Install custom extensions

Flarum extensions list : https://flagrow.io/extensions

Install an extension

docker exec -ti flarum extension require some/extension

Remove an extension

docker exec -ti flarum extension remove some/extension

List all extensions

docker exec -ti flarum extension list

Custom vhost flarum nginx

File to change the vhost flarum /etc/nginx/flarum/custom-vhost-flarum.conf
To use file custom-vhost-flarum.conf add volume /etc/nginx/flarum

Custom composer repositories

To use the composer repository system, add your repo name and json representation in /mnt/docker/flarum/extensions/composer.repositories.txt:

my_private_repo|{"type":"path","url":"extensions/*/"}
my_public_repo|{"type":"vcs","url":"https://github.com/my/repo"}

Example for a private repository in github

Add this in /mnt/docker/flarum/extensions/composer.repositories.txt

username|{"type":"vcs","url":"https://github.com/username/my-private-repo"}

Create a token in github with full control of privates repository
https://github.com/settings/tokens

Add your github token in var environment

GITHUB_TOKEN_AUTH=XXXXXXXXXXXXXXX

Add your repo in the list file /mnt/docker/flarum/extensions/list

username/my-private-repo:0.1.0

https://getcomposer.org/doc/03-cli.md#modifying-repositories

Guide for upgrade your flarum container

See the instructions here

License

Docker image mondedie/flarum is released under MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].