Compare commits

...

27 Commits

Author SHA1 Message Date
a85cd7e1a2 added docker image containing go 1.25.0 2025-08-19 20:41:45 +09:00
e8324f261f updated go to 1.24.5 2025-07-23 12:09:00 +09:00
659e4e9b4a updated Dockerfile.dev-gcc-rocky9 2025-04-14 16:37:19 +09:00
e5230066c1 added a docker file for go 1.24.2 2025-04-14 16:10:47 +09:00
9dc83f4072 added Dockerfile to install go1.23.1 2024-09-30 17:59:10 +09:00
b36b9bf5a0 updated go docker images 2024-07-01 09:21:46 +09:00
d74db62bc2 updated omv-svc01.yml 2024-03-07 14:12:25 +09:00
512b821232 created the go122.rocky9 image 2024-02-19 17:33:33 +09:00
59020ca444 added docker files for rocky9 dev images 2024-01-04 10:42:39 +09:00
67aceb134b added docker-images/Dockerfile.dev-gcc-centos6 2023-12-30 01:02:17 +09:00
9e227e7254 added retro-icc.md 2023-11-21 12:39:40 +09:00
7f58486a01 changed the docsify's routerMode to history. it used the default 'hash' earlier 2023-11-11 17:50:13 +09:00
c21f86a69f fixed Dockerfile.dev-go-centos7 2023-10-20 23:51:47 +09:00
1d2d7f96cd updated some dockerfiles 2023-10-20 23:44:41 +09:00
b477d12b38 updated vitess.md 2023-10-18 16:52:57 +09:00
1ded7684cc changed the web doc upload command 2023-10-17 22:11:31 +09:00
574987ff28 updated glusterfs.md 2023-10-14 21:28:52 +09:00
b18d4ca440 updated files with kroki and mermaid plugins 2023-10-14 21:10:41 +09:00
7ca3ca34d1 added openssl.md 2023-10-14 19:52:55 +09:00
45edd344b8 updated some document files 2023-10-14 19:37:24 +09:00
3c24395d57 updated omv-svc01.yml 2023-10-14 18:50:37 +09:00
cc77163ce5 updated omv-svc01.yml 2023-10-08 22:56:58 +09:00
5ebca4b835 updated omv-svc01.yml with gitea to codepot redirection rule change 2023-10-08 21:51:19 +09:00
17ddcf4373 added omv-svc01.yml 2023-10-08 21:47:40 +09:00
173c41e40c updated gitea and trafik to newer versions 2023-10-01 12:55:57 +09:00
1424c21afc added gm2-fedora38 Dockerfile 2023-09-08 12:45:58 +09:00
2fed03f7fb added docker files for go development images 2023-09-08 11:12:57 +09:00
24 changed files with 751 additions and 30 deletions

View File

@ -0,0 +1,11 @@
## centos6 image to use for building hawk
FROM docker.io/centos:6
COPY vault-centos6.repo /etc/yum.repos.d/CentOS-Base.repo
RUN groupadd -g 1000 rockstar && useradd -u 1000 -g 1000 -m rockstar && groupmems -g wheel -a rockstar
RUN ulimit -n 1024 && yum -y install mysql-devel libffi-devel rpm-build gcc gcc-c++ sudo readline-devel ncurses-devel
RUN echo -e '%wheel ALL=(ALL) NOPASSWD: ALL\nrockstar ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/99-wheel

View File

@ -0,0 +1,6 @@
## rocky linux 9 image to use for building hawk
## corosynclib-devel for antcmx
FROM docker.io/rockylinux:9
RUN ulimit -n 1024 && dnf -y install --enablerepo=devel mysql-devel libffi-devel rpm-build systemd-rpm-macros gcc gcc-c++
RUN ulimit -n 1024 && dnf -y install --enablerepo=highavailability corosynclib-devel

View File

@ -0,0 +1,5 @@
FROM fedora:38
RUN ulimit -n 1024 && dnf -y install make gcc-gm2 libgm2-static glibc-static libstdc++-static
##RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh

View File

@ -0,0 +1,5 @@
FROM centos:centos7.9.2009
RUN ulimit -n 1024 && yum -y install wget curl make gcc rpm-build git libpcap-devel && cd /opt && wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz && tar -zxvf go1.20.6.linux-amd64.tar.gz && rm -f go1.20.6.linux-amd64.tar.gz
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh

