Compare commits

..

2 Commits

Author SHA1 Message Date
8b9c8fc1b9 Fix: librespeed config 2022-10-20 11:13:37 -04:00
254e86da11 Update: Collection development 2022-10-08 19:23:58 +02:00
8 changed files with 109 additions and 102 deletions

View File

@ -1,35 +0,0 @@
# Paasify plugins
## Input data
* Plugins meta:
* Desc: Return plugin metadata informations
* `action`: `'metadata'`
* `schema`: `<JSON schema>`
* `version`: `<>`
* `author`: `<>`
* `name`: `<>`
* `description`: `<>`
* `require`: `[<Tag Name>,]`, Future !
* Returns: Dict of all static data
* Docker compose vars build
* Desc: Return plugin configuration
* `action`: `'vars_docker'`
* `user_data`: `<User vars>`
* Returns:
* new_settings only
* merged_config
* Docker compose file build
* Desc: Transform docker data with plugin configuration
* `action`: `'docker_transform'`
* `user_data`: `<User vars>`
* `docker_data`: `<Docker Compose data>`
* Returns:
* new_settings only
* merged_config
## Template

View File

@ -1,3 +1,8 @@
### OLD PLUGIN !!!!!!!
# local paasify = import 'paasify.libsonnet';
# Helpers functions
# -------------------------------------
@ -124,9 +129,10 @@ local global_vars_default(runtime) =
app_dir_root: dir_prefix,
app_dir_db_data: dir_prefix + 'db_data', # Backup data
app_dir_db_conf: dir_prefix + 'db_conf', # Commitables files into git
app_dir_cache: dir_prefix + 'cache', # Cache files
app_dir_build: dir_prefix + 'build', # Build dir
app_dir_script: dir_prefix + 'build', # Dir for storing container scripts and helpers
app_dir_script: dir_prefix + 'scripts', # Dir for storing container scripts and helpers
app_dir_conf: dir_prefix + 'conf', # Commitables files into git
app_dir_backup: dir_prefix + 'backup', # Backup directory
app_dir_data: dir_prefix + 'data', # Backup data
@ -138,14 +144,7 @@ local global_vars_default(runtime) =
app_docker_socket: '/var/run/docker.sock',
app_docker_conn: 'unix://var/run/docker.sock',
# TOFIX: Merging data, SHOULD BEIN OVERRIDE !!!
app_admin_login: 'admin',
app_admin_email: 'admin@' + self.app_domain,
app_admin_passwd: 'admin',
app_user_login: 'user',
app_user_email: 'user@' + self.app_domain,
app_user_passwd: 'user',
# Generic networks
net_backup: runtime.paasify_ns + runtime.paasify_sep + 'backup', # For backup network
@ -227,40 +226,41 @@ local docker_transform(conf_raw, docker_data) =
;
# Return result
# -------------------------------------
local main() =
local getConf(name) = std.parseJson(std.extVar(name));
local action = getConf('action');
if action == 'metadata' then
metadata
else if action == 'vars_docker' then
local user_data = getConf('user_data');
local default_data = global_vars_default(user_data);
local common = { [x]: std.get(user_data, std.lstripChars(x, '_'), default_data[x] ) for x in std.objectFields(default_data) };
{
input: user_data,
diff: default_data + common + global_vars_override(default_data + user_data ),
merged: user_data + global_vars_override(default_data + user_data ),
}
else if action == 'docker_transform' then
local user_data = getConf('user_data');
local docker_data = getConf('docker_data');
{
input: user_data,
#diff: docker_transform(user_data + global_vars_override(user_data), docker_data),
diff: docker_transform(user_data, docker_data),
merged: docker_data + self.diff,
};
# Run main script !
main()
# # Return result
# # -------------------------------------
#
#
# local main() =
#
# local getConf(name) = std.parseJson(std.extVar(name));
# local action = getConf('action');
#
# if action == 'metadata' then
# metadata
#
# else if action == 'vars' then
# local user_data = getConf('user_data');
# local default_data = global_vars_default(user_data);
# local common = { [x]: std.get(user_data, std.lstripChars(x, '_'), default_data[x] ) for x in std.objectFields(default_data) };
# {
# input: user_data,
#
# diff: default_data + common + global_vars_override(default_data + user_data ),
# merged: user_data + global_vars_override(default_data + user_data ),
# }
#
# else if action == 'docker_transform' then
# local user_data = getConf('user_data');
# local docker_data = getConf('docker_data');
#
# {
# input: user_data,
#
# #diff: docker_transform(user_data + global_vars_override(user_data), docker_data),
# diff: docker_transform(user_data, docker_data),
# merged: docker_data + self.diff,
# };
#
# # Run main script !
# main()
paasify.main()

