builds custom environment file from a cfg file and uses docker env-file option to use in yaml template file
which uses make-env-file script that sets defaults against the cfg settings.master
commit
62b24b6713
|
@ -0,0 +1 @@
|
||||||
|
*.env
|
|
@ -0,0 +1,19 @@
|
||||||
|
version: "2.1"
|
||||||
|
services:
|
||||||
|
code-server:
|
||||||
|
image: ghcr.io/linuxserver/code-server
|
||||||
|
container_name: ${Name}
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- TZ=${TZ}
|
||||||
|
- PASSWORD=${Password}
|
||||||
|
# in container files directory
|
||||||
|
# - USER_DATA_DIR=/config/workspace
|
||||||
|
volumes:
|
||||||
|
- ${Config}:/config
|
||||||
|
- ${Files}:/config/workspace
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- ${Port}:8443
|
||||||
|
restart: unless-stopped
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Name=containername
|
||||||
|
# USER=jim
|
||||||
|
# TZ=America/Los_Angles
|
||||||
|
# Password=jimshoe
|
||||||
|
Parent_Folder=/mnt/data
|
||||||
|
Files=/mnt/data/test-files
|
||||||
|
Port=4321 # should be changed to avoid conflict with other containers
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
is_p_int() { [ "$1" ] && [ -z "${1//[0-9]}" ] ;}
|
||||||
|
|
||||||
|
declare -A settings
|
||||||
|
|
||||||
|
[[ ! $(getent group docker) ]] && echo no docker group on machine, exiting && exit
|
||||||
|
[[ ! $1 ]] && echo "no editor set, usage make <editor>" && exit
|
||||||
|
SDIR=$(cd $(dirname $(readlink -f "$0")) >/dev/null 2>&1 ; pwd -P)
|
||||||
|
ENV_FILE=$SDIR/editors/${1}.cfg
|
||||||
|
# source any environment for particular site
|
||||||
|
# shopt -s extglob
|
||||||
|
# ENV_FILE=$(ls ${FILE}* 2> /dev/null | grep -v '.off$\|.example$\|.tmpl$\|.template$')
|
||||||
|
[[ -f $ENV_FILE ]] && source $ENV_FILE || echo WARNING no settings file $ENV_FILE, using defaults
|
||||||
|
PUID=$(id -u $USER 2> /dev/null)
|
||||||
|
[[ ! $PUID ]] && echo no user $USER, exiting && exit
|
||||||
|
[[ ! $(getent group docker | grep ${USER}) ]] && echo $USER not in docker group, exiting && exit
|
||||||
|
__ce_PUID=${PUID:-$([[ ! $(is_p_int PUID) ]] && echo $(id -u ))}
|
||||||
|
__ce_PGID=${PGID:-$(getent group docker | cut -d: -f3)}
|
||||||
|
ename=$(basename "${1%.*}")
|
||||||
|
__ce_Name=${Name:-$ename-files-editor}
|
||||||
|
__ce_TZ=${TZ:-"America/Los_Angeles"}
|
||||||
|
__ce_Password=${Password:-password}
|
||||||
|
Parent_Folder=${Parent_Folder:-${HOME}/.local/share/code-edit}
|
||||||
|
__ce_Files=${Files:-${Parent_Folder}/$ename/files}
|
||||||
|
mkdir -p ${__ce_Files}
|
||||||
|
__ce_Config=${Config:-${Parent_Folder}/$ename/config}
|
||||||
|
mkdir -p ${__ce_Config}
|
||||||
|
__ce_Port=${Port:-8443}
|
||||||
|
|
||||||
|
echo "$( set -o posix ; set | grep __ce_ | sed 's/__ce_//')" > $SDIR/editors/docker.$ename.env
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
[[ ! $1 ]] && echo "no editor set, usage restart <editor>" && exit
|
||||||
|
SDIR=$(cd $(dirname $(readlink -f "$0")) >/dev/null 2>&1 ; pwd -P)
|
||||||
|
source $SDIR/stop $1
|
||||||
|
source $SDIR/start $1
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
[[ ! $1 ]] && echo "no editor set, usage start <editor>" && exit
|
||||||
|
SDIR=$(cd $(dirname $(readlink -f "$0")) >/dev/null 2>&1 ; pwd -P)
|
||||||
|
env_file=$SDIR/editors/docker.${1}.env
|
||||||
|
[[ ! -f $env_file ]] && $($SDIR/make-env-file $1)
|
||||||
|
docker-compose --env-file $SDIR/editors/docker.${1}.env up -d
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
[[ ! $1 ]] && echo "no editor set, usage start <editor>" && exit
|
||||||
|
SDIR=$(cd $(dirname $(readlink -f "$0")) >/dev/null 2>&1 ; pwd -P)
|
||||||
|
env_file=$SDIR/editors/docker.${1}.env
|
||||||
|
[[ ! -f $env_file ]] && $($SDIR/make-env-file $1)
|
||||||
|
docker-compose --env-file $SDIR/editors/docker.${1}.env down
|
Loading…
Reference in New Issue