View File

@ -0,0 +1,4 @@
## rocky linux 9 image to use for building hawk
FROM docker.io/hyunghwan/dev:gcc.rocky9
RUN ulimit -n 1024 && dnf -y install --enablerepo=devel golang git

View File

@ -0,0 +1,3 @@
FROM docker.io/hyunghwan/dev:gcc.rocky9
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz && tar -C /opt -zxvf go1.20.6.linux-amd64.tar.gz && rm -f go1.20.6.linux-amd64.tar.gz
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh

View File

@ -0,0 +1,3 @@
FROM docker.io/hyunghwan/dev:gcc.rocky9
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz && tar -C /opt -zxvf go1.22.4.linux-amd64.tar.gz && rm -f go1.22.4.linux-amd64.tar.gz
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh

View File

@ -0,0 +1,5 @@
FROM hyunghwan/dev:go1.20.6.centos7
RUN ulimit -n 1024 && cd /opt && rm -rf go && wget https://go.dev/dl/go1.23.1.linux-amd64.tar.gz && tar -zxvf go1.23.1.linux-amd64.tar.gz && rm -f go1.23.1.linux-amd64.tar.gz
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh

View File

@ -0,0 +1,3 @@
FROM docker.io/hyunghwan/dev:gcc.rocky9
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.23.1.linux-amd64.tar.gz && tar -C /opt -zxvf go1.23.1.linux-amd64.tar.gz && rm -f go1.23.1.linux-amd64.tar.gz
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh

View File

@ -0,0 +1,3 @@
FROM docker.io/hyunghwan/dev:gcc.rocky9
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.24.5.linux-amd64.tar.gz && tar -C /opt -zxvf go1.24.5.linux-amd64.tar.gz && rm -f go1.24.5.linux-amd64.tar.gz
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh

View File

@ -0,0 +1,3 @@
FROM docker.io/hyunghwan/dev:gcc.rocky9
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.25.0.linux-amd64.tar.gz && tar -C /opt -zxvf go1.25.0.linux-amd64.tar.gz && rm -f go1.25.0.linux-amd64.tar.gz
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh

View File

@ -1,5 +0,0 @@
FROM centos:centos7.9.2009
RUN ulimit -n 1024 && yum -y install wget make gcc && cd /opt && wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz && tar -zxvf go1.20.6.linux-amd64.tar.gz && rm -f go1.20.6.linux-amd64.tar.gz
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh

View File

