mirror of
https://github.com/YunoHost-Apps/lemmy_ynh.git
synced 2024-09-03 19:36:09 +02:00
Upgrade to 0.11.2~ynh1
This commit is contained in:
parent
c441200623
commit
6e7e9e3a20
7 changed files with 83 additions and 104 deletions
|
@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
|
|||
|
||||
A link aggregator / Reddit clone for the fediverse.
|
||||
|
||||
**Shipped version:** 0.9.9~ynh1
|
||||
**Shipped version:** 0.11.2~ynh1
|
||||
|
||||
**Demo:** https://join.lemmy.ml/join/
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour
|
|||
|
||||
|
||||
|
||||
**Version incluse :** 0.9.9~ynh1
|
||||
**Version incluse :** 0.11.2~ynh1
|
||||
|
||||
**Démo :** https://join.lemmy.ml/join/
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
- memcached - https://github.com/3rd-Eden/node-memcached
|
||||
*/
|
||||
CACHE_ENGINE: 'node-cache',
|
||||
CACHE_TTL: 0, // In seconds.
|
||||
CACHE_TTL: 0, // In seconds.
|
||||
// 0 = 'never expire' for memcached & node-cache to let cache engine decide itself when to evict the record
|
||||
// 0 = 'no cache' for redis. Use high enough (e.g. 365*24*60*60*1000) ttl for similar 'never expire' approach instead
|
||||
|
||||
|
@ -104,31 +104,16 @@
|
|||
// DISABLE_HTTP2: true,
|
||||
|
||||
// Customize API calls to oembed endpoints.
|
||||
// Must have: please add your `access_token` for Facebook and Instagram API calls
|
||||
ADD_OEMBED_PARAMS: [{
|
||||
|
||||
re: [ // Endpoint's URL regexp array.
|
||||
/^https:\/\/graph\.facebook\.com\/v\d+\.\d+\/instagram_oembed/i
|
||||
],
|
||||
params: { // Custom query-string params object.
|
||||
|
||||
// TODO: get your access Insagtam token as described
|
||||
// on https://developers.facebook.com/docs/instagram/oembed/
|
||||
access_token: '', // The simplest way is
|
||||
// to use `{app-id}|{app secret}` as access token
|
||||
|
||||
// Add any other optional params
|
||||
// Endpoint url regexp array.
|
||||
re: [/^http:\/\/api\.instagram\.com\/oembed/],
|
||||
// Custom get params object.
|
||||
params: {
|
||||
hidecaption: true
|
||||
}
|
||||
}, {
|
||||
re: [/^https:\/\/graph\.facebook\.com\/v\d+\.\d+\/oembed_page/i],
|
||||
re: [/^https:\/\/www\.facebook\.com\/plugins\/page\/oembed\.json/i],
|
||||
params: {
|
||||
// TODO: get your access token as described
|
||||
// on https://developers.facebook.com/docs/plugins/oembed
|
||||
access_token: '', // The simplest way is
|
||||
// to use `{app-id}|{app secret}` as access token
|
||||
|
||||
// Add any other optional params
|
||||
show_posts: 0,
|
||||
show_facepile: 0,
|
||||
maxwidth: 600
|
||||
|
@ -141,24 +126,20 @@
|
|||
limit: 1,
|
||||
maxwidth: 600
|
||||
}
|
||||
/*
|
||||
}, {
|
||||
// Facebook https://developers.facebook.com/docs/plugins/oembed/
|
||||
re: [/^https:\/\/graph\.facebook\.com\/v\d+\.\d+\/oembed_/i],
|
||||
// Facebook https://developers.facebook.com/docs/plugins/oembed-endpoints
|
||||
re: [/^https:\/\/www\.facebook\.com\/plugins\/\w+\/oembed\.json/i],
|
||||
params: {
|
||||
// TODO: get your access token as described
|
||||
// on https://developers.facebook.com/docs/plugins/oembed
|
||||
access_token: '', // The simplest way is
|
||||
// to use `{app-id}|{app secret}` as access token
|
||||
|
||||
// Add any other optional params, like skip script tag and fb-root div
|
||||
// omitscript: true
|
||||
// Skip script tag and fb-root div.
|
||||
omitscript: true
|
||||
}
|
||||
*/
|
||||
}],
|
||||
|
||||
/* Configure use of HTTP proxies as needed.
|
||||
You don't have to specify all options per regex - just what you need to override
|
||||
*/
|
||||
/*
|
||||
// Configure use of HTTP proxies as needed.
|
||||
// You don't have to specify all options per regex - just what you need to override
|
||||
PROXY: [{
|
||||
re: [/^https?:\/\/www\.domain\.com/],
|
||||
proxy_server: 'http://1.2.3.4:8080',
|
||||
|
@ -171,16 +152,14 @@
|
|||
// Refer to: https://github.com/request/request
|
||||
// Overrides previous params if overlapped.
|
||||
},
|
||||
cache_ttl: 3600, // in seconds, cache response for 1 hour.
|
||||
disable_http2: true
|
||||
}],
|
||||
*/
|
||||
|
||||
// Customize API calls to 3rd parties. At the very least - configure required keys.
|
||||
// For available provider options - please see the code of its domain plugin.
|
||||
providerOptions: {
|
||||
locale: "en_US", // ISO 639-1 two-letter language code, e.g. en_CA or fr_CH.
|
||||
// Will be added as highest priotity in accept-language header with each request.
|
||||
locale: "en_US", // ISO 639-1 two-letter language code, e.g. en_CA or fr_CH.
|
||||
// Will be added as highest priotity in accept-language header with each request.
|
||||
// Plus is used in FB, YouTube and perhaps other plugins
|
||||
"twitter": {
|
||||
"max-width": 550,
|
||||
|
@ -224,18 +203,21 @@
|
|||
// It is probably the same API key you use for Google Maps.
|
||||
youtube: {
|
||||
// api_key: "INSERT YOUR VALUE",
|
||||
// parts: [ "snippet", "player" ], // list of fields you want to use in the request, in most cases you only need those two
|
||||
get_params: "?rel=0&showinfo=1" // https://developers.google.com/youtube/player_parameters
|
||||
},
|
||||
vimeo: {
|
||||
get_params: "?byline=0&badge=0" // https://developer.vimeo.com/player/embedding
|
||||
},
|
||||
|
||||
/*
|
||||
soundcloud: {
|
||||
old_player: true // enables classic player
|
||||
},
|
||||
giphy: {
|
||||
media_only: true // disables branded player for gifs and returns just the image
|
||||
},
|
||||
}
|
||||
*/
|
||||
/*
|
||||
bandcamp: {
|
||||
get_params: '/size=large/bgcol=333333/linkcol=ffffff/artwork=small/transparent=true/',
|
||||
media: {
|
||||
|
@ -248,11 +230,7 @@
|
|||
'max-width': 700
|
||||
}
|
||||
}
|
||||
},
|
||||
// Docs: https://dev.twitch.tv/docs/embed/video-and-clips
|
||||
twitch: {
|
||||
parent: 'jsbin.com, null.jsbin.com, localhost'
|
||||
},
|
||||
}
|
||||
*/
|
||||
},
|
||||
|
||||
|
@ -298,11 +276,7 @@
|
|||
// And this is AWS metadata service
|
||||
// https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
|
||||
/^https?:\/\/169\.254\.169\.254/
|
||||
],
|
||||
|
||||
// Endpoint for prerender service, if you need it. Used to parse React apps. Very slow.
|
||||
// Tested with https://github.com/prerender/prerender
|
||||
// PRERENDER_URL: "https://domain/render?url="
|
||||
]
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"description": {
|
||||
"en": "A link aggregator / Reddit clone for the fediverse."
|
||||
},
|
||||
"version": "0.9.9~ynh1",
|
||||
"version": "0.11.2~ynh1",
|
||||
"url": "https://join.lemmy.ml/",
|
||||
"upstream": {
|
||||
"license": "GPL-3.0",
|
||||
|
|
|
@ -7,20 +7,24 @@
|
|||
# dependencies used by the app
|
||||
lemmy_dependencies="postgresql postgresql-contrib"
|
||||
lemmyui_dependencies="espeak"
|
||||
iframely_dependencies="musl-dev"
|
||||
pictrs_dependencies="bash-completion ffmpeg clang pkg-config libgexiv2-dev libgexiv2-2"
|
||||
imagemagick_build_dependencies="libltdl-dev libjpeg-dev libpng-dev libwebp-dev liblzma-dev libxml2-dev"
|
||||
imagemagick_dependencies=""
|
||||
pictrs_build_dependencies="pkg-config build-essential libgexiv2-dev libxml2 libltdl7 libavcodec-dev libavfilter-dev libavdevice-dev libavformat-dev libavresample-dev libavutil-dev libswscale-dev libswresample-dev llvm-dev libclang-dev clang"
|
||||
pictrs_dependencies="libgexiv2-2 libpng16-16 libjpeg62-turbo libwebp6 libwebpdemux2 libwebpmux3 libltdl7 libgomp1 libxml2 libavcodec58 libavfilter7 libavdevice58 libavformat58 libavresample4 libavutil56 libswscale5 libswresample3 tini"
|
||||
iframely_dependencies="musl-dev"
|
||||
|
||||
pkg_dependencies="$lemmy_dependencies $lemmyui_dependencies $iframely_dependencies $pictrs_dependencies $imagemagick_dependencies"
|
||||
# libssl-dev libc6-dev libpq-dev libavutil-dev libavformat-dev libavfilter-dev libavdevice-dev libavresample-dev libjpeg-turbo-progs libpng-dev
|
||||
pkg_dependencies="$lemmy_dependencies $lemmyui_dependencies $imagemagick_dependencies $pictrs_dependencies $iframely_dependencies"
|
||||
pkg_build_dependencies="$imagemagick_build_dependencies $pictrs_build_dependencies"
|
||||
|
||||
NODEJS_VERSION=12
|
||||
|
||||
LEMMY_VERSION=0.11.0
|
||||
LEMMY_VERSION=0.11.2
|
||||
|
||||
LEMMYUI_VERSION=0.11.0
|
||||
LEMMYUI_VERSION=0.11.2
|
||||
|
||||
PICTRS_VERSION=v0.2.6-r1
|
||||
PICTRS_VERSION=v0.2.6-r2
|
||||
|
||||
IFRAMELY_VERSION=latest
|
||||
|
||||
#=================================================
|
||||
# PERSONAL HELPERS
|
||||
|
|
|
@ -78,7 +78,7 @@ ynh_app_setting_set --app=$app --key=port_iframely --value=$port_iframely
|
|||
#=================================================
|
||||
ynh_script_progression --message="Installing dependencies..."
|
||||
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
ynh_install_app_dependencies $pkg_dependencies $pkg_build_dependencies
|
||||
ynh_install_nodejs --nodejs_version=$NODEJS_VERSION
|
||||
ynh_use_nodejs
|
||||
ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1
|
||||
|
@ -112,11 +112,11 @@ ynh_script_progression --message="Setting up source files..."
|
|||
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
||||
# Download, check integrity, uncompress and patch the source from app.src
|
||||
ynh_setup_source --dest_dir="$final_path/build-lemmy/" --source_id="docker-image-extract"
|
||||
ynh_setup_source --dest_dir="$final_path/build-pict-rs/" --source_id="pict-rs"
|
||||
ynh_setup_source --dest_dir="$final_path/build-lemmy-ui/" --source_id="docker-image-extract"
|
||||
ynh_setup_source --dest_dir="$final_path/lemmy-ui/lemmy-translations/" --source_id="lemmy-translations"
|
||||
ynh_setup_source --dest_dir="$final_path/build-iframely/" --source_id="docker-image-extract"
|
||||
ynh_setup_source --dest_dir="$final_path/build-imagemagick/" --source_id="imagemagick"
|
||||
ynh_setup_source --dest_dir="$final_path/build-pict-rs/" --source_id="pict-rs"
|
||||
ynh_setup_source --dest_dir="$final_path/build-iframely/" --source_id="docker-image-extract"
|
||||
|
||||
chmod 750 "$final_path"
|
||||
chmod -R o-rwx "$final_path"
|
||||
|
@ -159,6 +159,23 @@ mkdir -p "$final_path/lemmy/"
|
|||
mv -f "$final_path/build-lemmy/output/app/lemmy" "$final_path/lemmy/lemmy"
|
||||
ynh_secure_remove --file="$final_path/build-lemmy"
|
||||
|
||||
# Install lemmy-ui
|
||||
pushd $final_path/build-lemmy-ui
|
||||
./docker-image-extract dessalines/lemmy-ui:$LEMMYUI_VERSION
|
||||
popd
|
||||
mkdir -p "$final_path/lemmy-ui/"
|
||||
rsync -a "$final_path/build-lemmy-ui/output/app/" "$final_path/lemmy-ui/"
|
||||
ynh_secure_remove --file="$final_path/build-lemmy-ui"
|
||||
|
||||
# Install ImageMagick
|
||||
pushd "$final_path/build-imagemagick/"
|
||||
./configure --with-modules
|
||||
make
|
||||
make install
|
||||
ldconfig /usr/local/lib
|
||||
popd
|
||||
ynh_secure_remove --file="$final_path/build-imagemagick"
|
||||
|
||||
# Install rustup with the toolchain needed by pict-rs
|
||||
pushd "$final_path"
|
||||
sudo -u "$app" RUSTUP_HOME="$final_path"/.rustup CARGO_HOME="$final_path"/.cargo bash -c 'curl -sSf -L https://static.rust-lang.org/rustup.sh | sh -s -- -y --default-toolchain nightly'
|
||||
|
@ -176,31 +193,15 @@ ynh_secure_remove --file="$final_path/build-pict-rs"
|
|||
ynh_secure_remove --file="$final_path/.cargo"
|
||||
ynh_secure_remove --file="$final_path/.rustup"
|
||||
|
||||
# Install lemmy-ui
|
||||
pushd $final_path/build-lemmy-ui
|
||||
./docker-image-extract dessalines/lemmy-ui:$LEMMYUI_VERSION
|
||||
popd
|
||||
mkdir -p "$final_path/lemmy-ui/"
|
||||
rsync -a "$final_path/build-lemmy-ui/output/app/" "$final_path/lemmy-ui/"
|
||||
ynh_secure_remove --file="$final_path/build-lemmy-ui"
|
||||
|
||||
# Install iframely
|
||||
pushd $final_path/build-iframely
|
||||
./docker-image-extract dogbin/iframely:latest
|
||||
./docker-image-extract dogbin/iframely:$IFRAMELY_VERSION
|
||||
popd
|
||||
mkdir -p "$final_path/iframely/"
|
||||
rsync -a "$final_path/build-iframely/output/iframely/" "$final_path/iframely/"
|
||||
ynh_secure_remove --file="$final_path/build-iframely"
|
||||
|
||||
# Install ImageMagick
|
||||
pushd "$final_path/build-imagemagick/"
|
||||
./configure --with-modules
|
||||
make
|
||||
make install
|
||||
ldconfig /usr/local/lib
|
||||
popd
|
||||
ynh_secure_remove --file="$final_path/build-imagemagick"
|
||||
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
chmod 750 "$final_path"
|
||||
chmod -R o-rwx "$final_path"
|
||||
chown -R $app:$app "$final_path"
|
||||
|
@ -254,8 +255,8 @@ ynh_script_progression --message="Integrating service in YunoHost..."
|
|||
|
||||
yunohost service add $app --description="A short description of the app" --log="/var/log/$app/$app.log"
|
||||
yunohost service add $app-ui --description="A short description of the app" --log="/var/log/$app/$app-ui.log"
|
||||
yunohost service add $app-iframely --description="A short description of the app" --log="/var/log/$app/$app-iframely.log"
|
||||
yunohost service add $app-pict-rs --description="A short description of the app" --log="/var/log/$app/$app-pict-rs.log"
|
||||
yunohost service add $app-iframely --description="A short description of the app" --log="/var/log/$app/$app-iframely.log"
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
|
@ -265,8 +266,8 @@ ynh_script_progression --message="Starting a systemd service..."
|
|||
# Start a systemd service
|
||||
ynh_systemd_action --service_name=$app --action="start" --line_match="Started" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-ui --action="start" --line_match="Started" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-iframely --action="start" --line_match="Started" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-pict-rs --action="start" --line_match="Started" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-iframely --action="start" --line_match="Started" --log_path=systemd
|
||||
|
||||
#=================================================
|
||||
# SETUP SSOWAT
|
||||
|
|
|
@ -64,8 +64,8 @@ ynh_script_progression --message="Stopping a systemd service..."
|
|||
|
||||
ynh_systemd_action --service_name=$app --action="stop" --line_match="Stopped" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-ui --action="stop" --line_match="Stopped" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-iframely --action="stop" --line_match="Stopped" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-pict-rs --action="stop" --line_match="Stopped" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-iframely --action="stop" --line_match="Stopped" --log_path=systemd
|
||||
|
||||
#=================================================
|
||||
# ENSURE DOWNWARD COMPATIBILITY
|
||||
|
@ -107,11 +107,11 @@ then
|
|||
|
||||
# Download, check integrity, uncompress the source of lemmy from app.src to his build directory
|
||||
ynh_setup_source --dest_dir="$final_path/build-lemmy/" --source_id="docker-image-extract"
|
||||
ynh_setup_source --dest_dir="$final_path/build-pict-rs/" --source_id="pict-rs"
|
||||
ynh_setup_source --dest_dir="$final_path/build-lemmy-ui/" --source_id="docker-image-extract"
|
||||
ynh_setup_source --dest_dir="$final_path/lemmy-ui/lemmy-translations/" --source_id="lemmy-translations"
|
||||
ynh_setup_source --dest_dir="$final_path/build-iframely/" --source_id="docker-image-extract"
|
||||
ynh_setup_source --dest_dir="$final_path/build-imagemagick/" --source_id="imagemagick"
|
||||
ynh_setup_source --dest_dir="$final_path/build-pict-rs/" --source_id="pict-rs"
|
||||
ynh_setup_source --dest_dir="$final_path/build-iframely/" --source_id="docker-image-extract"
|
||||
fi
|
||||
|
||||
chmod 750 "$final_path"
|
||||
|
@ -152,6 +152,23 @@ then
|
|||
mv -f "$final_path/build-lemmy/output/app/lemmy" "$final_path/lemmy/lemmy"
|
||||
ynh_secure_remove --file="$final_path/build-lemmy"
|
||||
|
||||
# Install lemmy-ui
|
||||
pushd $final_path/build-lemmy-ui
|
||||
./docker-image-extract dessalines/lemmy-ui:$LEMMYUI_VERSION
|
||||
popd
|
||||
mkdir -p "$final_path/lemmy-ui/"
|
||||
rsync -a "$final_path/build-lemmy-ui/output/app/" "$final_path/lemmy-ui/"
|
||||
ynh_secure_remove --file="$final_path/build-lemmy-ui"
|
||||
|
||||
# Install ImageMagick
|
||||
pushd "$final_path/build-imagemagick/"
|
||||
./configure --with-modules
|
||||
make
|
||||
make install
|
||||
ldconfig /usr/local/lib
|
||||
popd
|
||||
ynh_secure_remove --file="$final_path/build-imagemagick"
|
||||
|
||||
# Install rustup with the toolchain needed by pict-rs
|
||||
pushd "$final_path"
|
||||
sudo -u "$app" RUSTUP_HOME="$final_path"/.rustup CARGO_HOME="$final_path"/.cargo bash -c 'curl -sSf -L https://static.rust-lang.org/rustup.sh | sh -s -- -y --default-toolchain nightly'
|
||||
|
@ -169,14 +186,6 @@ then
|
|||
ynh_secure_remove --file="$final_path/.cargo"
|
||||
ynh_secure_remove --file="$final_path/.rustup"
|
||||
|
||||
# Install lemmy-ui
|
||||
pushd $final_path/build-lemmy-ui
|
||||
./docker-image-extract dessalines/lemmy-ui:$LEMMYUI_VERSION
|
||||
popd
|
||||
mkdir -p "$final_path/lemmy-ui/"
|
||||
rsync -a "$final_path/build-lemmy-ui/output/app/" "$final_path/lemmy-ui/"
|
||||
ynh_secure_remove --file="$final_path/build-lemmy-ui"
|
||||
|
||||
# Install iframely
|
||||
pushd $final_path/build-iframely
|
||||
./docker-image-extract dogbin/iframely:latest
|
||||
|
@ -184,15 +193,6 @@ then
|
|||
mkdir -p "$final_path/iframely/"
|
||||
rsync -a "$final_path/build-iframely/output/iframely/" "$final_path/iframely/"
|
||||
ynh_secure_remove --file="$final_path/build-iframely"
|
||||
|
||||
# Install ImageMagick
|
||||
pushd "$final_path/build-imagemagick/"
|
||||
./configure --with-modules
|
||||
make
|
||||
make install
|
||||
ldconfig /usr/local/lib
|
||||
popd
|
||||
ynh_secure_remove --file="$final_path/build-imagemagick"
|
||||
fi
|
||||
|
||||
chmod 750 "$final_path"
|
||||
|
@ -253,8 +253,8 @@ ynh_script_progression --message="Integrating service in YunoHost..."
|
|||
|
||||
yunohost service add $app --description="A short description of the app" --log="/var/log/$app/$app.log"
|
||||
yunohost service add $app-ui --description="A short description of the app" --log="/var/log/$app/$app-ui.log"
|
||||
yunohost service add $app-iframely --description="A short description of the app" --log="/var/log/$app/$app-iframely.log"
|
||||
yunohost service add $app-pict-rs --description="A short description of the app" --log="/var/log/$app/$app-pict-rs.log"
|
||||
yunohost service add $app-iframely --description="A short description of the app" --log="/var/log/$app/$app-iframely.log"
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
|
@ -263,8 +263,8 @@ ynh_script_progression --message="Starting a systemd service..."
|
|||
|
||||
ynh_systemd_action --service_name=$app --action="start" --line_match="Started" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-ui --action="start" --line_match="Started" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-iframely --action="start" --line_match="Started" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-pict-rs --action="start" --line_match="Started" --log_path=systemd
|
||||
ynh_systemd_action --service_name=$app-iframely --action="start" --line_match="Started" --log_path=systemd
|
||||
|
||||
#=================================================
|
||||
# RELOAD NGINX
|
||||
|
|
Loading…
Reference in a new issue