feat(): add composer custom repository system
parent
d2146d736e
commit
4c7b78a991
|
@ -46,7 +46,7 @@ COPY run.sh /usr/local/bin/run.sh
|
||||||
|
|
||||||
RUN chmod +x /usr/local/bin/* /etc/s6.d/*/* /etc/s6.d/.s6-svscan/*
|
RUN chmod +x /usr/local/bin/* /etc/s6.d/*/* /etc/s6.d/.s6-svscan/*
|
||||||
|
|
||||||
VOLUME /flarum/app/assets
|
VOLUME /flarum/app/assets /flarum/app/extensions
|
||||||
|
|
||||||
EXPOSE 8888
|
EXPOSE 8888
|
||||||
|
|
||||||
|
|
63
README.md
63
README.md
|
@ -66,7 +66,8 @@ flarum:
|
||||||
- FORUM_URL=https://forum.domain.tld
|
- FORUM_URL=https://forum.domain.tld
|
||||||
- DB_PASS=xxxxxxxx
|
- DB_PASS=xxxxxxxx
|
||||||
volumes:
|
volumes:
|
||||||
- /mnt/docker/flarum:/flarum/app/assets
|
- /mnt/docker/flarum/assets:/flarum/app/assets
|
||||||
|
- /mnt/docker/flarum/extensions:/flarum/app/extensions
|
||||||
|
|
||||||
mariadb:
|
mariadb:
|
||||||
image: mariadb:10.1
|
image: mariadb:10.1
|
||||||
|
@ -136,66 +137,24 @@ docker exec -ti flarum extension list
|
||||||
|
|
||||||
### Custom error pages
|
### Custom error pages
|
||||||
|
|
||||||
To use custom error pages, add your .html files in `/mnt/docker/flarum/errors` folder :
|
To use custom error pages, add your .html files in `/mnt/docker/flarum/assets/errors` folder :
|
||||||
|
|
||||||
```
|
```
|
||||||
mkdir -p /mnt/docker/flarum/errors
|
mkdir -p /mnt/docker/flarum/assets/errors
|
||||||
touch 403.html 404.html 500.html 503.html
|
touch 403.html 404.html 500.html 503.html
|
||||||
chown -R 991:991 /mnt/docker/flarum
|
chown -R 991:991 /mnt/docker/flarum
|
||||||
```
|
```
|
||||||
|
|
||||||
### Custom composer.json (experienced users)
|
### Custom composer repositories
|
||||||
|
|
||||||
Customize your own composer.json file in `/mnt/docker/flarum/composer.custom.json`, for example add some privates repositories like this :
|
To use the composer repository system, add your repo name and json representation in `/mnt/docker/flarum/extensions/composer.repositories.txt` :
|
||||||
|
|
||||||
```json
|
|
||||||
# /mnt/docker/flarum/composer.custom.json
|
|
||||||
{
|
|
||||||
"name": "flarum/flarum",
|
|
||||||
"description": "Delightfully simple forum software.",
|
|
||||||
[...]
|
|
||||||
|
|
||||||
"repositories": [
|
|
||||||
{
|
|
||||||
"type": "package",
|
|
||||||
"package": {
|
|
||||||
"name": "xxxxx/flarum-ext-my-private-extension",
|
|
||||||
"version": "dev-master",
|
|
||||||
"type": "flarum-extension",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Me",
|
|
||||||
"email": "me@domain.tld"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dist": {
|
|
||||||
"url": "/flarum/app/assets/extensions/flarum-ext-my-private-extension",
|
|
||||||
"type": "path",
|
|
||||||
"reference": "master"
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"flarum/core": "^0.1.0-beta.6"
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"xxx\\xxx\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"extra": {
|
|
||||||
"flarum-extension": {
|
|
||||||
"title": "xxxxxx",
|
|
||||||
"icon": {
|
|
||||||
"name": "picture-o",
|
|
||||||
"backgroundColor": "#2196f3",
|
|
||||||
"color": "#fff"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
my_private_repo|{"type":"path","url":"extensions/*/"}
|
||||||
|
my_public_repo|{"type":"vcs","url":"https://github.com/my/repo"}
|
||||||
|
```
|
||||||
|
|
||||||
|
https://getcomposer.org/doc/03-cli.md#modifying-repositories
|
||||||
|
|
||||||
### Screenshot
|
### Screenshot
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ CRED="${CSI}1;31m"
|
||||||
CGREEN="${CSI}1;32m"
|
CGREEN="${CSI}1;32m"
|
||||||
|
|
||||||
# Composer cache dir and packages list paths
|
# Composer cache dir and packages list paths
|
||||||
CACHE_DIR=/flarum/app/assets/.extensions
|
CACHE_DIR=extensions/.cache
|
||||||
LIST_FILE=assets/.extensions/list
|
LIST_FILE=extensions/list
|
||||||
|
|
||||||
# Cmd ARGS
|
# Cmd ARGS
|
||||||
action=$1
|
action=$1
|
||||||
|
@ -55,4 +55,6 @@ case "$action" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
su-exec $UID:$GID php flarum cache:clear
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
16
run.sh
16
run.sh
|
@ -30,13 +30,19 @@ cd /flarum/app
|
||||||
|
|
||||||
# Custom HTTP errors pages
|
# Custom HTTP errors pages
|
||||||
if [ -d 'assets/errors' ]; then
|
if [ -d 'assets/errors' ]; then
|
||||||
|
echo "[INFO] Found custom errors pages"
|
||||||
rm -rf vendor/flarum/core/error/*
|
rm -rf vendor/flarum/core/error/*
|
||||||
ln -s /flarum/app/assets/errors/* vendor/flarum/core/error
|
ln -s /flarum/app/assets/errors/* vendor/flarum/core/error
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Custom composer.json (eg. for privates extensions)
|
# Custom repositories (eg. for privates extensions)
|
||||||
if [ -f 'assets/composer.custom.json' ]; then
|
if [ -f 'extensions/composer.repositories.txt' ]; then
|
||||||
cp -f assets/composer.custom.json composer.json
|
while read line; do
|
||||||
|
repository=$(echo $line | cut -d '|' -f1)
|
||||||
|
json=$(echo $line | cut -d '|' -f2)
|
||||||
|
echo "[INFO] Adding ${repository} composer repository"
|
||||||
|
composer config repositories.${repository} "${json}"
|
||||||
|
done < extensions/composer.repositories.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# if no installation was performed before
|
# if no installation was performed before
|
||||||
|
@ -55,8 +61,8 @@ if [ -e 'assets/rev-manifest.json' ]; then
|
||||||
su-exec $UID:$GID php flarum cache:clear
|
su-exec $UID:$GID php flarum cache:clear
|
||||||
|
|
||||||
# Composer cache dir and packages list paths
|
# Composer cache dir and packages list paths
|
||||||
CACHE_DIR=assets/.extensions
|
CACHE_DIR=extensions/.cache
|
||||||
LIST_FILE=$CACHE_DIR/list
|
LIST_FILE=extensions/list
|
||||||
|
|
||||||
# Download extra extensions installed with composer wrapup script
|
# Download extra extensions installed with composer wrapup script
|
||||||
if [ -s "$LIST_FILE" ]; then
|
if [ -s "$LIST_FILE" ]; then
|
||||||
|
|
Loading…
Reference in New Issue