@ -1,8 +1,77 @@
go-centos7: build: dev-go-centos7
docker build -t go:centos7 -f Dockerfile.$@ .
publish-go-centos7: publish: publish-dev-go-centos7
docker tag go:centos7 docker.io/hyunghwan/go:centos7
docker push docker.io/hyunghwan/go:centos7
dev-go-centos7:
docker build -t dev:go1.20.6.centos7 -f Dockerfile.$@ .
publish-dev-go-centos7:
docker tag dev:go1.20.6.centos7 docker.io/hyunghwan/dev:go1.20.6.centos7
docker push docker.io/hyunghwan/dev:go1.20.6.centos7
dev-go-centos7-big:
docker build -t dev:go1.20.6.centos7.big -f Dockerfile.$@ .
publish-dev-go-centos7-big:
docker tag dev:go1.20.6.centos7.big docker.io/hyunghwan/dev:go1.20.6.centos7.big
docker push docker.io/hyunghwan/dev:go1.20.6.centos7.big
dev-gm2-fedora38:
docker build -t dev:gm2.fedora38 -f Dockerfile.$@ .
publish-dev-gm2-fedora38:
docker tag dev:gm2.fedora38 docker.io/hyunghwan/dev:gm2.fedora38
docker push docker.io/hyunghwan/dev:gm2.fedora38
dev-gcc-rocky9:
docker build -t dev:gcc.rocky9 -f Dockerfile.$@ .
publish-dev-gcc-rocky9:
docker tag dev:gcc.rocky9 docker.io/hyunghwan/dev:gcc.rocky9
docker push docker.io/hyunghwan/dev:gcc.rocky9
dev-go-rocky9:
docker build -t dev:go.rocky9 -f Dockerfile.$@ .
publish-dev-go-rocky9:
docker tag dev:go.rocky9 docker.io/hyunghwan/dev:go.rocky9
docker push docker.io/hyunghwan/dev:go.rocky9
dev-go120-rocky9:
docker build -t dev:go1.20.6.rocky9 -f Dockerfile.$@ .
publish-dev-go120-rocky9:
docker tag dev:go1.20.6.rocky9 docker.io/hyunghwan/dev:go1.20.6.rocky9
docker push docker.io/hyunghwan/dev:go1.20.6.rocky9
dev-go122-rocky9:
docker build -t dev:go1.22.0.rocky9 -f Dockerfile.$@ .
publish-dev-go122-rocky9:
docker tag dev:go1.22.0.rocky9 docker.io/hyunghwan/dev:go1.22.0.rocky9
docker push docker.io/hyunghwan/dev:go1.22.0.rocky9
dev-go123-rocky9:
docker build -t dev:go1.23.1.rocky9 -f Dockerfile.$@ .
publish-dev-go123-rocky9:
docker tag dev:go1.23.1.rocky9 docker.io/hyunghwan/dev:go1.23.1.rocky9
docker push docker.io/hyunghwan/dev:go1.23.1.rocky9
dev-go124-rocky9:
docker build -t dev:go1.24.5.rocky9 -f Dockerfile.$@ .
publish-dev-go124-rocky9:
docker tag dev:go1.24.5.rocky9 docker.io/hyunghwan/dev:go1.24.5.rocky9
docker push docker.io/hyunghwan/dev:go1.24.5.rocky9
dev-go125-rocky9:
docker build -t dev:go1.25.0.rocky9 -f Dockerfile.$@ .
publish-dev-go125-rocky9:
docker tag dev:go1.25.0.rocky9 docker.io/hyunghwan/dev:go1.25.0.rocky9
docker push docker.io/hyunghwan/dev:go1.25.0.rocky9
dev-gcc-centos6:
docker build -t dev:gcc.centos6 -f Dockerfile.$@ .

View File

@ -0,0 +1,19 @@
[base]
name=CentOS-$releasever - Base
baseurl=http://vault.centos.org/$releasever.10/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://vault.centos.org/$releasever.10/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://vault.centos.org/$releasever.10/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

View File

@ -11,7 +11,7 @@ networks:
services: services:
gitea-service: gitea-service:
image: gitea/gitea:1.20.1 image: gitea/gitea:1.20.4
hostname: gitea-service-host hostname: gitea-service-host
tty: true tty: true
environment: environment:

309
docker-stack/omv-svc01.yml Normal file
View File

