generated from Templates/docker_project
修改pqsql配置资源,待确认是否正确
This commit is contained in:
parent
413160b6bc
commit
96e766885b
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
function create_user_and_database() {
|
||||||
|
local database=$1
|
||||||
|
echo " Creating user and database '$database'"
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
|
||||||
|
CREATE USER $database;
|
||||||
|
CREATE DATABASE $database;
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE $database TO $database;
|
||||||
|
EOSQL
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then
|
||||||
|
echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES"
|
||||||
|
for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do
|
||||||
|
create_user_and_database $db
|
||||||
|
done
|
||||||
|
echo "Multiple databases created"
|
||||||
|
fi
|
|
@ -0,0 +1,8 @@
|
||||||
|
CREATE USER keycloak; --kc1992
|
||||||
|
CREATE USER wikijs; --wikijsrocks
|
||||||
|
|
||||||
|
CREATE DATABASE keycloak;
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE logdata TO keycloak;
|
||||||
|
|
||||||
|
CREATE DATABASE wiki;
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE orderdata TO wikijs;
|
|
@ -0,0 +1,84 @@
|
||||||
|
version: "3.9"
|
||||||
|
|
||||||
|
services:
|
||||||
|
keycloak:
|
||||||
|
image: jboss/keycloak:16.1.1
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 38080:8080
|
||||||
|
environment:
|
||||||
|
KEYCLOAK_USER: kcroot
|
||||||
|
KEYCLOAK_PASSWORD: "Hai_1992"
|
||||||
|
PROXY_ADDRESS_FORWARDING: 'true'
|
||||||
|
DB_VENDOR: POSTGRES
|
||||||
|
DB_ADDR: postgresql
|
||||||
|
DB_DATABASE: keycloak
|
||||||
|
DB_USER: postgres
|
||||||
|
DB_PASSWORD: kc1992
|
||||||
|
#volumes:
|
||||||
|
#- /home/ubuntu/.myDockerDir/Keycloak/etc/:/etc/
|
||||||
|
depends_on:
|
||||||
|
- postgresql
|
||||||
|
networks:
|
||||||
|
- docker_net
|
||||||
|
|
||||||
|
postgresql:
|
||||||
|
image: postgres:14.3
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: postgres
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: kc1992
|
||||||
|
command:
|
||||||
|
- 'postgres'
|
||||||
|
- '-c'
|
||||||
|
- 'max_connections=100'
|
||||||
|
- '-c'
|
||||||
|
- 'shared_buffers=256MB'
|
||||||
|
volumes:
|
||||||
|
- /home/ubuntu/.myDockerDir/Postgresql/data:/var/lib/postgresql/data
|
||||||
|
#- db-data:/var/lib/postgresql/data
|
||||||
|
- ./Postgresql/create_more.sql:/docker-entrypoint-initdb.d/create_more.sql
|
||||||
|
networks:
|
||||||
|
- docker_net
|
||||||
|
logging:
|
||||||
|
driver: "none"
|
||||||
|
|
||||||
|
wiki:
|
||||||
|
image: requarks/wiki
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 13444:3000
|
||||||
|
- 13443:3443
|
||||||
|
environment:
|
||||||
|
DB_TYPE: postgres
|
||||||
|
DB_HOST: postgresql
|
||||||
|
DB_PORT: 5432
|
||||||
|
DB_NAME: wiki
|
||||||
|
DB_USER: wikijs
|
||||||
|
DB_PASS: wikiPGsql1992
|
||||||
|
UPGRADE_COMPANION: 1
|
||||||
|
volumes:
|
||||||
|
- /share/DockerDir/wikijs/data/content:/wiki/data/content
|
||||||
|
depends_on:
|
||||||
|
- postgresql
|
||||||
|
networks:
|
||||||
|
- docker_net
|
||||||
|
|
||||||
|
wiki-update:
|
||||||
|
image: requarks/wiki-update-companion
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
depends_on:
|
||||||
|
- postgresql
|
||||||
|
- wiki
|
||||||
|
networks:
|
||||||
|
- docker_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
docker_net:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db-data:
|
|
@ -1,2 +1,10 @@
|
||||||
# docker_template
|
# docker_template
|
||||||
|
|
||||||
|
- k8s
|
||||||
|
- adminer: 类似phpMyAdmin
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
- k8s的yml中可以定义多个资源内容,用`---`行分隔
|
|
@ -0,0 +1,26 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: adminer
|
||||||
|
name: adminer
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: adminer
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: adminer
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: adminer
|
||||||
|
image: 'adminer'
|
||||||
|
ports:
|
||||||
|
- name: http-9000
|
||||||
|
protocol: TCP
|
||||||
|
containerPort: 9000
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: adminer
|
|
@ -0,0 +1,8 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: adminer
|
||||||
|
data:
|
||||||
|
ADMINER_DESIGN: pappu687
|
||||||
|
ADMINER_PLUGINS: tables-filter
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: adminer
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: adminer
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 9000
|
||||||
|
targetPort: http-9000
|
|
@ -0,0 +1,18 @@
|
||||||
|
kind: Ingress
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: adminer
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx
|
||||||
|
rules:
|
||||||
|
- host: adminer.xyz.cn
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: adminer
|
||||||
|
port:
|
||||||
|
number: 9000
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: postgres-prod
|
||||||
|
name: postgres-prod
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: postgres-prod
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: postgres-prod
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: db
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
image: 'postgres:14.2-alpine'
|
||||||
|
ports:
|
||||||
|
- name: tcp-5432
|
||||||
|
protocol: TCP
|
||||||
|
containerPort: 5432
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: postgres-prod
|
||||||
|
volumeMounts:
|
||||||
|
- name: postgres-prod-data
|
||||||
|
readOnly: false
|
||||||
|
mountPath: /var/lib/postgresql/data
|
||||||
|
- name: wikijs-postgres-init
|
||||||
|
readOnly: true
|
||||||
|
mountPath: /docker-entrypoint-initdb.d
|
||||||
|
volumes:
|
||||||
|
- name: postgres-prod-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: postgres-prod-data
|
||||||
|
- name: wikijs-postgres-init
|
||||||
|
configMap:
|
||||||
|
name: wikijs-postgres-init
|
|
@ -0,0 +1,19 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: wikijs-postgres-init
|
||||||
|
data:
|
||||||
|
init.sql: |-
|
||||||
|
CREATE DATABASE wikijs;
|
||||||
|
CREATE USER wikijs with password 'Wiki1992.920';
|
||||||
|
GRANT CONNECT ON DATABASE wikijs to wikijs;
|
||||||
|
GRANT USAGE ON SCHEMA public TO wikijs;
|
||||||
|
GRANT SELECT,update,INSERT,delete ON ALL TABLES IN SCHEMA public TO wikijs;
|
||||||
|
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO wikijs;
|
||||||
|
|
||||||
|
CREATE DATABASE keycloak;
|
||||||
|
CREATE USER keycloak with password 'Wiki1992.920';
|
||||||
|
GRANT CONNECT ON DATABASE keycloak to keycloak;
|
||||||
|
GRANT USAGE ON SCHEMA public TO keycloak;
|
||||||
|
GRANT SELECT,update,INSERT,delete ON ALL TABLES IN SCHEMA public TO keycloak;
|
||||||
|
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO keycloak;
|
|
@ -0,0 +1,11 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: postgres-prod
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: postgres-prod
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 5432
|
||||||
|
targetPort: tcp-5432
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
|
||||||
|
# 0. namespace
|
||||||
|
|
||||||
|
# 1. define resource
|
||||||
|
kubectl apply -f wikijs-config.yaml configmap/postgres-config
|
||||||
|
# 2. define secret
|
||||||
|
kubectl apply -f wikijs-secret.yaml secret/postgres
|
||||||
|
# 3. Deploy the Service and Wiki.js application
|
||||||
|
|
||||||
|
# 4. apply access from outside
|
|
@ -0,0 +1,11 @@
|
||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
DB_HOST: "<Database Host>"
|
||||||
|
DB_PORT: "5432"
|
||||||
|
DB_USER: "wikijs"
|
||||||
|
DB_TYPE: "postgres"
|
||||||
|
DB_NAME: "wiki"
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: postgres-config
|
||||||
|
namespace: wikijs
|
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: postgres-prod
|
||||||
|
data:
|
||||||
|
POSTGRES_PASSWORD: 自行填写
|
||||||
|
type: Opaque
|
Loading…
Reference in New Issue