Fix: many small bugs, update gitea to use volumes
This commit is contained in:
parent
07703c9ec8
commit
30ddd419a3
@ -79,6 +79,8 @@ local global_vars_default(runtime) =
|
|||||||
assert std.isString(runtime.paasify_stack);
|
assert std.isString(runtime.paasify_stack);
|
||||||
|
|
||||||
local app_ident = runtime.paasify_ns + runtime.paasify_sep + runtime.paasify_stack;
|
local app_ident = runtime.paasify_ns + runtime.paasify_sep + runtime.paasify_stack;
|
||||||
|
#local dir_prefix = './';
|
||||||
|
local dir_prefix = runtime.paasify_stack_dir + '/';
|
||||||
{
|
{
|
||||||
app_ident: app_ident,
|
app_ident: app_ident,
|
||||||
|
|
||||||
@ -119,15 +121,22 @@ local global_vars_default(runtime) =
|
|||||||
|
|
||||||
app_debug: 'false',
|
app_debug: 'false',
|
||||||
|
|
||||||
app_dir_root: './',
|
app_dir_root: dir_prefix,
|
||||||
app_dir_db_data: './db_data', # Backup data
|
app_dir_db_data: dir_prefix + 'db_data', # Backup data
|
||||||
app_dir_db_conf: './db_conf', # Commitables files into git
|
app_dir_db_conf: dir_prefix + 'db_conf', # Commitables files into git
|
||||||
app_dir_conf: './conf', # Commitables files into git
|
app_dir_cache: dir_prefix + 'cache', # Cache files
|
||||||
app_dir_data: './data', # Backup data
|
app_dir_build: dir_prefix + 'build', # Build dir
|
||||||
app_dir_logs: './logs', # Backup ?
|
app_dir_script: dir_prefix + 'build', # Dir for storing container scripts and helpers
|
||||||
app_dir_share: './share', # No backup
|
app_dir_conf: dir_prefix + 'conf', # Commitables files into git
|
||||||
app_dir_tmp: './tmp', # Just a tmp pool dir
|
app_dir_backup: dir_prefix + 'backup', # Backup directory
|
||||||
app_dir_secrets: './secrets', # Autogenerated secrets
|
app_dir_data: dir_prefix + 'data', # Backup data
|
||||||
|
app_dir_logs: dir_prefix + 'logs', # Backup ?
|
||||||
|
app_dir_share: dir_prefix + 'share', # No backup, data for apps
|
||||||
|
app_dir_tmp: dir_prefix + 'tmp', # Just a tmp pool dir
|
||||||
|
app_dir_secrets: dir_prefix + 'secrets', # Autogenerated secrets
|
||||||
|
|
||||||
|
app_docker_socket: '/var/run/docker.sock',
|
||||||
|
app_docker_conn: 'unix://var/run/docker.sock',
|
||||||
|
|
||||||
# TOFIX: Merging data, SHOULD BEIN OVERRIDE !!!
|
# TOFIX: Merging data, SHOULD BEIN OVERRIDE !!!
|
||||||
app_admin_login: 'admin',
|
app_admin_login: 'admin',
|
||||||
@ -139,6 +148,9 @@ local global_vars_default(runtime) =
|
|||||||
app_user_passwd: 'user',
|
app_user_passwd: 'user',
|
||||||
|
|
||||||
# Generic networks
|
# Generic networks
|
||||||
|
net_backup: runtime.paasify_ns + runtime.paasify_sep + 'backup', # For backup network
|
||||||
|
net_docker: runtime.paasify_ns + runtime.paasify_sep + 'docker', # For docker socket access
|
||||||
|
net_mail: runtime.paasify_ns + runtime.paasify_sep + 'mail',
|
||||||
net_vpn: runtime.paasify_ns + runtime.paasify_sep + 'vpn',
|
net_vpn: runtime.paasify_ns + runtime.paasify_sep + 'vpn',
|
||||||
net_proxy: runtime.paasify_ns + runtime.paasify_sep + 'proxy',
|
net_proxy: runtime.paasify_ns + runtime.paasify_sep + 'proxy',
|
||||||
net_ldap: runtime.paasify_ns + runtime.paasify_sep + 'ldap',
|
net_ldap: runtime.paasify_ns + runtime.paasify_sep + 'ldap',
|
||||||
|
|||||||
35
README.md
35
README.md
@ -12,12 +12,47 @@ Paasify:
|
|||||||
- v1: https://git.jeznet.org/mrjk-lab/paasify
|
- v1: https://git.jeznet.org/mrjk-lab/paasify
|
||||||
- v2: WIP
|
- v2: WIP
|
||||||
|
|
||||||
|
## To implement
|
||||||
|
|
||||||
|
### Infra
|
||||||
|
https://netboot.xyz/docs
|
||||||
|
https://www.domoticz.com/ OR HomeAssistant !
|
||||||
|
ddclient
|
||||||
|
duckdns
|
||||||
|
smokeping
|
||||||
|
syslog-ng
|
||||||
|
https://raneto.com/
|
||||||
|
|
||||||
|
https://github.com/linuxserver/docker-healthchecks/
|
||||||
|
|
||||||
|
### Other
|
||||||
|
Muximux
|
||||||
|
|
||||||
|
deluge/transmission
|
||||||
|
snapdrop
|
||||||
|
emulatorjs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### Side cars
|
||||||
|
side-mysql
|
||||||
|
side-prometheus
|
||||||
|
side-pgsql
|
||||||
|
side-wireshark
|
||||||
|
side-docker-sock (connectiva)
|
||||||
|
side-code-server # vscode online
|
||||||
|
https://github.com/linuxserver/docker-sqlitebrowser/
|
||||||
|
https://github.com/linuxserver/docker-doublecommander/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Resources:
|
## Resources:
|
||||||
|
|
||||||
Some other external resources gathered from the web
|
Some other external resources gathered from the web
|
||||||
|
|
||||||
#### Large Collections
|
#### Large Collections
|
||||||
|
|
||||||
|
- https://docs.linuxserver.io/general/awesome-lsio
|
||||||
- https://github.com/shawly/docker-templates Homelab tools
|
- https://github.com/shawly/docker-templates Homelab tools
|
||||||
- https://github.com/Stacrypt/cryptodaemon Crypto deamons
|
- https://github.com/Stacrypt/cryptodaemon Crypto deamons
|
||||||
- https://github.com/dabealu/docker Devops tools
|
- https://github.com/dabealu/docker Devops tools
|
||||||
|
|||||||
@ -12,7 +12,7 @@ services:
|
|||||||
- "--config=/config/configuration.${APP_AUTHELIA_BACKEND:-ldap}.yml"
|
- "--config=/config/configuration.${APP_AUTHELIA_BACKEND:-ldap}.yml"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./config:/config
|
- ./conf:/config
|
||||||
#networks:
|
#networks:
|
||||||
# - default
|
# - default
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@ -17,13 +17,24 @@ services:
|
|||||||
image: mariadb:10
|
image: mariadb:10
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- $app_dir_db_data:/var/lib/mysql
|
- db_data:/var/lib/mysql
|
||||||
environment:
|
environment:
|
||||||
MYSQL_ROOT_PASSWORD: "${mysql_root_passwd:-gitea}"
|
MYSQL_ROOT_PASSWORD: "${mysql_root_passwd:-gitea}"
|
||||||
MYSQL_DATABASE: "${mysql_user_db:-gitea}"
|
MYSQL_DATABASE: "${mysql_user_db:-gitea}"
|
||||||
MYSQL_USER: "${mysql_user_login:-gitea}"
|
MYSQL_USER: "${mysql_user_login:-gitea}"
|
||||||
MYSQL_PASSWORD: "${mysql_user_passwd:-gitea}"
|
MYSQL_PASSWORD: "${mysql_user_passwd:-gitea}"
|
||||||
|
|
||||||
|
labels:
|
||||||
|
restic-compose-backup.mysql: 'true'
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
db:
|
db:
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db_data:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: $app_dir_db_data
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
version: '3.6'
|
version: '3.9'
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
@ -16,16 +16,119 @@ services:
|
|||||||
- GITEA__server__DOMAIN=$app_fqdn
|
- GITEA__server__DOMAIN=$app_fqdn
|
||||||
- GITEA__server__SSH_DOMAIN=$app_fqdn
|
- GITEA__server__SSH_DOMAIN=$app_fqdn
|
||||||
- GITEA__server__ROOT_URL=https://$app_fqdn
|
- GITEA__server__ROOT_URL=https://$app_fqdn
|
||||||
|
labels:
|
||||||
|
restic-compose-backup.volumes: true
|
||||||
|
restic-compose-backup.volumes.include: "data_repos,data_ssh,data_var"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
volumes:
|
volumes:
|
||||||
- $app_dir_data:/data:rw
|
# V2 Multi
|
||||||
#- $app_dir_data/repos:/data/git:rw
|
- data_var:/data/gitea:rw
|
||||||
#- $app_dir_data/var:/data/gitea:rw
|
- data_repos:/data/git:rw
|
||||||
#- $app_dir_data/ssh:/data/ssh:rw
|
- data_ssh:/data/ssh:rw
|
||||||
|
|
||||||
- /etc/timezone:/etc/timezone:ro
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
data_repos:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: $app_dir_data/git
|
||||||
|
data_ssh:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: $app_dir_data/ssh
|
||||||
|
data_var:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: none
|
||||||
|
o: bind
|
||||||
|
device: $app_dir_data/gitea
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# V1 mono
|
||||||
|
#- data_gitea:/data/gitea
|
||||||
|
#- type: volume
|
||||||
|
# source: data_gitea
|
||||||
|
# target: /data/gitea
|
||||||
|
# #bind:
|
||||||
|
# # create_host_path: true
|
||||||
|
|
||||||
|
#- type: volume
|
||||||
|
# source: data_var
|
||||||
|
# target: /data/gitea
|
||||||
|
#- type: volume
|
||||||
|
# source: data_repos
|
||||||
|
# target: /data/git
|
||||||
|
#- type: volume
|
||||||
|
# source: data_ssh
|
||||||
|
# target: /data/ssh
|
||||||
|
|
||||||
|
#- /etc/timezone:/etc/timezone:ro
|
||||||
|
#- /etc/localtime:/etc/localtime:ro
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Example: https://stackoverflow.com/questions/49950326/how-to-create-docker-volume-device-host-path
|
||||||
|
# https://docs.docker.com/compose/compose-file/#volumes
|
||||||
|
#
|
||||||
|
#volumes:
|
||||||
|
# data_repos:
|
||||||
|
# data_ssh:
|
||||||
|
# data_var:
|
||||||
|
|
||||||
|
#data_gitea:
|
||||||
|
# driver: local
|
||||||
|
# driver_opts:
|
||||||
|
# type: none
|
||||||
|
# o: bind
|
||||||
|
# device: $app_dir_data/data_gitea
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Pre build cmd: All direcotries must exists for local volumes
|
||||||
|
# yq -r '.volumes | keys[] as $key| "mkdir -p " + .[$key].driver_opts.device ' docker-compose.run.yml
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# mkdir -p /home/jez/volumes/data/prj/mrjk/POC/paasify3/examples/ex2/gitea/data/data_gitea
|
||||||
|
# yq -r '.volumes | keys[] as $key| "docker volume create -d " + .[$key].driver + " -o type=" + .[$key].driver_opts.o + " -o device=" + .[$key].driver_opts.device + " devbox_gitea_" + $key ' docker-compose.run.yml
|
||||||
|
# => docker volume create -d local -o type=bind -o device=./data/var devbox_gitea_data_gitea
|
||||||
|
|
||||||
|
|
||||||
|
# Broken
|
||||||
|
# yq -r '.volumes | keys[] as $key| "docker volume create -d " + .[$key].driver + " -o type=" + .[$key].driver_opts.o + " -o device=" + .[$key].driver_opts.device + " " + $key ' docker-compose.run.yml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Volume prior init:
|
||||||
|
# for x in $(yq -r '.volumes[] | if .driver == "local" then .driver_opts.device else "titi" end' docker-compose.run.yml ); do mkdir -p "$x" ; done
|
||||||
|
# PREFIX=devbox_gitea for x in $(yq -r '.volumes[] | if .driver == "local" then .driver_opts.device else "titi" end' docker-compose.run.yml ); do mkdir -p "$x" ; done
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# --mount 'type=volume,src=<VOLUME-NAME>,dst=<CONTAINER-PATH>,volume-driver=local,volume-opt=type=nfs,volume-opt=device=<nfs-server>:<nfs-path>,"volume-opt=o=addr=<nfs-address>,vers=4,soft,timeo=180,bg,tcp,rw"'
|
||||||
|
#
|
||||||
|
# docker volume create -d local -o type=bind -o "device=$x" my-vol
|
||||||
|
# docker volume create -d local -o type=bind -o "device=$x" my-vol
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user