@ -0,0 +1,309 @@
version: "3.8"
volumes:
traefik-data-volume:
web-data-volume:
gitea-data-volume:
codepot-data-volume:
drone-data-volume:
networks:
traefik-network:
external: false
services:
traefik-service:
image: docker.io/traefik:2.11.0
hostname: traefik-service-host
tty: true
volumes:
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock
# if /etc/traefik direcotry exists, traefik looks for /etc/traefik/traefik.toml
# use a different directory(/config) to avoid problems for the lack of traefik.toml
- type: volume
source: traefik-data-volume
target: /config
ports:
#- target: 80
# published: 80
# protocol: tcp
# mode: host
- target: 443
published: 443
protocol: tcp
mode: host
- target: 3306
published: 3306
protocol: tcp
mode: host
- target: 4444
published: 4444
protocol: tcp
mode: host
networks:
- traefik-network
#- host-network
deploy:
mode: global
resources:
limits:
memory: 1GB
restart_policy:
condition: on-failure
command:
- --log.level=INFO
- --accesslog
#- --accesslog.filepath=/config/logs/access.log
- --accesslog.format=common
- --accesslog.fields.defaultmode=keep
- --accesslog.fields.headers.defaultmode=keep
- --accesslog.fields.headers.names.X-Forwarded-For=keep
- --accesslog.fields.headers.names.RequestHost=keep
- --api.dashboard=true
- --api.insecure=true
- --ping=true
- --entrypoints.traefik.address=:4444
- --entrypoints.web.address=:80
- --entrypoints.websec.address=:443
- --entrypoints.mariadb.address=:3306
- --providers.docker=true
- --providers.docker.swarmmode=false
- --providers.docker.exposedbydefault=false
- --providers.docker.network=traefik-network
- --providers.docker.watch=true
- --providers.file.filename=/config/traefik-cert.yml
- --providers.file.watch=true
- --metrics.prometheus=true
web-service:
image: docker.io/hyunghwan/hio:webs
hostname: web-service-host
networks:
- traefik-network
volumes:
- type: volume
source: web-data-volume
target: /data
#read_only: true
read_only: false
logging:
driver: "local"
options:
max-file: "5"
max-size: "5m"
deploy:
mode: global
resources:
limits:
memory: 128MB
restart_policy:
condition: on-failure
labels:
- traefik.enable=true
##- traefik.docker.network=traefik-network
- traefik.http.routers.web-secure.entrypoints=websec
- traefik.http.routers.web-secure.rule=Host(`miflux.com`) || Host(`www.miflux.com`)
- traefik.http.routers.web-secure.tls=true
- traefik.http.services.web-service.loadbalancer.server.port=80
##- traefik.http.services.web-service.loadbalancer.sticky.cookie=true
##- traefik.http.services.web-service.loadbalancer.sticky.cookie.name=web-sticker
gitea-service:
image: docker.io/gitea/gitea:1.21.7
hostname: gitea-service-host
tty: true
environment:
##- USER_UID=1000
##- USER_GID=1000
- GITEA____APP_NAME=HYUNG-HWAN
- GITEA__server__DISABLE_SSH=true
- GITEA__server__HTTP_PORT=3000
- GITEA__server__ROOT_URL=https://code.miflux.com/
- GITEA__indexer__REPO_INDEXER_ENABLED=true
- GITEA__indexer__REPO_INDEXER_PATH=/data/gitea/indexers/repos.bleve
##- GITEA__indexer__UPDATE_BUFFER_LEN=20
- GITEA__indexer__MAX_FILE_SIZE=1048576
- GITEA__indexer__REPO_INDEXER_INCLUDE=
- GITEA__indexer__REPO_INDEXER_EXCLUDE=resources/bin/**
- GITEA__service__DISABLE_REGISTRATION=true
- GITEA__service__DEFAULT_ALLOW_CREATE_ORGANIZATION=true
- GITEA__service__EMAIL_NOTIFY_TRUE=false
- GITEA__openid__ENABLE_OPENID_SIGNIN=false
- GITEA__openid__ENABLE_OPENID_SIGNUP=false
- GITEA__webhook__ALLOWED_HOST_LIST=*
- GITEA__metrics__ENABLED=true
- GITEA__attachment__ENABLED=true
- GITEA__attachment__ALLOWED_TYPES=*/*
- GITEA__attachment__MAX_SIZE=100
networks:
- traefik-network
volumes:
- type: volume
source: gitea-data-volume
target: /data
logging:
driver: "local"
options:
max-file: "5"
max-size: "5m"
deploy:
mode: replicated
replicas: 1
resources:
limits:
memory: 1GB
restart_policy:
condition: on-failure
labels:
- traefik.enable=true
- traefik.http.routers.gitea-secure.entrypoints=websec
- traefik.http.routers.gitea-secure.rule=Host(`code.miflux.com`)
- traefik.http.routers.gitea-secure.tls=true
##- traefik.http.routers.gitea-secure.middlewares=gitea-to-codepot-diff-to-file,gitea-to-codepot
- traefik.http.routers.gitea-secure.middlewares=cpot-old-url-to-gitea
#- traefik.http.routers.gitea-plain.entrypoints=web
#- traefik.http.routers.gitea-plain.rule=Host(`code.miflux.com`)
#- traefik.http.routers.gitea-plain.tls=false
- traefik.http.services.gitea-service.loadbalancer.server.port=3000
- traefik.http.services.gitea-service.loadbalancer.sticky.cookie=true
- traefik.http.services.gitea-service.loadbalancer.sticky.cookie.name=gitea-sticker
##- traefik.http.middlewares.gitea-to-codepot-diff-to-file.redirectregex.regex=^https://code.miflux.com/code/(fulldiff|diff)/(.*)$
##- traefik.http.middlewares.gitea-to-codepot-diff-to-file.redirectregex.replacement=https://cpot.miflux.com/code/file/$${2}
##- traefik.http.middlewares.gitea-to-codepot.redirectregex.regex=^https://code.miflux.com/code/(.*)$
##- traefik.http.middlewares.gitea-to-codepot.redirectregex.replacement=https://cpot.miflux.com/code/$${1}
- traefik.http.middlewares.cpot-old-url-to-gitea.redirectregex.regex=^https://code.miflux.com/(code|file|issue|wiki|project|graph)/[^/]+/([^/]+)(/.+)*$
- traefik.http.middlewares.cpot-old-url-to-gitea.redirectregex.replacement=https://code.miflux.com/hyung-hwan/$${2}
- traefik.http.middlewares.redirect-merisia-benjaminrancourt.redirectregex.permanent=false
codepot-service:
image: docker.io/hyunghwan/codepot:ubnt
hostname: codepot-service-host
tty: true
command:
- --port=80
- --hide-index-page=yes
- --https-redirected=yes
- --mpm-prefork-max-workers=6
networks:
- traefik-network
volumes:
- type: volume
source: codepot-data-volume
target: /var/lib/codepot
logging:
driver: "local"
options:
max-file: "5"
max-size: "5m"
deploy:
mode: replicated
replicas: 1
resources:
limits:
memory: 1GB
restart_policy:
condition: on-failure
labels:
- traefik.enable=true
- traefik.http.routers.codepot-secure.entrypoints=websec
- traefik.http.routers.codepot-secure.rule=Host(`cpot.miflux.com`)
- traefik.http.routers.codepot-secure.tls=true
- traefik.http.routers.codepot-secure.middlewares=block-svn-access,cpot-proj-to-gitea,cpot-rest-to-gitea
#- traefik.http.routers.codepot-plain.entrypoints=web
#- traefik.http.routers.codepot-plain.rule=Host(`cpot.miflux.com`)
#- traefik.http.routers.codepot-secure.tls=false
- traefik.http.services.codepot.loadbalancer.sticky.cookie=true
- traefik.http.services.codepot.loadbalancer.sticky.cookie.name=codepot-sticker
- traefik.http.services.codepot.loadbalancer.server.port=80
# - block access to svn
- traefik.http.middlewares.block-svn-access.redirectregex.regex=^https://cpot.miflux.com/svn/(.*)$
- traefik.http.middlewares.block-svn-access.redirectregex.replacement=https://cpot.miflux.com/svn/
- traefik.http.middlewares.cpot-proj-to-gitea.redirectregex.regex=^https://cpot.miflux.com/[^/]+/[^/]+/([^/]+)(/.+)*$
- traefik.http.middlewares.cpot-proj-to-gitea.redirectregex.replacement=https://code.miflux.com/hyung-hwan/$${1}
- traefik.http.middlewares.cpot-rest-to-gitea.redirectregex.regex=^https://cpot.miflux.com/(.*)$
- traefik.http.middlewares.cpot-rest-to-gitea.redirectregex.replacement=https://code.miflux.com/hyung-hwan/
drone-service:
image: docker.io/drone/drone:2
hostname: drone-service-host
tty: true
environment:
## unable to use the internal DNS name as this URL is shown to
## the user for oauth login.
##- DRONE_GITEA_SERVER=http://gitea-service-host:3000
- DRONE_GITEA_SERVER=https://code.miflux.com
- DRONE_GITEA_CLIENT_ID=272c7bf0-b081-4e3a-a9bf-4e39231fb162
- DRONE_GITEA_CLIENT_SECRET=gto_najtmt4bnfo37x7egy45s4g7esvhgs2b26wcfskvwn6bjajz672a
- DRONE_RPC_SECRET=bd7c7058fd60caa00b86f7ea944c913d
- DRONE_SERVER_HOST=ci.miflux.com
- DRONE_SERVER_PROTO=https
- DRONE_USER_CREATE=username:hyung-hwan,admin:true
networks:
#- drone-network
- traefik-network
volumes:
- type: volume
source: drone-data-volume
target: /data
#ports:
# - target: 80
# published: 80
# protocol: tcp
# - target: 443
# published: 443
# protocol: tcp
deploy:
mode: replicated
replicas: 1
resources:
limits:
memory: 1GB
restart_policy:
condition: on-failure
labels:
- traefik.enable=true
- traefik.docker.network=traefik-network
- traefik.http.routers.drone-secure.entrypoints=websec
- traefik.http.routers.drone-secure.rule=Host(`ci.miflux.com`)
- traefik.http.routers.drone-secure.tls=true
#- traefik.http.routers.drone-plain.entrypoints=web
#- traefik.http.routers.drone-plain.rule=Host(`ci.miflux.com`)
#- traefik.http.routers.drone-plain.tls=false
- traefik.http.services.drone-service.loadbalancer.server.port=80
- traefik.http.services.drone-service.loadbalancer.sticky.cookie=true
- traefik.http.services.drone-service.loadbalancer.sticky.cookie.name=drone-sticker
drone-runner-service:
image: docker.io/drone/drone-runner-docker:1
hostname: drone-runner-service-host
tty: true
environment:
##- DRONE_RPC_PROTO=https
##- DRONE_RPC_HOST=ci.miflux.com
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=drone-service-host
- DRONE_RPC_PORT=:80
- DRONE_RPC_SECRET=bd7c7058fd60caa00b86f7ea944c913d
- DRONE_RUNNER_CAPACITY=10
- DRONE_RUNNER_NAME=drone-runner-docker-1
networks:
- traefik-network
volumes:
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock
deploy:
mode: replicated
replicas: 2
resources:
limits:
memory: 1GB
restart_policy:
condition: on-failure

