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 # Helpers functions
# ------------------------------------- # -------------------------------------
@ -124,9 +129,10 @@ local global_vars_default(runtime) =
app_dir_root: dir_prefix, app_dir_root: dir_prefix,
app_dir_db_data: dir_prefix + 'db_data', # Backup data app_dir_db_data: dir_prefix + 'db_data', # Backup data
app_dir_db_conf: dir_prefix + 'db_conf', # Commitables files into git app_dir_db_conf: dir_prefix + 'db_conf', # Commitables files into git
app_dir_cache: dir_prefix + 'cache', # Cache files app_dir_cache: dir_prefix + 'cache', # Cache files
app_dir_build: dir_prefix + 'build', # Build dir 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_conf: dir_prefix + 'conf', # Commitables files into git
app_dir_backup: dir_prefix + 'backup', # Backup directory app_dir_backup: dir_prefix + 'backup', # Backup directory
app_dir_data: dir_prefix + 'data', # Backup data 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_socket: '/var/run/docker.sock',
app_docker_conn: 'unix://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 # Generic networks
net_backup: runtime.paasify_ns + runtime.paasify_sep + 'backup', # For backup network 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 # # Return result
# ------------------------------------- # # -------------------------------------
#
#
local main() = # local main() =
#
local getConf(name) = std.parseJson(std.extVar(name)); # local getConf(name) = std.parseJson(std.extVar(name));
local action = getConf('action'); # local action = getConf('action');
#
if action == 'metadata' then # if action == 'metadata' then
metadata # metadata
#
else if action == 'vars_docker' then # else if action == 'vars' then
local user_data = getConf('user_data'); # local user_data = getConf('user_data');
local default_data = global_vars_default(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) }; # local common = { [x]: std.get(user_data, std.lstripChars(x, '_'), default_data[x] ) for x in std.objectFields(default_data) };
{ # {
input: user_data, # input: user_data,
#
diff: default_data + common + global_vars_override(default_data + user_data ), # diff: default_data + common + global_vars_override(default_data + user_data ),
merged: user_data + global_vars_override(default_data + user_data ), # merged: user_data + global_vars_override(default_data + user_data ),
} # }
#
else if action == 'docker_transform' then # else if action == 'docker_transform' then
local user_data = getConf('user_data'); # local user_data = getConf('user_data');
local docker_data = getConf('docker_data'); # local docker_data = getConf('docker_data');
#
{ # {
input: user_data, # input: user_data,
#
#diff: docker_transform(user_data + global_vars_override(user_data), docker_data), # #diff: docker_transform(user_data + global_vars_override(user_data), docker_data),
diff: docker_transform(user_data, docker_data), # diff: docker_transform(user_data, docker_data),
merged: docker_data + self.diff, # merged: docker_data + self.diff,
}; # };
#
# Run main script ! # # Run main script !
main() # main()
paasify.main()

View File

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

View File

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

View File

@ -1,5 +1,18 @@
version: "3.9" 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: networks:
default: default:
name: ${net_ostorage:-s3} name: ${net_ostorage:-s3}
@ -11,14 +24,18 @@ services:
command: server --console-address ":9001" /data command: server --console-address ":9001" /data
restart: always restart: always
volumes: volumes:
- ./data:/data - ./data:/data
- ./config:/root/.minio - ./config:/root/.minio
environment: environment:
- MINIO_ROOT_USER=$app_admin_login - MINIO_ROOT_USER=$app_admin_login
- MINIO_ROOT_PASSWORD=$app_admin_passwd - MINIO_ROOT_PASSWORD=$app_admin_passwd
#- MINIO_DOMAIN=minio.$app_domain
#- MINIO_DOMAIN=http://localhost:9000 #- MINIO_DOMAIN=minio.$app_domain
#- MINIO_SERVER_URL=http://minio.$app_domain #- MINIO_DOMAIN=http://localhost:9000
- MINIO_SERVER_URL=http://minio:9000 #- MINIO_SERVER_URL=http://minio.$app_domain
- 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: environment:
# Entrypoints # Entrypoints
- TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:53/udp - TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:53/udp
- TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:53/tcp - 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: services:
traefik: traefik:
ports: ports:
@ -9,10 +14,10 @@ services:
environment: environment:
# Entrypoints # 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 # Forced Http redirect to https
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_PERMANENT=true - TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_PERMANENT=true
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME=https - TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME=https
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_TO=front-https - TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_TO=default-https

View File

@ -1,6 +1,25 @@
--- ---
version: "3.7" 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: services:
traefik: traefik:
image: ${app_image} image: ${app_image}
@ -41,7 +60,8 @@ services:
#- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs #- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs
# Entrypoints # 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: labels:
- traefik.group=$app_network_name - traefik.group=$app_network_name