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
|
||||
|
||||
- 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