View File

@ -9,7 +9,7 @@ networks:
services: services:
traefik-service: traefik-service:
image: docker.io/traefik:2.9 image: docker.io/traefik:2.10.1
hostname: traefik-service-host hostname: traefik-service-host
tty: true tty: true
environment: environment:
@ -35,6 +35,10 @@ services:
published: 443 published: 443
protocol: tcp protocol: tcp
mode: host mode: host
- target: 3306
published: 3306
protocol: tcp
mode: host
- target: 4444 - target: 4444
published: 4444 published: 4444
protocol: tcp protocol: tcp
@ -58,6 +62,7 @@ services:
##- --entrypoints.web.http.redirections.entryPoint.to=websec ##- --entrypoints.web.http.redirections.entryPoint.to=websec
##- --entrypoints.web.http.redirections.entryPoint.scheme=https ##- --entrypoints.web.http.redirections.entryPoint.scheme=https
- --entrypoints.websec.address=:443 - --entrypoints.websec.address=:443
- --entrypoints.mariadb.address=:3306
- --providers.docker.swarmmode=true - --providers.docker.swarmmode=true
- --providers.docker.exposedbydefault=false - --providers.docker.exposedbydefault=false
- --providers.docker.network=traefik-network - --providers.docker.network=traefik-network

View File

