docker-flarum/README.md

155 lines
3.5 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

# mondedie/flarum
![logo](https://i.imgur.com/Bjrtbsc.png "logo")
### What is this ?
Flarum is the next-generation forum software that makes online discussion fun. It's simple, fast, and free. http://flarum.org/
### Features
- Lightweight & secure image
- Based on Alpine Linux 3.4 with **nginx** and **PHP 7**
- Latest Flarum Beta (v0.1.0-beta.5)
- MySQL/Mariadb driver
- OPCache extension configured
### Build-time variables
- **VERSION** = Version of flarum (default: *v0.1.0-beta.5*)
### Ports
- **8888**
### Volume
- **/flarum/app/assets** : Flarum assets directory
### Environment variables
| Variable | Description | Type | Default value |
| -------- | ----------- | ---- | ------------- |
| **GID** | Flarum user id | *optional* | 991
| **UID** | 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
| **MAIL_FROM** | Mail 'from address' | *optional* | none
| **MAIL_HOST** | Mail server FQDN | *optional* | none
| **MAIL_PORT** | Mail server smtp port | *optional* | none
| **MAIL_ENCR** | Encryption protocol, tls (587) or ssl (465) | *optional* | none
| **MAIL_USER** | Username | *optional* | none
| **MAIL_PASS** | Password | *optional* | none
## Installation
#### 1 - Pull flarum image
```
docker pull mondedie/flarum
```
#### 2 - Create environment file
```
mkdir -p ~/.config/flarum
touch ~/.config/flarum/.env
chmod 600 ~/.config/flarum/.env
```
Create an `.env` file with your environment variables :
```bash
# vim ~/.config/flarum/.env
UID=991 # Optional
GID=991 # Optional
FORUM_URL=https://forum.domain.tld/ # Required
DB_HOST=mariadb # Optional
DB_NAME=flarum # Optional
DB_USER=flarum # Optional
DB_PASS=yyyyyyyy # Required
MAIL_FROM=noreply@domain.tld # Optional
MAIL_HOST=mail.domain.tld # Optional
MAIL_PORT=465 # Optional
MAIL_ENCR=ssl # Optional
MAIL_USER=admin@domain.tld # Optional
MAIL_PASS=xxxxxxxx # Optional
```
#### 3 - Docker-compose.yml
Adapt to your needs :
```
flarum:
image: mondedie/flarum
container_name: flarum
env_file: ~/.config/flarum/.env
links:
- mariadb:mariadb
volumes:
- /mnt/docker/flarum:/flarum/app/assets
mariadb:
image: mariadb:10.1
container_name: mariadb
volumes:
- /mnt/docker/mysql/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=xxxxxxxx
- MYSQL_DATABASE=flarum
- MYSQL_USER=flarum
- MYSQL_PASSWORD=yyyyyyyy
```
#### 4 - Reverse proxy setup
See : https://github.com/mondediefr/flarum/wiki/Reverse-proxy-example
#### 5 - Done, congratulation ! :tada:
You can now run Flarum :
```
docker-compose up -d
```
### Default account
* **Username** : *admin*
* **Password** : *password*
### Install custom extensions
**Flarum extensions list :** https://packagist.org/search/?q=flarum-ext
#### 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
```
### Screenshot
![flarum](https://i.imgur.com/teqg3od.pngP)