mirror of
https://github.com/okxlin/appstore.git
synced 2026-02-21 10:27:41 +08:00
添加flarum到list
This commit is contained in:
parent
240f40f749
commit
82ed1468a5
14
flarum/metadata/app.json
Normal file
14
flarum/metadata/app.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"key": "flarum",
|
||||
"name": "flarum",
|
||||
"tags": ["WebSite"],
|
||||
"versions": ["latest"],
|
||||
"shortDescZh": "新一代的论坛软件,使在线讨论变得有趣。",
|
||||
"shortDescEn": "The next-generation forum software that makes online discussion fun.",
|
||||
"type": "website",
|
||||
"limit": 0,
|
||||
"crossVersionUpdate": true,
|
||||
"website": "https://github.com/crazy-max/docker-flarum",
|
||||
"github": "https://github.com/crazy-max/docker-flarum",
|
||||
"document": "https://github.com/crazy-max/docker-flarum"
|
||||
}
|
||||
BIN
flarum/metadata/logo.png
Normal file
BIN
flarum/metadata/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
10
flarum/versions/latest/.env.sample
Normal file
10
flarum/versions/latest/.env.sample
Normal file
@ -0,0 +1,10 @@
|
||||
CONTAINER_NAME="flarum"
|
||||
PANEL_APP_PORT_HTTP="40020"
|
||||
DATA_PATH="./data"
|
||||
PANEL_DB_HOST="127.0.0.1"
|
||||
FLARUM_DB_PORT="3306"
|
||||
PANEL_DB_NAME="flarum"
|
||||
PANEL_DB_USER="flarum"
|
||||
PANEL_DB_USER_PASSWORD="MyDBPWD_brls9UwcRasl"
|
||||
PANEL_DB_PREFIX="flarum_"
|
||||
Dockerized_HOST="127.0.0.1"
|
||||
256
flarum/versions/latest/README.md
Normal file
256
flarum/versions/latest/README.md
Normal file
@ -0,0 +1,256 @@
|
||||
<p align="center"><a href="https://github.com/crazy-max/docker-flarum" target="_blank"><img height="128" src="https://raw.githubusercontent.com/crazy-max/docker-flarum/master/.github/docker-flarum.jpg"></a></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://hub.docker.com/r/crazymax/flarum/tags?page=1&ordering=last_updated"><img src="https://img.shields.io/github/v/tag/crazy-max/docker-flarum?label=version&style=flat-square" alt="Latest Version"></a>
|
||||
<a href="https://github.com/crazy-max/docker-flarum/actions?workflow=build"><img src="https://img.shields.io/github/actions/workflow/status/crazy-max/docker-flarum/build.yml?branch=master&label=build&logo=github&style=flat-square" alt="Build Status"></a>
|
||||
<a href="https://hub.docker.com/r/crazymax/flarum/"><img src="https://img.shields.io/docker/stars/crazymax/flarum.svg?style=flat-square&logo=docker" alt="Docker Stars"></a>
|
||||
<a href="https://hub.docker.com/r/crazymax/flarum/"><img src="https://img.shields.io/docker/pulls/crazymax/flarum.svg?style=flat-square&logo=docker" alt="Docker Pulls"></a>
|
||||
<br /><a href="https://github.com/sponsors/crazy-max"><img src="https://img.shields.io/badge/sponsor-crazy--max-181717.svg?logo=github&style=flat-square" alt="Become a sponsor"></a>
|
||||
<a href="https://www.paypal.me/crazyws"><img src="https://img.shields.io/badge/donate-paypal-00457c.svg?logo=paypal&style=flat-square" alt="Donate Paypal"></a>
|
||||
</p>
|
||||
|
||||
## About
|
||||
|
||||
Docker image for [Flarum](https://flarum.org/), the next-generation forum
|
||||
software that makes online discussion fun.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> Want to be notified of new releases? Check out 🔔 [Diun (Docker Image Update Notifier)](https://github.com/crazy-max/diun)
|
||||
> project!
|
||||
|
||||
___
|
||||
|
||||
- [About](#about)
|
||||
- [Features](#features)
|
||||
- [Build locally](#build-locally)
|
||||
- [Image](#image)
|
||||
- [Environment variables](#environment-variables)
|
||||
- [General](#general)
|
||||
- [Flarum](#flarum)
|
||||
- [Database](#database)
|
||||
- [Volumes](#volumes)
|
||||
- [Ports](#ports)
|
||||
- [Usage](#usage)
|
||||
- [Docker Compose](#docker-compose)
|
||||
- [Command line](#command-line)
|
||||
- [Upgrade](#upgrade)
|
||||
- [Notes](#notes)
|
||||
- [First launch](#first-launch)
|
||||
- [Manage extensions](#manage-extensions)
|
||||
- [Sending mails with SMTP](#sending-mails-with-smtp)
|
||||
- [Contributing](#contributing)
|
||||
- [License](#license)
|
||||
|
||||
## Features
|
||||
|
||||
* Run as non-root user
|
||||
* Multi-platform image
|
||||
* [s6-overlay](https://github.com/just-containers/s6-overlay/) as process supervisor
|
||||
* [msmtpd SMTP relay](https://github.com/crazy-max/docker-msmtpd) image to send emails
|
||||
* [Traefik](https://github.com/containous/traefik-library-image) as reverse proxy and creation/renewal of Let's Encrypt certificates (see [this template](examples/traefik))
|
||||
|
||||
## Build locally
|
||||
|
||||
```shell
|
||||
git clone https://github.com/crazy-max/docker-flarum.git
|
||||
cd docker-flarum
|
||||
|
||||
# Build image and output to docker (default)
|
||||
docker buildx bake
|
||||
|
||||
# Build multi-platform image
|
||||
docker buildx bake image-all
|
||||
```
|
||||
|
||||
## Image
|
||||
|
||||
| Registry | Image |
|
||||
|--------------------------------------------------------------------------------------------------|---------------------------------|
|
||||
| [Docker Hub](https://hub.docker.com/r/crazymax/flarum/) | `crazymax/flarum` |
|
||||
| [GitHub Container Registry](https://github.com/users/crazy-max/packages/container/package/flarum) | `ghcr.io/crazy-max/flarum` |
|
||||
|
||||
Following platforms for this image are available:
|
||||
|
||||
```
|
||||
$ docker run --rm mplatform/mquery crazymax/flarum:latest
|
||||
Image: crazymax/flarum:latest
|
||||
* Manifest List: Yes
|
||||
* Supported platforms:
|
||||
- linux/amd64
|
||||
- linux/arm/v6
|
||||
- linux/arm/v7
|
||||
- linux/arm64
|
||||
```
|
||||
|
||||
## Environment variables
|
||||
|
||||
### General
|
||||
|
||||
* `TZ`: The timezone assigned to the container (default `UTC`)
|
||||
* `PUID`: Flarum user id (default `1000`)
|
||||
* `PGID`: Flarum group id (default `1000`)
|
||||
* `MEMORY_LIMIT`: PHP memory limit (default `256M`)
|
||||
* `UPLOAD_MAX_SIZE`: Upload max size (default `16M`)
|
||||
* `CLEAR_ENV`: Clear environment in FPM workers (default `yes`)
|
||||
* `OPCACHE_MEM_SIZE`: PHP OpCache memory consumption (default `128`)
|
||||
* `LISTEN_IPV6`: Enable IPv6 for Nginx (default `true`)
|
||||
* `REAL_IP_FROM`: Trusted addresses that are known to send correct replacement addresses (default `0.0.0.0/32`)
|
||||
* `REAL_IP_HEADER`: Request header field whose value will be used to replace the client address (default `X-Forwarded-For`)
|
||||
* `LOG_IP_VAR`: Use another variable to retrieve the remote IP address for access [log_format](http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format) on Nginx. (default `remote_addr`)
|
||||
|
||||
### Flarum
|
||||
|
||||
* `FLARUM_DEBUG`: Enables or disables debug mode, used to troubleshoot issues (default `false`)
|
||||
* `FLARUM_BASE_URL`: The URL to your Flarum installation **required**
|
||||
* `FLARUM_FORUM_TITLE`: Flarum forum title, only used during first installation (default `Flarum Dockerized`)
|
||||
* `FLARUM_API_PATH`: Flarum api path (default `api`)
|
||||
* `FLARUM_ADMIN_PATH`: Flarum admin path (default `admin`)
|
||||
* `FLARUM_POWEREDBY_HEADER`: Set Flarum's `X-Powered-By` header (default `true`)
|
||||
* `FLARUM_REFERRER_POLICY`: Referrer policy (default `same-origin`)
|
||||
* `FLARUM_COOKIE_SAMESITE`: Set `SameSite` attribute of `Set-Cookie` (default `lax`)
|
||||
|
||||
### Database
|
||||
|
||||
* `DB_HOST`: MySQL database hostname / IP address **required**
|
||||
* `DB_PORT`: MySQL database port (default `3306`)
|
||||
* `DB_NAME`: MySQL database name (default `flarum`)
|
||||
* `DB_USER`: MySQL user (default `flarum`)
|
||||
* `DB_PASSWORD`: MySQL password
|
||||
* `DB_PREFIX`: MySQL database prefix (default `flarum_`)
|
||||
* `DB_NOPREFIX`: Enforce no prefix for the MySQL database (default `false`)
|
||||
* `DB_TIMEOUT`: Time in seconds after which we stop trying to reach the MySQL server (useful for clusters, default `60`)
|
||||
|
||||
> 💡 `DB_USER_FILE` and `DB_PASSWORD_FILE` can be used to fill in the value from a file, especially for Docker's
|
||||
> secrets feature.
|
||||
|
||||
## Volumes
|
||||
|
||||
* `/data`: Contains assets, extensions and storage
|
||||
|
||||
> :warning: Note that the volume should be owned by the user/group with the specified `PUID` and `PGID`. If you
|
||||
> don't give the volume correct permissions, the container may not start.
|
||||
|
||||
## Ports
|
||||
|
||||
* `8000`: HTTP port
|
||||
|
||||
## Usage
|
||||
|
||||
### Docker Compose
|
||||
|
||||
Docker compose is the recommended way to run this image. You can use the following
|
||||
[docker compose template](examples/compose/docker-compose.yml), then run the container:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### Command line
|
||||
|
||||
You can also use the following minimal command:
|
||||
|
||||
```bash
|
||||
docker run -d -p 8000:8000 --name flarum \
|
||||
-v $(pwd)/data:/data \
|
||||
-e "DB_HOST=db" \
|
||||
-e "FLARUM_BASE_URL=http://127.0.0.1:8000" \
|
||||
crazymax/flarum:latest
|
||||
```
|
||||
|
||||
> `-e "DB_HOST=db"`<br />
|
||||
> :warning: `db` must be a running MySQL instance
|
||||
|
||||
## Upgrade
|
||||
|
||||
You can upgrade Flarum automatically through the UI, it works well. But I recommend to recreate the container
|
||||
whenever I push an update:
|
||||
|
||||
```bash
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
### First launch
|
||||
|
||||
On first launch, an initial administrator user will be created:
|
||||
|
||||
| Login | Password |
|
||||
|----------|----------|
|
||||
| `flarum` | `flarum` |
|
||||
|
||||
### Manage extensions
|
||||
|
||||
You can install [Flarum extensions](https://extiverse.com/) from the command line using a
|
||||
[specially crafted script](rootfs/usr/local/bin/extension) with this image:
|
||||
|
||||
`docker-compose exec flarum extension require <package>`
|
||||
|
||||
To remove an extension:
|
||||
|
||||
`docker-compose exec flarum extension remove <package>`
|
||||
|
||||
To list all extensions:
|
||||
|
||||
`docker-compose exec flarum extension list`
|
||||
|
||||
Example with [`fof/upload`](https://extiverse.com/extension/fof/upload) extension:
|
||||
|
||||
```
|
||||
$ docker-compose exec flarum extension require fof/upload
|
||||
Using version ^1.0 for fof/upload
|
||||
./composer.json has been updated
|
||||
Running composer update fof/upload
|
||||
Loading composer repositories with package information
|
||||
Updating dependencies
|
||||
Lock file operations: 5 installs, 0 updates, 0 removals
|
||||
- Locking fof/upload (1.0.0)
|
||||
- Locking guzzlehttp/guzzle (7.3.0)
|
||||
- Locking guzzlehttp/promises (1.4.1)
|
||||
- Locking psr/http-client (1.0.1)
|
||||
- Locking softcreatr/php-mime-detector (3.2.0)
|
||||
Writing lock file
|
||||
Installing dependencies from lock file (including require-dev)
|
||||
Package operations: 5 installs, 0 updates, 0 removals
|
||||
- Downloading softcreatr/php-mime-detector (3.2.0)
|
||||
- Downloading psr/http-client (1.0.1)
|
||||
- Downloading guzzlehttp/promises (1.4.1)
|
||||
- Downloading guzzlehttp/guzzle (7.3.0)
|
||||
- Downloading fof/upload (1.0.0)
|
||||
- Installing softcreatr/php-mime-detector (3.2.0): Extracting archive
|
||||
- Installing psr/http-client (1.0.1): Extracting archive
|
||||
- Installing guzzlehttp/promises (1.4.1): Extracting archive
|
||||
- Installing guzzlehttp/guzzle (7.3.0): Extracting archive
|
||||
- Installing fof/upload (1.0.0): Extracting archive
|
||||
2 package suggestions were added by new dependencies, use `composer suggest` to see details.
|
||||
Generating autoload files
|
||||
70 packages you are using are looking for funding.
|
||||
Use the `composer fund` command to find out more!
|
||||
fof/upload extension added
|
||||
Clearing the cache...
|
||||
```
|
||||
|
||||
> :warning: You cannot use [Bazaar marketplace extension](https://discuss.flarum.org/d/5151-bazaar-the-extension-marketplace)
|
||||
> to install extensions for now.
|
||||
|
||||
### Sending mails with SMTP
|
||||
|
||||
You can use our SMTP relay `msmtpd` service published on port `2500` and declared in our [`docker-compose.yml`](examples/compose/docker-compose.yml):
|
||||
|
||||

|
||||
|
||||
## Contributing
|
||||
|
||||
Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You
|
||||
can also support this project by [**becoming a sponsor on GitHub**](https://github.com/sponsors/crazy-max) or by making
|
||||
a [Paypal donation](https://www.paypal.me/crazyws) to ensure this journey continues indefinitely!
|
||||
|
||||
Thanks again for your support, it is much appreciated! :pray:
|
||||
|
||||
## License
|
||||
|
||||
MIT. See `LICENSE` for more details.
|
||||
|
||||
104
flarum/versions/latest/config.json
Normal file
104
flarum/versions/latest/config.json
Normal file
@ -0,0 +1,104 @@
|
||||
{
|
||||
"formFields": [
|
||||
{
|
||||
"type": "apps",
|
||||
"labelZh": "数据库服务",
|
||||
"labelEn": "Database Service",
|
||||
"required": true,
|
||||
"default": "mysql",
|
||||
"values": [{
|
||||
"label": "MySQL",
|
||||
"value": "mysql"
|
||||
}],
|
||||
"child": {
|
||||
"type": "service",
|
||||
"labelZh": "数据库服务",
|
||||
"labelEn": "Database Service",
|
||||
"required": true,
|
||||
"default": "",
|
||||
"envKey": "PANEL_DB_HOST"
|
||||
},
|
||||
"params": [
|
||||
{
|
||||
"type": "param",
|
||||
"key": "mysql",
|
||||
"value": "3306",
|
||||
"envKey": "FLARUM_DB_PORT"
|
||||
},
|
||||
{
|
||||
"type": "param",
|
||||
"key": "postgresql",
|
||||
"value": "5432",
|
||||
"envKey": "FLARUM_DB_PORT"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"labelZh": "数据库名",
|
||||
"labelEn": "Database",
|
||||
"required": true,
|
||||
"default": "flarum",
|
||||
"random": true,
|
||||
"rule": "paramCommon",
|
||||
"envKey": "PANEL_DB_NAME"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"labelZh": "数据库用户",
|
||||
"labelEn": "User",
|
||||
"required": true,
|
||||
"default": "flarum",
|
||||
"random": true,
|
||||
"rule": "paramCommon",
|
||||
"envKey": "PANEL_DB_USER"
|
||||
},
|
||||
{
|
||||
"type": "password",
|
||||
"labelZh": "数据库用户密码",
|
||||
"labelEn": "Password",
|
||||
"required": true,
|
||||
"default": "flarum",
|
||||
"random": true,
|
||||
"rule": "paramComplexity",
|
||||
"envKey": "PANEL_DB_USER_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"labelZh": "数据库前缀",
|
||||
"labelEn": "Database prefix",
|
||||
"required": true,
|
||||
"default": "flarum_",
|
||||
"envKey": "PANEL_DB_PREFIX"
|
||||
},
|
||||
{
|
||||
"type": "number",
|
||||
"labelZh": "端口",
|
||||
"labelEn": "Port",
|
||||
"required": true,
|
||||
"default": 40020,
|
||||
"rule": "paramPort",
|
||||
"envKey": "PANEL_APP_PORT_HTTP",
|
||||
"edit": true
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"labelZh": "数据存放文件夹",
|
||||
"labelEn": "Data storage folder",
|
||||
"required": true,
|
||||
"default": "./data",
|
||||
"envKey": "DATA_PATH",
|
||||
"edit": true
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"labelZh": "本机IP",
|
||||
"labelEn": "Local IP",
|
||||
"required": true,
|
||||
"default": "127.0.0.1",
|
||||
"envKey": "Dockerized_HOST",
|
||||
"edit": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
0
flarum/versions/latest/data/.gitkeep
Normal file
0
flarum/versions/latest/data/.gitkeep
Normal file
36
flarum/versions/latest/docker-compose.yml
Normal file
36
flarum/versions/latest/docker-compose.yml
Normal file
@ -0,0 +1,36 @@
|
||||
version: "3"
|
||||
services:
|
||||
flarum:
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:8000"
|
||||
volumes:
|
||||
- "${DATA_PATH}:/data"
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- MEMORY_LIMIT=256M
|
||||
- UPLOAD_MAX_SIZE=256M
|
||||
- CLEAR_ENV=yes
|
||||
- OPCACHE_MEM_SIZE=128M
|
||||
- LISTEN_IPV6=true
|
||||
- REAL_IP_FROM=0.0.0.0/32
|
||||
- DB_HOST=${PANEL_DB_HOST}
|
||||
- DB_PORT=${FLARUM_DB_PORT}
|
||||
- DB_NAME=${PANEL_DB_NAME}
|
||||
- DB_USER=${PANEL_DB_USER}
|
||||
- DB_PASSWORD=${PANEL_DB_USER_PASSWORD}
|
||||
- DB_PREFIX=${PANEL_DB_PREFIX}
|
||||
- DB_NOPREFIX=false
|
||||
- DB_TIMEOUT=60
|
||||
- FLARUM_BASE_URL=http://${Dockerized_HOST}:${PANEL_APP_PORT_HTTP}
|
||||
image: crazymax/flarum:latest
|
||||
labels:
|
||||
createdBy: Apps
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
14
list.json
14
list.json
@ -97,6 +97,20 @@
|
||||
"website": "https://github.com/containrrr/watchtower",
|
||||
"github": "https://github.com/containrrr/watchtower",
|
||||
"document": "https://containrrr.dev/watchtower/"
|
||||
},
|
||||
{
|
||||
"key": "flarum",
|
||||
"name": "flarum",
|
||||
"tags": ["WebSite"],
|
||||
"versions": ["latest"],
|
||||
"shortDescZh": "新一代的论坛软件,使在线讨论变得有趣。",
|
||||
"shortDescEn": "The next-generation forum software that makes online discussion fun.",
|
||||
"type": "website",
|
||||
"limit": 0,
|
||||
"crossVersionUpdate": true,
|
||||
"website": "https://github.com/crazy-max/docker-flarum",
|
||||
"github": "https://github.com/crazy-max/docker-flarum",
|
||||
"document": "https://github.com/crazy-max/docker-flarum"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user