@ -1,4 +1,4 @@
all: all:
tar -cvf web-doc.tar index.html *.md tar -cvf web-doc.tar index.html *.md
curl -sv -X UNTAR --data-binary @web-doc.tar --output /dev/null https://www.miflux.com 2>&1 | grep '^[<>]' curl -sv -X UNTAR --data-binary @web-doc.tar --output /dev/null https://www.miflux.com/web-doc.tar 2>&1 | grep '^[<>]'

View File

@ -1,3 +1,5 @@
* [Home](/) - [Home](/)
* [Vitess](vitess.md "Vitess") - [GlusterFS](glusterfs.md "GlusterFS")
- [OpenSSL](openssl.md "OpenSSL")
- [Vitess](vitess.md "Vitess")
- [Retro](retro-icc.md "Retro")

27
web-doc/glusterfs.md Normal file
View File

@ -0,0 +1,27 @@
# GlusterFS cheatsheet
## systemd
- systemctl enable glusterd
- systemctl start glusterd
## Peer Management
- gluster peer probe node1 node2 node3
- gluster peer detach node2 force
- gluster peer detach node3 force
- gluster peer status
## Volume Management
- gluster volume info
- gluster volume create gfs0-volume replica 3 node1:/gfs node2:/gfs node3:/gfs force
- gluster volume start gfs0-volume
- gluster volume set gfs0-volume auth.allow localhost
- gluster volume set gfs0-volume performance.cache-size 256MB
- gluster volume add-brick gfs0-volume replica 5 node4:/gfs node5:gfs
- gluster volume remove-brick gfs0-volume replica3 node4:/gfs node5:/gfs force
- gluster volume quota gfs0-volume enable
- gluster volume quota gfs0-volume limit-usage / 50GB
- gluster volume stop gfs0-volume force
- gluster volume delete gfs0-volume
## /etc/fstab
localhost:gfs0-volume /mnt/gfs-data glusterfs defaults,_netdev,noauto,x-systemd.automount 0 0

