Public | Automated Build

Last pushed: 2 years ago
Short Description
Flarum open source forum
Full Description

Flarum Docker image

Flarum is an open source forum web application written in PHP (Laravel) and JavaScript (Mithril).

This is a Docker image for the development version of Flarum, which can be used as is to try out the application, or which can be adapted to contribute to Flarum.

Preparation

Once you run the image, the Flarum application will be made available at http://flarum.dev, which means that flarum.dev needs to point to the IP address that the container is published at.

Assuming that the container is published at the IP address 127.0.0.1 (i.e. localhost, see the note below for more information on IP addresses), then you need to add this line to your hosts file (/etc/hosts on Linux and OS X, %SystemRoot%\System32\drivers\etc\hosts on Windows):

127.0.0.1 flarum.dev   

Note — To configure and/or find out the IP address of a VM-hosted Docker installation, see https://docs.docker.com/installation/windows/ (Windows) and https://docs.docker.com/installation/mac/ (OS X) for guidance if using Boot2Docker. If you're using Vagrant, you'll need to set up port forwarding (see https://docs.vagrantup.com/v2/networking/forwarded_ports.html.

TMI — The front end's URL is hardcoded as http://flarum.dev and the back end's URL is hardcoded as http://flarum.dev/api. Forcing the front and the back end to have the same hardcoded hostname requires an extra step to make the hostname resolvable, but it is an easy way to comply with the same-origin policy in a development environment.

Usage

Run with:

docker run -p 80:80 sebp/flarum

Alternatively, if you're using Docker Compose, use an entry such as this one in your docker-compose.yml file:

flarum:
  image: sebp/flarum
  ports:
    - "80:80"

and run with:

docker-compose up flarum

Build notes

To make the image consistently rebuildable by Docker (and thus avoid issues when major things change in the source code), the build process checks out a specific commit of the flarum/flarum source code rather than the latest commit.

Two additional workarounds are needed to make that version work:

About

Written by Sébastien Pujadas, released under the MIT license.

Docker Pull Command
Owner
sebp
Source Repository

Comments (4)
shiiko
4 days ago

  • Starting MySQL database server mysqld
    ...done.
    • Checking for tables which need an upgrade, are corrupt or were
      not closed cleanly.
      Starting memcached: memcached.
    • Starting in-memory queueing server beanstalkd
      ...done.
      tail: unrecognized file system type 0x794c7630 for '/var/log/nginx/access.log'. please report this to bug-coreutils@gnu.org. reverting to polling
sebp
2 years ago

@emc2 Managed to reproduce: looks like the smallest config (with 512 MB) is too small to run this image. Works perfectly with the second smallest config (i.e. 30GB disk, 1GB memory, 1 CPU):

CoreOS stable (681.2.0)
core@flarum-docker ~ $ docker run -p 80:80 sebp/flarum
 * Starting MySQL database server mysqld
   ...done.
 * Checking for tables which need an upgrade, are corrupt or were
not closed cleanly.
Starting memcached: memcached.
 * Starting in-memory queueing server  beanstalkd
   ...done.
emc2
2 years ago

CoreOS on DigitalOcean: Starting MySQL database server mysqld.... fail!
:(

faddat
2 years ago

Thanks!