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);
|
||||
|
||||
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,
|
||||
|
||||
@ -119,15 +121,22 @@ local global_vars_default(runtime) =
|
||||
|
||||
app_debug: 'false',
|
||||
|
||||
app_dir_root: './',
|
||||
app_dir_db_data: './db_data', # Backup data
|
||||
app_dir_db_conf: './db_conf', # Commitables files into git
|
||||
app_dir_conf: './conf', # Commitables files into git
|
||||
app_dir_data: './data', # Backup data
|
||||
app_dir_logs: './logs', # Backup ?
|
||||
app_dir_share: './share', # No backup
|
||||
app_dir_tmp: './tmp', # Just a tmp pool dir
|
||||
app_dir_secrets: './secrets', # Autogenerated secrets
|
||||
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_conf: dir_prefix + 'conf', # Commitables files into git
|
||||
app_dir_backup: dir_prefix + 'backup', # Backup directory
|
||||
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 !!!
|
||||
app_admin_login: 'admin',
|
||||
@ -139,6 +148,9 @@ local global_vars_default(runtime) =
|
||||
app_user_passwd: 'user',
|
||||
|
||||
# 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_proxy: runtime.paasify_ns + runtime.paasify_sep + 'proxy',
|
||||
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
|
||||
- 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:
|
||||
|
||||
Some other external resources gathered from the web
|
||||
|
||||
#### Large Collections
|
||||
|
||||
- https://docs.linuxserver.io/general/awesome-lsio
|
||||
- https://github.com/shawly/docker-templates Homelab tools
|
||||
- https://github.com/Stacrypt/cryptodaemon Crypto deamons
|
||||
- https://github.com/dabealu/docker Devops tools
|
||||
|
||||
@ -12,7 +12,7 @@ services:
|
||||
- "--config=/config/configuration.${APP_AUTHELIA_BACKEND:-ldap}.yml"
|
||||
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- ./conf:/config
|
||||
#networks:
|
||||
# - default
|
||||
labels:
|
||||
|
||||
@ -17,13 +17,24 @@ services:
|
||||
image: mariadb:10
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- $app_dir_db_data:/var/lib/mysql
|
||||
- db_data:/var/lib/mysql
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: "${mysql_root_passwd:-gitea}"
|
||||
MYSQL_DATABASE: "${mysql_user_db:-gitea}"
|
||||
MYSQL_USER: "${mysql_user_login:-gitea}"
|
||||
MYSQL_PASSWORD: "${mysql_user_passwd:-gitea}"
|
||||
|
||||
labels:
|
||||
restic-compose-backup.mysql: 'true'
|
||||
|
||||
networks:
|
||||
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:
|
||||
default:
|
||||
@ -16,16 +16,119 @@ services:
|
||||
- GITEA__server__DOMAIN=$app_fqdn
|
||||
- GITEA__server__SSH_DOMAIN=$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:
|
||||
default:
|
||||
volumes:
|
||||
- $app_dir_data:/data:rw
|
||||
#- $app_dir_data/repos:/data/git:rw
|
||||
#- $app_dir_data/var:/data/gitea:rw
|
||||
#- $app_dir_data/ssh:/data/ssh:rw
|
||||
# V2 Multi
|
||||
- data_var:/data/gitea:rw
|
||||
- data_repos:/data/git:rw
|
||||
- data_ssh:/data/ssh:rw
|
||||
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
volumes:
|
||||
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