View File

@ -5,16 +5,78 @@
<meta name="viewport" content="width=device-width,initial-scale=1" /> <meta name="viewport" content="width=device-width,initial-scale=1" />
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/themes/vue.css" /> <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/themes/vue.css" />
<!-- <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"> -->
<link rel="stylesheet" href="//unpkg.com/@fortawesome/fontawesome-free/css/fontawesome.css" />
<link rel="stylesheet" href="//unpkg.com/@fortawesome/fontawesome-free/css/brands.css" />
<link rel="stylesheet" href="//unpkg.com/@fortawesome/fontawesome-free/css/regular.css" />
<link rel="stylesheet" href="//unpkg.com/@fortawesome/fontawesome-free/css/solid.css" />
</head> </head>
<body> <body>
<div data-app id='main'></div> <div data-app id='main'></div>
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
<script> <script>
window.$docsify = { window.$docsify = {
el: '#main', el: '#main',
loadSidebar: true, // when true, _sidebar.md is required loadSidebar: true, // when true, _sidebar.md is required
coverpage: false // when true, _coverpage.md is required coverpage: false, // when true, _coverpage.md is required
routerMode: 'history',
mermaidConfig: {
querySelector: '.mermaid'
},
kroki: {
langs: [
"actdiag",
"blockdiag",
"bpmn",
"bytefield",
"c4plantuml",
"d2",
"dbml",
"ditaa",
"erd",
"excalidraw",
"graphviz",
//"mermaid",
"nomnoml",
"nwdiag",
"packetdiag",
"pikchr",
"plantuml",
"rackdiag",
"seqdiag",
"structurizr",
"svgbob",
"symbolator",
"tikz",
"vega",
"vegalite",
"wavedrom",
"wireviz",
],
// default
serverPath: "//kroki.io/",
},
}; };
</script> </script>
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script> <script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-c.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-go.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-javascript.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-typescript.min.js"></script>
<script src="//unpkg.com/mermaid/dist/mermaid.js"></script>
<script src="//unpkg.com/docsify-mermaid@latest/dist/docsify-mermaid.js"></script>
<script>
mermaid.initialize({
startOnLoad: true,
securityLevel: 'loose',
//logLevel: 0
});
</script>
<script src="//unpkg.com/docsify-kroki"></script>
</body> </body>
</html> </html>

5
web-doc/openssl.md Normal file
View File

@ -0,0 +1,5 @@
# OpenSSL Cheatsheet
## Certificate Viewing
- openssl x509 -in cert.pem -noout -text
- openssl crl2pkcs7 -nocrl -certfile chained-cert.pem | openssl pkcs7 -print_certs -noout -text

20
web-doc/retro-icc.md Normal file
View File

@ -0,0 +1,20 @@
# Intel C Code Builder For DOS
If you have compiler installed under `C:\ICC`, set the following environment variables:
```
SET CBPATH=C:\ICC
SET PATH=C:\ICC\BIN;%PATH%
```
If `icc` fails to find `C:\ICC\BIN\XMVM` and your system doesn't have the file, you can build your program with the `/xnovm` option.
```
icc /xnovm hello.c
```
Alternatively, you can extract the file from an existing ICC binary as shown in https://www.os2museum.com/wp/xmvm-surgery/ and place it under `C:\ICC\BIN`.
```
dd if=IC32.EXE of=XMVM skip=51385 bs=1 count=9440
```

View File