View File

@ -77,7 +77,7 @@ local global_vars_override(conf) =
local default_svc_entrypoints = [
std.get(conf, 'traefik_svc_entrypoints'),
"web",
"front-http",
];

View File

@ -4,10 +4,10 @@ services:
image: lscr.io/linuxserver/librespeed:latest
#container_name: librespeed
environment:
#- PUID=1000
#- PGID=1000
#- TZ=America/Toronto
- PASSWORD=PASSWORD
#- PUID=$app_puid
#- PGID=$app_pgid
- TZ=$app_tz
- PASSWORD=$app_admin_passwd
- CUSTOM_RESULTS=false #optional
- DB_TYPE=sqlite #optional
# - DB_NAME=DB_NAME #optional

View File

@ -1,5 +1,18 @@
version: "3.9"
# Official docuemtnation
# https://min.io/docs/minio/container/index.html
# See: https://github.com/minio/minio/blob/master/dockerscripts/docker-entrypoint.sh
# MINIO_USERNAME=minio
# MINIO_GROUPNAME=minio
# MINIO_UID=$app_puid
# MINIO_GID=$app_pgid
#
# Mendatory ?
# MINIO_ACCESS_KEY
# MINIO_SECRET_KEY
networks:
default:
name: ${net_ostorage:-s3}
@ -16,9 +29,13 @@ services:
environment:
- MINIO_ROOT_USER=$app_admin_login
- MINIO_ROOT_PASSWORD=$app_admin_passwd
#- MINIO_DOMAIN=minio.$app_domain
#- MINIO_DOMAIN=http://localhost:9000
#- MINIO_SERVER_URL=http://minio.$app_domain
- MINIO_SERVER_URL=http://minio:9000
- MINIO_BROWSER_REDIRECT_URL=https://minio-console.$app_domain
- MINIO_SERVER_URL=${app_prot}://minio:9000
- MINIO_BROWSER_REDIRECT_URL=${app_prot}://minio-console.$app_domain
#
#- MINIO_ACCESS_KEY=dksflhdskhfkjdshfkdf
#- MINIO_SECRET_KEY=kfsdfksdhfkjsdhfkjdshf

View File

@ -9,7 +9,7 @@ services:
environment:
# Entrypoints
- TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:53/udp
- TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:53/tcp
- TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:53/udp
- TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:53/tcp

View File

@ -1,5 +1,10 @@
---
x-paasify:
conf:
traefik_svc_tls: true
traefik_svc_entrypoints: default-http,default-https
services:
traefik:
ports:
@ -9,10 +14,10 @@ services:
environment:
# Entrypoints
- TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:443 # <== Defining an entrypoint for port :80 named front
- TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:443 # <== Defining an entrypoint for port :80 named default
# Forced Http redirect to https
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_PERMANENT=true
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME=https
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_TO=front-https
- TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_PERMANENT=true
- TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME=https
- TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_TO=default-https

View File

@ -1,6 +1,25 @@
---
version: "3.7"
# Notes:
# Only entrypoints with chars and number are accepted, because:
# - bash does not allow hyphen in their name
# - Traefik does not allow underscore when shell configuration is used
x-paasify:
app:
service: traefik
port: 8080
image: traefik
version: v1.6
cmd: my command
cmd_help:
cmd_shell:
cmd_status:
conf:
traefik_svc_tls: false
traefik_svc_entrypoints: default-http
services:
traefik:
image: ${app_image}
@ -41,7 +60,8 @@ services:
#- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs
# Entrypoints
- TRAEFIK_ENTRYPOINTS_front-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named front
- TRAEFIK_ENTRYPOINTS_default-http=True
- TRAEFIK_ENTRYPOINTS_default-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named default
labels:
- traefik.group=$app_network_name