@ -1 +1,158 @@
## Vitess # Vitess
```blockdiag
diagram login {
client [label = "Client"];
gw_sniproxy [label = "sniproxy"]
gw_nginx [label = "nginx"]
gw_redirect_pl [label = "redirect.pl"]
client -> gw_sniproxy -> gw_nginx;
gw_nginx ->gw_redirect_pl;
}
```
```blockdiag
diagram get-page-uuid {
index [ label = "login/index.ant" ]
inc-main [ label = "modules/policy/inc-main.php" ]
sql [ label = "SELECT location.location_group_id, settings FROM ant_policies.location LEFT JOIN ant_policies.policy ON location.location_group_id = policy.location_group_id WHERE ppli =\"eth0\"" ]
index -> inc-main -> sql;
}
```
```mermaid
graph LR
A --- B
B-->C[fa:fa-ban forbidden]
B-->D(fa:fa-spinner);
```
```c
#include <stdio.h>
int main ()
{
printf ("hello, world\n");
return 0;
}
```
```mermaid
mindmap
root((mindmap))
Origins
Long history
::icon(fa fa-book)
Popularisation
British popular psychology author Tony Buzan
Research
On effectivness<br/>and features
On Automatic creation
Uses
Creative techniques
Strategic planning
Argument mapping
Tools
Pen and paper
Mermaid
```
```c
#include <stdio.h>
// Function to add two numbers
int add(int a, int b) {
return a + b;
}
// Function to subtract two numbers
int subtract(int a, int b) {
return a - b;
}
// Function that accepts a function pointer as a parameter
int calculate(int (*operation)(int, int), int a, int b) {
return operation(a, b);
}
int main() {
int x = 100, y = 200;
int sum = calculate(add, x, y);
int diff = calculate(subtract, x, y);
printf("Sum: %d\n", sum);
printf("Difference: %d\n", diff);
return 0;
}
```
```bytefield
(defattrs :bg-green {:fill "#a0ffa0"})
(defattrs :bg-yellow {:fill "#ffffa0"})
(defattrs :bg-pink {:fill "#ffb0a0"})
(defattrs :bg-cyan {:fill "#a0fafa"})
(defattrs :bg-purple {:fill "#e4b5f7"})
(defn draw-group-label-header
[span label]
(draw-box (text label [:math {:font-size 12}]) {:span span :borders #{} :height 14}))
(defn draw-remotedb-header
[kind args]
(draw-column-headers)
(draw-group-label-header 5 "start")
(draw-group-label-header 5 "TxID")
(draw-group-label-header 3 "type")
(draw-group-label-header 2 "args")
(draw-group-label-header 1 "tags")
(next-row 18)
(draw-box 0x11 :bg-green)
(draw-box 0x872349ae [{:span 4} :bg-green])
(draw-box 0x11 :bg-yellow)
(draw-box (text "TxID" :math) [{:span 4} :bg-yellow])
(draw-box 0x10 :bg-pink)
(draw-box (hex-text kind 4 :bold) [{:span 2} :bg-pink])
(draw-box 0x0f :bg-cyan)
(draw-box (hex-text args 2 :bold) :bg-cyan)
(draw-box 0x14 :bg-purple)
(draw-box (text "0000000c" :hex [[:plain {:font-weight "light" :font-size 16}] " (12)"]) [{:span 4} :bg-purple])
(draw-box (hex-text 6 2 :bold) [:box-first :bg-purple])
(doseq [val [6 6 3 6 6 6 6 3]]
(draw-box (hex-text val 2 :bold) [:box-related :bg-purple]))
(doseq [val [0 0]]
(draw-box val [:box-related :bg-purple]))
(draw-box 0 [:box-last :bg-purple]))
(draw-remotedb-header 0x4702 9)
(draw-box 0x11)
(draw-box 0x2104 {:span 4})
(draw-box 0x11)
(draw-box 0 {:span 4})
(draw-box 0x11)
(draw-box (text "length" [:math] [:sub 1]) {:span 4})
(draw-box 0x14)
(draw-box (text "length" [:math] [:sub 1]) {:span 4})
(draw-gap "Cue and loop point bytes")
(draw-box nil :box-below)
(draw-box 0x11)
(draw-box 0x36 {:span 4})
(draw-box 0x11)
(draw-box (text "num" [:math] [:sub "hot"]) {:span 4})
(draw-box 0x11)
(draw-box (text "num" [:math] [:sub "cue"]) {:span 4})
(draw-box 0x11)
(draw-box (text "length" [:math] [:sub 2]) {:span 4})
(draw-box 0x14)
(draw-box (text "length" [:math] [:sub 2]) {:span 4})
(draw-gap "Unknown bytes" {:min-label-columns 6})
(draw-bottom)
```