集成完成
This commit is contained in:
		
						commit
						450dee3f6f
					
				
							
								
								
									
										18
									
								
								.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								.env
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | ||||
| SERVICE_GROUP_NAME=devkit | ||||
| NETWORK_NAME=devkit | ||||
| # Password for the 'elastic' user (at least 6 characters) | ||||
| ELASTIC_PASSWORD=helloworld | ||||
| # Password for the 'kibana_system' user (at least 6 characters) | ||||
| KIBANA_PASSWORD=helloworld | ||||
| # Version of Elastic products | ||||
| ES_STACK_VERSION=8.14.2 | ||||
| # Set the cluster name | ||||
| ES_CLUSTER_NAME=es-cluster | ||||
| # Set to 'basic' or 'trial' to automatically start the 30-day trial | ||||
| ES_LICENSE=basic | ||||
| # Port to expose Elasticsearch HTTP API to the host | ||||
| ES_PORT=9200 | ||||
| # Port to expose Kibana to the host | ||||
| KIBANA_PORT=5601 | ||||
| # Increase or decrease based on the available host memory (in bytes) | ||||
| ES_MEM_LIMIT=2147483648 | ||||
							
								
								
									
										361
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										361
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,361 @@ | ||||
| name: ${SERVICE_GROUP_NAME} | ||||
| 
 | ||||
| services: | ||||
|   # 主web入口服务,代理一切web | ||||
|   nginx: | ||||
|     image: quay.io/wandoubaba517/nginx:1.27 | ||||
|     container_name: devkit_nginx | ||||
|     restart: always | ||||
|     volumes: | ||||
|       - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf | ||||
|       - ./nginx/conf/conf.d:/etc/nginx/conf.d | ||||
|       - ./nginx/conf/certs:/etc/nginx/certs | ||||
|       - ./nginx/conf/fastcgi_params:/etc/nginx/fastcgi_params | ||||
|       - ./nginx/conf/mime.types:/etc/nginx/mime.types | ||||
|       - ./nginx/conf/scgi_params:/etc/nginx/scgi_params | ||||
|       - ./nginx/conf/uwsgi_params:/etc/nginx/uwsgi_params | ||||
|       - ./nginx/html:/usr/share/nginx/html | ||||
|     working_dir: /usr/share/nginx/html | ||||
|     stdin_open: true | ||||
|     networks: | ||||
|       - ${NETWORK_NAME} | ||||
|     ports: | ||||
|       - 44100:80 | ||||
| 
 | ||||
|   # web接口服务,提供http和ws服务,被nginx代理 | ||||
|   # api: | ||||
|   #   image: quay.io/wandoubaba517/workerman:8.1 | ||||
|   #   container_name: devkit_api | ||||
|   #   restart: always | ||||
|   #   volumes: | ||||
|   #     - ./api/:/app/service | ||||
|   #     - ./api/php.ini:/usr/local/etc/php/php.ini | ||||
|   #     - /var/run/docker.sock:/var/run/docker.sock | ||||
|   #   working_dir: /app/service | ||||
|   #   stdin_open: true | ||||
|   #   networks: | ||||
|   #     - devkit | ||||
|   #   ports: | ||||
|   #     - 55601:55601 | ||||
|   #     - 55621:55621 | ||||
|   #     - 55631:55631 | ||||
|   #   command: ['php', 'start.php', 'start'] | ||||
|   #   healthcheck: | ||||
|   #     test: ["CMD", "curl", "-f", "http://localhost:55601/"] | ||||
|   #     interval: 5s | ||||
|   #     retries: 3 | ||||
|   #     start_period: 5s | ||||
|   #     timeout: 10s | ||||
|   #   depends_on: | ||||
|   #     es: | ||||
|   #       condition: service_healthy | ||||
|   #       restart: true | ||||
|   #     postgres: | ||||
|   #       condition: service_healthy | ||||
|   #       restart: true | ||||
|   #     mongo: | ||||
|   #       condition: service_healthy | ||||
|   #       restart: true | ||||
|   #     redis: | ||||
|   #       condition: service_healthy | ||||
|   #       restart: true | ||||
|   #     minio: | ||||
|   #       condition: service_healthy | ||||
|   #       restart: true | ||||
| 
 | ||||
|   # 容器可视化管理应用,被nginx代理 | ||||
|   portainer: | ||||
|     image: quay.io/wandoubaba517/portainer-ce:2.20.3 | ||||
|     container_name: devkit_portainer | ||||
|     networks: | ||||
|       - ${NETWORK_NAME} | ||||
|     volumes: | ||||
|       - ./portainer/data:/data | ||||
|       - /var/run/docker.sock:/var/run/docker.sock | ||||
| 
 | ||||
|   # postgres数据库管理应用,被nginx代理 | ||||
|   pgadmin: | ||||
|     image: quay.io/wandoubaba517/pgadmin4:8.9 | ||||
|     container_name: devkit_pgadmin | ||||
|     environment: | ||||
|       PGADMIN_DEFAULT_EMAIL: hello@pg.com | ||||
|       PGADMIN_DEFAULT_PASSWORD: helloworld | ||||
|     volumes: | ||||
|       - ./pgadmin/servers.json:/pgadmin4/servers.json | ||||
|     restart: always | ||||
|     networks:  | ||||
|       - ${NETWORK_NAME} | ||||
|     depends_on: | ||||
|       postgres: | ||||
|         condition: service_healthy | ||||
|         restart: true | ||||
| 
 | ||||
|   # postgres数据库 | ||||
|   postgres: | ||||
|     image: quay.io/wandoubaba517/postgres:16.3 | ||||
|     container_name: devkit_postgres | ||||
|     restart: always | ||||
|     environment: | ||||
|       POSTGRES_PASSWORD: helloworld | ||||
|       POSTGRES_USER: hello | ||||
|       POSTGRES_DB: hello | ||||
|       PGDATA: /data/pgdata | ||||
|     volumes: | ||||
|       - ./postgres/data:/data | ||||
|       - ./postgres/conf:/etc/postgres | ||||
|     networks: | ||||
|       - ${NETWORK_NAME} | ||||
|     command: | ||||
|       - postgres | ||||
|       - -c  | ||||
|       - 'config_file=/etc/postgres/postgresql.conf' | ||||
|       - -c | ||||
|       - 'hba_file=/etc/postgres/pg_hba.conf' | ||||
|       - -c | ||||
|       - 'ident_file=/etc/postgres/pg_ident.conf' | ||||
|     healthcheck: | ||||
|       test: ["CMD-SHELL", "pg_isready -U hello"] | ||||
|       interval: 15s | ||||
|       retries: 5 | ||||
|       start_period: 15s | ||||
|       timeout: 10s | ||||
| 
 | ||||
|   # mongodb的可视化应用,被nginx代理(不要求登录) | ||||
|   mongo-express: | ||||
|     image: quay.io/wandoubaba517/mongo-express:1.0.2 | ||||
|     container_name: devkit_mongo-express | ||||
|     restart: always | ||||
|     networks: | ||||
|       - ${NETWORK_NAME} | ||||
|     environment: | ||||
|       ME_CONFIG_MONGODB_ADMINUSERNAME: hello | ||||
|       ME_CONFIG_MONGODB_ADMINPASSWORD: helloworld | ||||
|       ME_CONFIG_MONGODB_URL: mongodb://hello:helloworld@mongo:27017/ | ||||
|       ME_CONFIG_BASICAUTH_USERNAME: hello | ||||
|       ME_CONFIG_BASICAUTH_PASSWORD: helloworld | ||||
|       ME_CONFIG_BASICAUTH: true | ||||
|     depends_on: | ||||
|       mongo: | ||||
|         condition: service_healthy | ||||
|         restart: true | ||||
| 
 | ||||
|   # mongodb数据库 | ||||
|   mongo: | ||||
|     image: quay.io/wandoubaba517/mongo:7.0 | ||||
|     container_name: devkit_mongo | ||||
|     restart: always | ||||
|     environment: | ||||
|       TZ: Asia/Shanghai | ||||
|       MONGO_INITDB_ROOT_USERNAME: hello | ||||
|       MONGO_INITDB_ROOT_PASSWORD: helloworld | ||||
|       MONGO_INITDB_DATABASE: log | ||||
|     volumes: | ||||
|       - ./mongo/data/db:/data/db | ||||
|       - ./mongo/data/configdb:/data/configdb | ||||
|       - ./mongo/conf:/etc/mongo | ||||
|     networks: | ||||
|       - ${NETWORK_NAME} | ||||
|     command: ['mongod', '--config', '/etc/mongo/mongod.conf'] | ||||
|     healthcheck: | ||||
|       test: ["CMD-SHELL", "mongosh -u hello -p helloworld --eval \"db.stats().ok\""] | ||||
|       interval: 20s | ||||
|       retries: 5 | ||||
|       start_period: 15s | ||||
|       timeout: 10s | ||||
| 
 | ||||
|   # redis缓存服务 | ||||
|   redis: | ||||
|     image: quay.io/wandoubaba517/redis:7.2 | ||||
|     container_name: devkit_redis | ||||
|     restart: always | ||||
|     volumes: | ||||
|       - ./redis/data:/data | ||||
|       - ./redis/conf:/etc/redis | ||||
|     networks: | ||||
|       - ${NETWORK_NAME} | ||||
|     command: ['redis-server', '/etc/redis/redis.conf'] | ||||
|     healthcheck: | ||||
|       test: ["CMD", "redis-cli", "-a", "helloworld", "ping"] | ||||
|       interval: 15s | ||||
|       retries: 3 | ||||
|       start_period: 15s | ||||
|       timeout: 10s | ||||
| 
 | ||||
|   # minio对象存储服务 | ||||
|   minio: | ||||
|     image: quay.io/minio/minio:RELEASE.2024-07-16T23-46-41Z | ||||
|     container_name: devkit_minio | ||||
|     restart: always | ||||
|     environment: | ||||
|       MINIO_ROOT_USER: hello | ||||
|       MINIO_ROOT_PASSWORD: helloworld | ||||
|       MINIO_VOLUMES: /mnt/data | ||||
|     networks: | ||||
|       - ${NETWORK_NAME} | ||||
|     volumes: | ||||
|       - ./minio/data:/mnt/data | ||||
|       - ./minio/config:/root/.minio/ | ||||
|     command: server --console-address ':9001' | ||||
|     healthcheck: | ||||
|       test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] | ||||
|       interval: 15s | ||||
|       retries: 3 | ||||
|       start_period: 60s | ||||
|       timeout: 10s | ||||
| 
 | ||||
|   # rabbitmq消息队列服务 | ||||
|   rabbitmq: | ||||
|     image: quay.io/wandoubaba517/rabbitmq:3.13.4 | ||||
|     container_name: devkit_rabbitmq | ||||
|     restart: always | ||||
|     networks: | ||||
|       - ${NETWORK_NAME} | ||||
|     ports: | ||||
|       - 15672:15672 | ||||
|     volumes: | ||||
|       - ./rabbitmq/data:/var/lib/rabbitmq/mnesia | ||||
|       - ./rabbitmq/conf/conf.d:/etc/rabbitmq/conf.d | ||||
|     healthcheck:   | ||||
|       test: ["CMD", "rabbitmq-diagnostics", "check_running"]   | ||||
|       interval: 30s   | ||||
|       timeout: 10s   | ||||
|       retries: 5   | ||||
|       start_period: 5s   | ||||
| 
 | ||||
|   # es-setup、es、kibana是整套elasticsearch服务 | ||||
|   # es-setup: | ||||
|   #   image: quay.io/wandoubaba517/elasticsearch:${ES_STACK_VERSION} | ||||
|   #   volumes: | ||||
|   #     - ./elasticsearch/certs:/usr/share/elasticsearch/config/certs | ||||
|   #   user: "0" | ||||
|   #   networks: | ||||
|   #     - ${NETWORK_NAME} | ||||
|   #   command: > | ||||
|   #     bash -c ' | ||||
|   #       if [ x${ELASTIC_PASSWORD} == x ]; then | ||||
|   #         echo "Set the ELASTIC_PASSWORD environment variable in the .env file"; | ||||
|   #         exit 1; | ||||
|   #       elif [ x${KIBANA_PASSWORD} == x ]; then | ||||
|   #         echo "Set the KIBANA_PASSWORD environment variable in the .env file"; | ||||
|   #         exit 1; | ||||
|   #       fi; | ||||
|   #       if [ ! -f config/certs/ca.zip ]; then | ||||
|   #         echo "Creating CA"; | ||||
|   #         bin/elasticsearch-certutil ca --silent --pem -out config/certs/ca.zip; | ||||
|   #         unzip config/certs/ca.zip -d config/certs; | ||||
|   #       fi; | ||||
|   #       if [ ! -f config/certs/certs.zip ]; then | ||||
|   #         echo "Creating certs"; | ||||
|   #         echo -ne \ | ||||
|   #         "instances:\n"\ | ||||
|   #         "  - name: es\n"\ | ||||
|   #         "    dns:\n"\ | ||||
|   #         "      - es\n"\ | ||||
|   #         "      - localhost\n"\ | ||||
|   #         "    ip:\n"\ | ||||
|   #         "      - 127.0.0.1\n"\ | ||||
|   #         > config/certs/instances.yml; | ||||
|   #         bin/elasticsearch-certutil cert --silent --pem -out config/certs/certs.zip --in config/certs/instances.yml --ca-cert config/certs/ca/ca.crt --ca-key config/certs/ca/ca.key; | ||||
|   #         unzip config/certs/certs.zip -d config/certs; | ||||
|   #       fi; | ||||
|   #       echo "Setting file permissions" | ||||
|   #       chown -R root:root config/certs; | ||||
|   #       find . -type d -exec chmod 750 \{\} \;; | ||||
|   #       find . -type f -exec chmod 640 \{\} \;; | ||||
|   #       echo "Waiting for Elasticsearch availability"; | ||||
|   #       until curl -s --cacert config/certs/ca/ca.crt https://es:9200 | grep -q "missing authentication credentials"; do sleep 30; done; | ||||
|   #       echo "Setting kibana_system password"; | ||||
|   #       until curl -s -X POST --cacert config/certs/ca/ca.crt -u "elastic:${ELASTIC_PASSWORD}" -H "Content-Type: application/json" https://es:9200/_security/user/kibana_system/_password -d "{\"password\":\"${KIBANA_PASSWORD}\"}" | grep -q "^{}"; do sleep 10; done; | ||||
|   #       echo "All done!"; | ||||
|   #     ' | ||||
|   #   healthcheck: | ||||
|   #     test: ["CMD-SHELL", "[ -f config/certs/es/es.crt ]"] | ||||
|   #     interval: 1s | ||||
|   #     timeout: 5s | ||||
|   #     retries: 120 | ||||
| 
 | ||||
|   # es: | ||||
|   #   depends_on: | ||||
|   #     es-setup: | ||||
|   #       condition: service_healthy | ||||
|   #   image: quay.io/wandoubaba517/elasticsearch:${ES_STACK_VERSION} | ||||
|   #   container_name: devkit_es | ||||
|   #   restart: always | ||||
|   #   volumes: | ||||
|   #     - ./elasticsearch/certs:/usr/share/elasticsearch/config/certs | ||||
|   #     - ./elasticsearch/esdata:/usr/share/elasticsearch/data | ||||
|   #     - ./elasticsearch/eslogs:/usr/share/elasticsearch/logs | ||||
|   #     - ./elasticsearch/plugins/ik:/usr/share/elasticsearch/plugins/ik | ||||
|   #   ports: | ||||
|   #     - ${ES_PORT}:9200 | ||||
|   #   networks: | ||||
|   #     - ${NETWORK_NAME} | ||||
|   #   environment: | ||||
|   #     - node.name=es | ||||
|   #     - cluster.name=${ES_CLUSTER_NAME} | ||||
|   #     - cluster.initial_master_nodes=es | ||||
|   #     - ELASTIC_PASSWORD=${ELASTIC_PASSWORD} | ||||
|   #     - bootstrap.memory_lock=true | ||||
|   #     - xpack.security.enabled=true | ||||
|   #     - xpack.security.http.ssl.enabled=true | ||||
|   #     - xpack.security.http.ssl.key=certs/es/es.key | ||||
|   #     - xpack.security.http.ssl.certificate=certs/es/es.crt | ||||
|   #     - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt | ||||
|   #     - xpack.security.transport.ssl.enabled=true | ||||
|   #     - xpack.security.transport.ssl.key=certs/es/es.key | ||||
|   #     - xpack.security.transport.ssl.certificate=certs/es/es.crt | ||||
|   #     - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt | ||||
|   #     - xpack.security.transport.ssl.verification_mode=certificate | ||||
|   #     - xpack.license.self_generated.type=${ES_LICENSE} | ||||
|   #   mem_limit: ${ES_MEM_LIMIT} | ||||
|   #   ulimits: | ||||
|   #     memlock: | ||||
|   #       soft: -1 | ||||
|   #       hard: -1 | ||||
|   #   healthcheck: | ||||
|   #     test: | ||||
|   #       [ | ||||
|   #         "CMD-SHELL", | ||||
|   #         "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'", | ||||
|   #       ] | ||||
|   #     interval: 120s | ||||
|   #     timeout: 30s | ||||
|   #     retries: 120 | ||||
|   #     start_period: 120s | ||||
| 
 | ||||
|   # kibana: | ||||
|   #   depends_on: | ||||
|   #     es: | ||||
|   #       condition: service_healthy | ||||
|   #   image: quay.io/wandoubaba517/kibana:${ES_STACK_VERSION} | ||||
|   #   container_name: devkit_kibana | ||||
|   #   restart: always | ||||
|   #   volumes: | ||||
|   #     - ./elasticsearch/certs:/usr/share/kibana/config/certs | ||||
|   #     - ./elasticsearch/kibanadata:/usr/share/kibana/data | ||||
|   #   ports: | ||||
|   #     - ${KIBANA_PORT}:5601 | ||||
|   #   networks: | ||||
|   #     - ${NETWORK_NAME} | ||||
|   #   environment: | ||||
|   #     - SERVERNAME=kibana | ||||
|   #     - ELASTICSEARCH_HOSTS=https://es:9200 | ||||
|   #     - ELASTICSEARCH_USERNAME=kibana_system | ||||
|   #     - ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD} | ||||
|   #     - ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=config/certs/ca/ca.crt | ||||
|   #     - SERVER_BASEPATH="/kibana" | ||||
|   #   mem_limit: ${ES_MEM_LIMIT} | ||||
|   #   healthcheck: | ||||
|   #     test: | ||||
|   #       [ | ||||
|   #         "CMD-SHELL", | ||||
|   #         "curl -s -I http://localhost:5601 | grep -q 'HTTP/1.1 302 Found'", | ||||
|   #       ] | ||||
|   #     interval: 10s | ||||
|   #     timeout: 10s | ||||
|   #     retries: 120 | ||||
| 
 | ||||
| networks: | ||||
|   devkit: | ||||
|     name: ${NETWORK_NAME} | ||||
|     driver: bridge | ||||
							
								
								
									
										25
									
								
								elasticsearch/.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								elasticsearch/.env
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| # Password for the 'elastic' user (at least 6 characters) | ||||
| ELASTIC_PASSWORD=helloworld | ||||
| 
 | ||||
| # Password for the 'kibana_system' user (at least 6 characters) | ||||
| KIBANA_PASSWORD=helloworld | ||||
| 
 | ||||
| # Version of Elastic products | ||||
| STACK_VERSION=8.14.2 | ||||
| 
 | ||||
| # Set the cluster name | ||||
| CLUSTER_NAME=docker-cluster | ||||
| 
 | ||||
| # Set to 'basic' or 'trial' to automatically start the 30-day trial | ||||
| LICENSE=basic | ||||
| 
 | ||||
| # Port to expose Elasticsearch HTTP API to the host | ||||
| ES_PORT=9200 | ||||
| #ES_PORT=127.0.0.1:9200 | ||||
| 
 | ||||
| # Port to expose Kibana to the host | ||||
| KIBANA_PORT=5601 | ||||
| #KIBANA_PORT=80 | ||||
| 
 | ||||
| # Increase or decrease based on the available host memory (in bytes) | ||||
| MEM_LIMIT=1073741824 | ||||
							
								
								
									
										46
									
								
								elasticsearch/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								elasticsearch/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,46 @@ | ||||
| # docker-es-kibana | ||||
| 
 | ||||
| 可以一键部署启动的容器化elasticsearch和kibana服务 | ||||
| 
 | ||||
| ## 说明 | ||||
| 
 | ||||
| 由于网络原因,本项目没有使用elastic官方镜像源,而是引用quay.io源,目前只支持`8.14.2`版本,镜像内容与官方完全一致,未做任何修改。 | ||||
| 
 | ||||
| ## 用法 | ||||
| 
 | ||||
| 在elastic.env文件中配置环境变量 | ||||
| 
 | ||||
| ```ini | ||||
| # Password for the 'elastic' user (at least 6 characters) | ||||
| ELASTIC_PASSWORD=password-for-elastic | ||||
| 
 | ||||
| # Password for the 'kibana_system' user (at least 6 characters) | ||||
| KIBANA_PASSWORD=password-for-kibana_system | ||||
| 
 | ||||
| # Version of Elastic products | ||||
| STACK_VERSION=8.14.2 | ||||
| 
 | ||||
| # Set the cluster name | ||||
| CLUSTER_NAME=docker-cluster | ||||
| 
 | ||||
| # Set to 'basic' or 'trial' to automatically start the 30-day trial | ||||
| LICENSE=basic | ||||
| #LICENSE=trial | ||||
| 
 | ||||
| # Port to expose Elasticsearch HTTP API to the host | ||||
| ES_PORT=9200 | ||||
| #ES_PORT=127.0.0.1:9200 | ||||
| 
 | ||||
| # Port to expose Kibana to the host | ||||
| KIBANA_PORT=5601 | ||||
| #KIBANA_PORT=80 | ||||
| 
 | ||||
| # Increase or decrease based on the available host memory (in bytes) | ||||
| MEM_LIMIT=1073741824 | ||||
| ``` | ||||
| 
 | ||||
| 启动容器 | ||||
| 
 | ||||
| ```sh | ||||
| docker compose up -d | ||||
| ``` | ||||
							
								
								
									
										2
									
								
								elasticsearch/certs/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								elasticsearch/certs/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										124
									
								
								elasticsearch/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								elasticsearch/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,124 @@ | ||||
| services: | ||||
|   es-setup: | ||||
|     image: quay.io/wandoubaba517/elasticsearch:${STACK_VERSION} | ||||
|     volumes: | ||||
|       - ./certs:/usr/share/elasticsearch/config/certs | ||||
|     user: "0" | ||||
|     command: > | ||||
|       bash -c ' | ||||
|         if [ x${ELASTIC_PASSWORD} == x ]; then | ||||
|           echo "Set the ELASTIC_PASSWORD environment variable in the .env file"; | ||||
|           exit 1; | ||||
|         elif [ x${KIBANA_PASSWORD} == x ]; then | ||||
|           echo "Set the KIBANA_PASSWORD environment variable in the .env file"; | ||||
|           exit 1; | ||||
|         fi; | ||||
|         if [ ! -f config/certs/ca.zip ]; then | ||||
|           echo "Creating CA"; | ||||
|           bin/elasticsearch-certutil ca --silent --pem -out config/certs/ca.zip; | ||||
|           unzip config/certs/ca.zip -d config/certs; | ||||
|         fi; | ||||
|         if [ ! -f config/certs/certs.zip ]; then | ||||
|           echo "Creating certs"; | ||||
|           echo -ne \ | ||||
|           "instances:\n"\ | ||||
|           "  - name: es\n"\ | ||||
|           "    dns:\n"\ | ||||
|           "      - es\n"\ | ||||
|           "      - localhost\n"\ | ||||
|           "    ip:\n"\ | ||||
|           "      - 127.0.0.1\n"\ | ||||
|           > config/certs/instances.yml; | ||||
|           bin/elasticsearch-certutil cert --silent --pem -out config/certs/certs.zip --in config/certs/instances.yml --ca-cert config/certs/ca/ca.crt --ca-key config/certs/ca/ca.key; | ||||
|           unzip config/certs/certs.zip -d config/certs; | ||||
|         fi; | ||||
|         echo "Setting file permissions" | ||||
|         chown -R root:root config/certs; | ||||
|         find . -type d -exec chmod 750 \{\} \;; | ||||
|         find . -type f -exec chmod 640 \{\} \;; | ||||
|         echo "Waiting for Elasticsearch availability"; | ||||
|         until curl -s --cacert config/certs/ca/ca.crt https://es:9200 | grep -q "missing authentication credentials"; do sleep 30; done; | ||||
|         echo "Setting kibana_system password"; | ||||
|         until curl -s -X POST --cacert config/certs/ca/ca.crt -u "elastic:${ELASTIC_PASSWORD}" -H "Content-Type: application/json" https://es:9200/_security/user/kibana_system/_password -d "{\"password\":\"${KIBANA_PASSWORD}\"}" | grep -q "^{}"; do sleep 10; done; | ||||
|         echo "All done!"; | ||||
|       ' | ||||
|     healthcheck: | ||||
|       test: ["CMD-SHELL", "[ -f config/certs/es/es.crt ]"] | ||||
|       interval: 1s | ||||
|       timeout: 5s | ||||
|       retries: 120 | ||||
| 
 | ||||
|   es: | ||||
|     depends_on: | ||||
|       es-setup: | ||||
|         condition: service_healthy | ||||
|     image: quay.io/wandoubaba517/elasticsearch:${STACK_VERSION} | ||||
|     container_name: es | ||||
|     restart: always | ||||
|     volumes: | ||||
|       - ./certs:/usr/share/elasticsearch/config/certs | ||||
|       - ./esdata:/usr/share/elasticsearch/data | ||||
|       - ./eslogs:/usr/share/elasticsearch/logs | ||||
|       - ./plugins/ik:/usr/share/elasticsearch/plugins/ik | ||||
|     ports: | ||||
|       - ${ES_PORT}:9200 | ||||
|     environment: | ||||
|       - node.name=es | ||||
|       - cluster.name=${CLUSTER_NAME} | ||||
|       - cluster.initial_master_nodes=es | ||||
|       - ELASTIC_PASSWORD=${ELASTIC_PASSWORD} | ||||
|       - bootstrap.memory_lock=true | ||||
|       - xpack.security.enabled=true | ||||
|       - xpack.security.http.ssl.enabled=true | ||||
|       - xpack.security.http.ssl.key=certs/es/es.key | ||||
|       - xpack.security.http.ssl.certificate=certs/es/es.crt | ||||
|       - xpack.security.http.ssl.certificate_authorities=certs/ca/ca.crt | ||||
|       - xpack.security.transport.ssl.enabled=true | ||||
|       - xpack.security.transport.ssl.key=certs/es/es.key | ||||
|       - xpack.security.transport.ssl.certificate=certs/es/es.crt | ||||
|       - xpack.security.transport.ssl.certificate_authorities=certs/ca/ca.crt | ||||
|       - xpack.security.transport.ssl.verification_mode=certificate | ||||
|       - xpack.license.self_generated.type=${LICENSE} | ||||
|     mem_limit: ${MEM_LIMIT} | ||||
|     ulimits: | ||||
|       memlock: | ||||
|         soft: -1 | ||||
|         hard: -1 | ||||
|     healthcheck: | ||||
|       test: | ||||
|         [ | ||||
|           "CMD-SHELL", | ||||
|           "curl -s --cacert config/certs/ca/ca.crt https://localhost:9200 | grep -q 'missing authentication credentials'", | ||||
|         ] | ||||
|       interval: 10s | ||||
|       timeout: 10s | ||||
|       retries: 120 | ||||
| 
 | ||||
|   kibana: | ||||
|     depends_on: | ||||
|       es: | ||||
|         condition: service_healthy | ||||
|     image: quay.io/wandoubaba517/kibana:${STACK_VERSION} | ||||
|     container_name: kibana | ||||
|     restart: always | ||||
|     volumes: | ||||
|       - ./certs:/usr/share/kibana/config/certs | ||||
|       - ./kibanadata:/usr/share/kibana/data | ||||
|     ports: | ||||
|       - ${KIBANA_PORT}:5601 | ||||
|     environment: | ||||
|       - SERVERNAME=kibana | ||||
|       - ELASTICSEARCH_HOSTS=https://es:9200 | ||||
|       - ELASTICSEARCH_USERNAME=kibana_system | ||||
|       - ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD} | ||||
|       - ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=config/certs/ca/ca.crt | ||||
|     mem_limit: ${MEM_LIMIT} | ||||
|     healthcheck: | ||||
|       test: | ||||
|         [ | ||||
|           "CMD-SHELL", | ||||
|           "curl -s -I http://localhost:5601 | grep -q 'HTTP/1.1 302 Found'", | ||||
|         ] | ||||
|       interval: 10s | ||||
|       timeout: 10s | ||||
|       retries: 120 | ||||
							
								
								
									
										2
									
								
								elasticsearch/esdata/.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								elasticsearch/esdata/.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										2
									
								
								elasticsearch/eslogs/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								elasticsearch/eslogs/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										2
									
								
								elasticsearch/kibanadata/.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								elasticsearch/kibanadata/.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/.DS_Store
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/.DS_Store
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/commons-codec-1.11.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/commons-codec-1.11.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/commons-logging-1.2.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/commons-logging-1.2.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										13
									
								
								elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> | ||||
| <properties> | ||||
| 	<comment>IK Analyzer 扩展配置</comment> | ||||
| 	<!--用户可以在这里配置自己的扩展字典 --> | ||||
| 	<entry key="ext_dict"></entry> | ||||
| 	 <!--用户可以在这里配置自己的扩展停止词字典--> | ||||
| 	<entry key="ext_stopwords"></entry> | ||||
| 	<!--用户可以在这里配置远程扩展字典 --> | ||||
| 	<!-- <entry key="remote_ext_dict">words_location</entry> --> | ||||
| 	<!--用户可以在这里配置远程扩展停止词字典--> | ||||
| 	<!-- <entry key="remote_ext_stopwords">words_location</entry> --> | ||||
| </properties> | ||||
							
								
								
									
										398716
									
								
								elasticsearch/plugins/ik/config/extra_main.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										398716
									
								
								elasticsearch/plugins/ik/config/extra_main.dic
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										12638
									
								
								elasticsearch/plugins/ik/config/extra_single_word.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12638
									
								
								elasticsearch/plugins/ik/config/extra_single_word.dic
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										12638
									
								
								elasticsearch/plugins/ik/config/extra_single_word_full.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12638
									
								
								elasticsearch/plugins/ik/config/extra_single_word_full.dic
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2714
									
								
								elasticsearch/plugins/ik/config/extra_single_word_low_freq.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2714
									
								
								elasticsearch/plugins/ik/config/extra_single_word_low_freq.dic
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										31
									
								
								elasticsearch/plugins/ik/config/extra_stopword.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								elasticsearch/plugins/ik/config/extra_stopword.dic
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,31 @@ | ||||
| 也 | ||||
| 了 | ||||
| 仍 | ||||
| 从 | ||||
| 以 | ||||
| 使 | ||||
| 则 | ||||
| 却 | ||||
| 又 | ||||
| 及 | ||||
| 对 | ||||
| 就 | ||||
| 并 | ||||
| 很 | ||||
| 或 | ||||
| 把 | ||||
| 是 | ||||
| 的 | ||||
| 着 | ||||
| 给 | ||||
| 而 | ||||
| 被 | ||||
| 让 | ||||
| 在 | ||||
| 还 | ||||
| 比 | ||||
| 等 | ||||
| 当 | ||||
| 与 | ||||
| 于 | ||||
| 但 | ||||
							
								
								
									
										275909
									
								
								elasticsearch/plugins/ik/config/main.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										275909
									
								
								elasticsearch/plugins/ik/config/main.dic
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										25
									
								
								elasticsearch/plugins/ik/config/preposition.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								elasticsearch/plugins/ik/config/preposition.dic
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| 不 | ||||
| 也 | ||||
| 了 | ||||
| 仍 | ||||
| 从 | ||||
| 以 | ||||
| 使 | ||||
| 则 | ||||
| 却 | ||||
| 又 | ||||
| 及 | ||||
| 对 | ||||
| 就 | ||||
| 并 | ||||
| 很 | ||||
| 或 | ||||
| 把 | ||||
| 是 | ||||
| 的 | ||||
| 着 | ||||
| 给 | ||||
| 而 | ||||
| 被 | ||||
| 让 | ||||
| 但 | ||||
							
								
								
									
										316
									
								
								elasticsearch/plugins/ik/config/quantifier.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										316
									
								
								elasticsearch/plugins/ik/config/quantifier.dic
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,316 @@ | ||||
| 丈 | ||||
| 下 | ||||
| 世 | ||||
| 世纪 | ||||
| 两 | ||||
| 个 | ||||
| 中 | ||||
| 串 | ||||
| 亩 | ||||
| 人 | ||||
| 介 | ||||
| 付 | ||||
| 代 | ||||
| 件 | ||||
| 任 | ||||
| 份 | ||||
| 伏 | ||||
| 伙 | ||||
| 位 | ||||
| 位数 | ||||
| 例 | ||||
| 倍 | ||||
| 像素 | ||||
| 元 | ||||
| 克 | ||||
| 克拉 | ||||
| 公亩 | ||||
| 公克 | ||||
| 公分 | ||||
| 公升 | ||||
| 公尺 | ||||
| 公担 | ||||
| 公斤 | ||||
| 公里 | ||||
| 公顷 | ||||
| 具 | ||||
| 册 | ||||
| 出 | ||||
| 刀 | ||||
| 分 | ||||
| 分钟 | ||||
| 分米 | ||||
| 划 | ||||
| 列 | ||||
| 则 | ||||
| 刻 | ||||
| 剂 | ||||
| 剑 | ||||
| 副 | ||||
| 加仑 | ||||
| 勺 | ||||
| 包 | ||||
| 匙 | ||||
| 匹 | ||||
| 区 | ||||
| 千克 | ||||
| 千米 | ||||
| 升 | ||||
| 卷 | ||||
| 厅 | ||||
| 厘 | ||||
| 厘米 | ||||
| 双 | ||||
| 发 | ||||
| 口 | ||||
| 句 | ||||
| 只 | ||||
| 台 | ||||
| 叶 | ||||
| 号 | ||||
| 名 | ||||
| 吨 | ||||
| 听 | ||||
| 员 | ||||
| 周 | ||||
| 周年 | ||||
| 品 | ||||
| 回 | ||||
| 团 | ||||
| 圆 | ||||
| 圈 | ||||
| 地 | ||||
| 场 | ||||
| 块 | ||||
| 坪 | ||||
| 堆 | ||||
| 声 | ||||
| 壶 | ||||
| 处 | ||||
| 夜 | ||||
| 大 | ||||
| 天 | ||||
| 头 | ||||
| 套 | ||||
| 女 | ||||
| 孔 | ||||
| 字 | ||||
| 宗 | ||||
| 室 | ||||
| 家 | ||||
| 寸 | ||||
| 对 | ||||
| 封 | ||||
| 尊 | ||||
| 小时 | ||||
| 尺 | ||||
| 尾 | ||||
| 局 | ||||
| 层 | ||||
| 届 | ||||
| 岁 | ||||
| 师 | ||||
| 帧 | ||||
| 幅 | ||||
| 幕 | ||||
| 幢 | ||||
| 平方 | ||||
| 平方公尺 | ||||
| 平方公里 | ||||
| 平方分米 | ||||
| 平方厘米 | ||||
| 平方码 | ||||
| 平方米 | ||||
| 平方英寸 | ||||
| 平方英尺 | ||||
| 平方英里 | ||||
| 平米 | ||||
| 年 | ||||
| 年代 | ||||
| 年级 | ||||
| 度 | ||||
| 座 | ||||
| 式 | ||||
| 引 | ||||
| 张 | ||||
| 成 | ||||
| 战 | ||||
| 截 | ||||
| 户 | ||||
| 房 | ||||
| 所 | ||||
| 扇 | ||||
| 手 | ||||
| 打 | ||||
| 批 | ||||
| 把 | ||||
| 折 | ||||
| 担 | ||||
| 拍 | ||||
| 招 | ||||
| 拨 | ||||
| 拳 | ||||
| 指 | ||||
| 掌 | ||||
| 排 | ||||
| 撮 | ||||
| 支 | ||||
| 文 | ||||
| 斗 | ||||
| 斤 | ||||
| 方 | ||||
| 族 | ||||
| 日 | ||||
| 时 | ||||
| 曲 | ||||
| 月 | ||||
| 月份 | ||||
| 期 | ||||
| 本 | ||||
| 朵 | ||||
| 村 | ||||
| 束 | ||||
| 条 | ||||
| 来 | ||||
| 杯 | ||||
| 枚 | ||||
| 枝 | ||||
| 枪 | ||||
| 架 | ||||
| 柄 | ||||
| 柜 | ||||
| 栋 | ||||
| 栏 | ||||
| 株 | ||||
| 样 | ||||
| 根 | ||||
| 格 | ||||
| 案 | ||||
| 桌 | ||||
| 档 | ||||
| 桩 | ||||
| 桶 | ||||
| 梯 | ||||
| 棵 | ||||
| 楼 | ||||
| 次 | ||||
| 款 | ||||
| 步 | ||||
| 段 | ||||
| 毛 | ||||
| 毫 | ||||
| 毫升 | ||||
| 毫米 | ||||
| 毫克 | ||||
| 池 | ||||
| 洲 | ||||
| 派 | ||||
| 海里 | ||||
| 滴 | ||||
| 炮 | ||||
| 点 | ||||
| 点钟 | ||||
| 片 | ||||
| 版 | ||||
| 环 | ||||
| 班 | ||||
| 瓣 | ||||
| 瓶 | ||||
| 生 | ||||
| 男 | ||||
| 画 | ||||
| 界 | ||||
| 盆 | ||||
| 盎司 | ||||
| 盏 | ||||
| 盒 | ||||
| 盘 | ||||
| 相 | ||||
| 眼 | ||||
| 石 | ||||
| 码 | ||||
| 碗 | ||||
| 碟 | ||||
| 磅 | ||||
| 种 | ||||
| 科 | ||||
| 秒 | ||||
| 秒钟 | ||||
| 窝 | ||||
| 立方公尺 | ||||
| 立方分米 | ||||
| 立方厘米 | ||||
| 立方码 | ||||
| 立方米 | ||||
| 立方英寸 | ||||
| 立方英尺 | ||||
| 站 | ||||
| 章 | ||||
| 笔 | ||||
| 等 | ||||
| 筐 | ||||
| 筒 | ||||
| 箱 | ||||
| 篇 | ||||
| 篓 | ||||
| 篮 | ||||
| 簇 | ||||
| 米 | ||||
| 类 | ||||
| 粒 | ||||
| 级 | ||||
| 组 | ||||
| 维 | ||||
| 缕 | ||||
| 缸 | ||||
| 罐 | ||||
| 网 | ||||
| 群 | ||||
| 股 | ||||
| 脚 | ||||
| 船 | ||||
| 艇 | ||||
| 艘 | ||||
| 色 | ||||
| 节 | ||||
| 英亩 | ||||
| 英寸 | ||||
| 英尺 | ||||
| 英里 | ||||
| 行 | ||||
| 袋 | ||||
| 角 | ||||
| 言 | ||||
| 课 | ||||
| 起 | ||||
| 趟 | ||||
| 路 | ||||
| 车 | ||||
| 转 | ||||
| 轮 | ||||
| 辆 | ||||
| 辈 | ||||
| 连 | ||||
| 通 | ||||
| 遍 | ||||
| 部 | ||||
| 里 | ||||
| 重 | ||||
| 针 | ||||
| 钟 | ||||
| 钱 | ||||
| 锅 | ||||
| 门 | ||||
| 间 | ||||
| 队 | ||||
| 阶段 | ||||
| 隅 | ||||
| 集 | ||||
| 页 | ||||
| 顶 | ||||
| 顷 | ||||
| 项 | ||||
| 顿 | ||||
| 颗 | ||||
| 餐 | ||||
| 首 | ||||
							
								
								
									
										33
									
								
								elasticsearch/plugins/ik/config/stopword.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								elasticsearch/plugins/ik/config/stopword.dic
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | ||||
| a | ||||
| an | ||||
| and | ||||
| are | ||||
| as | ||||
| at | ||||
| be | ||||
| but | ||||
| by | ||||
| for | ||||
| if | ||||
| in | ||||
| into | ||||
| is | ||||
| it | ||||
| no | ||||
| not | ||||
| of | ||||
| on | ||||
| or | ||||
| such | ||||
| that | ||||
| the | ||||
| their | ||||
| then | ||||
| there | ||||
| these | ||||
| they | ||||
| this | ||||
| to | ||||
| was | ||||
| will | ||||
| with | ||||
							
								
								
									
										37
									
								
								elasticsearch/plugins/ik/config/suffix.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								elasticsearch/plugins/ik/config/suffix.dic
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| 乡 | ||||
| 井 | ||||
| 亭 | ||||
| 党 | ||||
| 区 | ||||
| 厅 | ||||
| 县 | ||||
| 园 | ||||
| 塔 | ||||
| 家 | ||||
| 寺 | ||||
| 局 | ||||
| 巷 | ||||
| 市 | ||||
| 弄 | ||||
| 所 | ||||
| 斯基 | ||||
| 楼 | ||||
| 江 | ||||
| 河 | ||||
| 海 | ||||
| 湖 | ||||
| 省 | ||||
| 维奇 | ||||
| 署 | ||||
| 苑 | ||||
| 街 | ||||
| 觀 | ||||
| 观 | ||||
| 诺夫 | ||||
| 路 | ||||
| 部 | ||||
| 镇 | ||||
| 阁 | ||||
| 山 | ||||
| 子 | ||||
| 娃 | ||||
							
								
								
									
										131
									
								
								elasticsearch/plugins/ik/config/surname.dic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								elasticsearch/plugins/ik/config/surname.dic
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,131 @@ | ||||
| 丁 | ||||
| 万 | ||||
| 万俟 | ||||
| 上官 | ||||
| 东方 | ||||
| 乔 | ||||
| 于 | ||||
| 令狐 | ||||
| 仲孙 | ||||
| 任 | ||||
| 何 | ||||
| 余 | ||||
| 候 | ||||
| 傅 | ||||
| 公冶 | ||||
| 公孙 | ||||
| 公羊 | ||||
| 冯 | ||||
| 刘 | ||||
| 单 | ||||
| 单于 | ||||
| 卢 | ||||
| 史 | ||||
| 叶 | ||||
| 司徒 | ||||
| 司空 | ||||
| 司马 | ||||
| 吕 | ||||
| 吴 | ||||
| 周 | ||||
| 唐 | ||||
| 夏 | ||||
| 夏侯 | ||||
| 太叔 | ||||
| 姚 | ||||
| 姜 | ||||
| 孔 | ||||
| 孙 | ||||
| 孟 | ||||
| 宇文 | ||||
| 宋 | ||||
| 宗政 | ||||
| 尉迟 | ||||
| 尹 | ||||
| 崔 | ||||
| 常 | ||||
| 康 | ||||
| 廖 | ||||
| 张 | ||||
| 彭 | ||||
| 徐 | ||||
| 慕容 | ||||
| 戴 | ||||
| 文 | ||||
| 方 | ||||
| 易 | ||||
| 曹 | ||||
| 曾 | ||||
| 朱 | ||||
| 李 | ||||
| 杜 | ||||
| 杨 | ||||
| 林 | ||||
| 梁 | ||||
| 欧阳 | ||||
| 武 | ||||
| 段 | ||||
| 毛 | ||||
| 江 | ||||
| 汤 | ||||
| 沈 | ||||
| 淳于 | ||||
| 潘 | ||||
| 澹台 | ||||
| 濮阳 | ||||
| 熊 | ||||
| 王 | ||||
| 田 | ||||
| 申屠 | ||||
| 白 | ||||
| 皇甫 | ||||
| 石 | ||||
| 秦 | ||||
| 程 | ||||
| 罗 | ||||
| 肖 | ||||
| 胡 | ||||
| 苏 | ||||
| 范 | ||||
| 董 | ||||
| 蒋 | ||||
| 薛 | ||||
| 袁 | ||||
| 许 | ||||
| 诸葛 | ||||
| 谢 | ||||
| 谭 | ||||
| 贺 | ||||
| 贾 | ||||
| 赖 | ||||
| 赫连 | ||||
| 赵 | ||||
| 轩辕 | ||||
| 邓 | ||||
| 邱 | ||||
| 邵 | ||||
| 邹 | ||||
| 郑 | ||||
| 郝 | ||||
| 郭 | ||||
| 金 | ||||
| 钟 | ||||
| 钟离 | ||||
| 钱 | ||||
| 长孙 | ||||
| 闻人 | ||||
| 闾丘 | ||||
| 阎 | ||||
| 陆 | ||||
| 陈 | ||||
| 雷 | ||||
| 韩 | ||||
| 顾 | ||||
| 马 | ||||
| 高 | ||||
| 魏 | ||||
| 鲜于 | ||||
| 黄 | ||||
| 黎 | ||||
| 龙 | ||||
| 龚 | ||||
							
								
								
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/elasticsearch-analysis-ik-8.14.2.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/elasticsearch-analysis-ik-8.14.2.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/httpclient-4.5.13.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/httpclient-4.5.13.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/httpcore-4.4.13.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/httpcore-4.4.13.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/ik-core-1.0.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								elasticsearch/plugins/ik/ik-core-1.0.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										56
									
								
								elasticsearch/plugins/ik/plugin-descriptor.properties
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								elasticsearch/plugins/ik/plugin-descriptor.properties
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| # Elasticsearch plugin descriptor file | ||||
| # This file must exist as 'plugin-descriptor.properties' at | ||||
| # the root directory of all plugins. | ||||
| # | ||||
| # A plugin can be 'site', 'jvm', or both. | ||||
| # | ||||
| ### example site plugin for "foo": | ||||
| # | ||||
| # foo.zip <-- zip file for the plugin, with this structure: | ||||
| #   _site/ <-- the contents that will be served | ||||
| #   plugin-descriptor.properties <-- example contents below: | ||||
| # | ||||
| # site=true | ||||
| # description=My cool plugin | ||||
| # version=1.0 | ||||
| # | ||||
| ### example jvm plugin for "foo" | ||||
| # | ||||
| # foo.zip <-- zip file for the plugin, with this structure: | ||||
| #   <arbitrary name1>.jar <-- classes, resources, dependencies | ||||
| #   <arbitrary nameN>.jar <-- any number of jars | ||||
| #   plugin-descriptor.properties <-- example contents below: | ||||
| # | ||||
| # jvm=true | ||||
| # classname=foo.bar.BazPlugin | ||||
| # description=My cool plugin | ||||
| # version=2.0.0-rc1 | ||||
| # elasticsearch.version=2.0 | ||||
| # java.version=1.7 | ||||
| # | ||||
| ### mandatory elements for all plugins: | ||||
| # | ||||
| # 'description': simple summary of the plugin | ||||
| description=IK Analyzer for Elasticsearch | ||||
| # | ||||
| # 'version': plugin's version | ||||
| version=8.14.2 | ||||
| # | ||||
| # 'name': the plugin name | ||||
| name=analysis-ik | ||||
| # | ||||
| # 'classname': the name of the class to load, fully-qualified. | ||||
| classname=com.infinilabs.ik.elasticsearch.AnalysisIkPlugin | ||||
| # | ||||
| # 'java.version' version of java the code is built against | ||||
| # use the system property java.specification.version | ||||
| # version string must be a sequence of nonnegative decimal integers | ||||
| # separated by "."'s and may have leading zeros | ||||
| java.version=1.8 | ||||
| # | ||||
| # 'elasticsearch.version' version of elasticsearch compiled against | ||||
| # You will have to release a new version of the plugin for each new | ||||
| # elasticsearch release. This version is checked when the plugin | ||||
| # is loaded so Elasticsearch will refuse to start in the presence of | ||||
| # plugins with the incorrect elasticsearch.version. | ||||
| elasticsearch.version=8.14.2 | ||||
							
								
								
									
										4
									
								
								elasticsearch/plugins/ik/plugin-security.policy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								elasticsearch/plugins/ik/plugin-security.policy
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| grant { | ||||
|   // needed because of the hot reload functionality | ||||
|   permission java.net.SocketPermission "*", "connect,resolve"; | ||||
| }; | ||||
							
								
								
									
										2
									
								
								minio/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								minio/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										39
									
								
								mongo/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								mongo/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| # docker-mongo | ||||
| 
 | ||||
| A docker based mongodb server. | ||||
| 
 | ||||
| ## Usage | ||||
| 
 | ||||
| ```sh | ||||
| git clone https://git.wandoubaba.com/wandoubaba/docker-mongo.git | ||||
| cd docker-mongo | ||||
| docker compose up -d | ||||
| ``` | ||||
| 
 | ||||
| ## Configuration | ||||
| 
 | ||||
| ### Password | ||||
| 
 | ||||
| Edit `docker-compose.yml`: | ||||
| 
 | ||||
| ```yml | ||||
| MONGO_INITDB_ROOT_USERNAME: username | ||||
| MONGO_INITDB_ROOT_PASSWORD: password | ||||
| ``` | ||||
| 
 | ||||
| ### Port | ||||
| 
 | ||||
| Edit `conf/mongod.conf`: | ||||
| 
 | ||||
| ```conf | ||||
| net: | ||||
|   port: 27017 | ||||
| ``` | ||||
| 
 | ||||
| ### Timezone | ||||
| 
 | ||||
| Edit `docker-compose.yml` | ||||
| 
 | ||||
| ```yml | ||||
| TZ: Asia/Shanghai | ||||
| ``` | ||||
							
								
								
									
										39
									
								
								mongo/conf/mongod.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								mongo/conf/mongod.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| # mongod.conf | ||||
| 
 | ||||
| # for documentation of all options, see: | ||||
| #   http://docs.mongodb.org/manual/reference/configuration-options/ | ||||
| 
 | ||||
| # Where and how to store data. | ||||
| storage: | ||||
|   dbPath: /data/db | ||||
| #  engine: | ||||
| #  wiredTiger: | ||||
| 
 | ||||
| # where to write logging data. | ||||
| # systemLog: | ||||
| #   destination: file | ||||
| #   logAppend: true | ||||
| #   path: /var/log/mongodb/mongod.log | ||||
| 
 | ||||
| # network interfaces | ||||
| net: | ||||
|   port: 27017 | ||||
|   bindIp: 0.0.0.0 | ||||
| 
 | ||||
| # how the process runs | ||||
| processManagement: | ||||
|   timeZoneInfo: /usr/share/zoneinfo | ||||
| 
 | ||||
| #security: | ||||
| 
 | ||||
| #operationProfiling: | ||||
| 
 | ||||
| #replication: | ||||
| 
 | ||||
| #sharding: | ||||
| 
 | ||||
| ## Enterprise-Only Options: | ||||
| 
 | ||||
| #auditLog: | ||||
| 
 | ||||
| #snmp: | ||||
							
								
								
									
										2
									
								
								mongo/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								mongo/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										111
									
								
								nginx/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								nginx/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,111 @@ | ||||
| # docker-nginx | ||||
| 
 | ||||
| 基于docker实现的nginx服务 | ||||
| 
 | ||||
| ## 使用方法 | ||||
| 
 | ||||
| ```sh | ||||
| git clone https://git.wandoubaba.com/wandoubaba/docker-nginx.git | ||||
| cd docker-nginx | ||||
| docker compose up -d | ||||
| ``` | ||||
| 
 | ||||
| 服务启停方法 | ||||
| 
 | ||||
| ```sh | ||||
| # 停止服务 | ||||
| ./service stop | ||||
| # 启动服务 | ||||
| ./service start | ||||
| # 重启服务(service脚本中的容器名称要与docker-compose.yml文件中的容器名称对应) | ||||
| ./service restart | ||||
| # 重载配置 | ||||
| ./service reload | ||||
| # 服务状态 | ||||
| ./service status | ||||
| ``` | ||||
| 
 | ||||
| ## 配置 | ||||
| 
 | ||||
| - 在`docker-compose.yml`中可以修改容器名称。 | ||||
| - `conf/conf.d/default.conf`文件是默认站点的配置文件。 | ||||
| - 在`conf/conf.d/`中可以创建多个站点的配置文件,注意相互之间的域名和端口号不要同时冲突。 | ||||
| 
 | ||||
| ## SSL配置 | ||||
| 
 | ||||
| 以域名`nice.ali02.wandoubaba.com`为例。 | ||||
| 
 | ||||
| 创建文件`conf/conf.d/nice.ali02.wandoubaba.com.conf`,文件内容参考如下: | ||||
| 
 | ||||
| ```conf | ||||
| server { | ||||
|     listen       443 ssl; | ||||
|     server_name  ali02.wandoubaba.com; | ||||
| 
 | ||||
|     ssl_certificate /etc/nginx/certs/ali02_wandoubaba_com_cert.pem; # 证书文件路径 | ||||
|     ssl_certificate_key /etc/nginx/certs/ali02_wandoubaba_com_key.pem; # 私钥文件路径 | ||||
|   | ||||
|     ssl_session_cache shared:SSL:1m; | ||||
|     ssl_session_timeout  10m; | ||||
|     ssl_ciphers HIGH:!aNULL:!MD5; | ||||
|     ssl_prefer_server_ciphers on; | ||||
| 
 | ||||
|     #access_log  /var/log/nginx/host.access.log  main; | ||||
| 
 | ||||
|     location / { | ||||
|         root   /usr/share/nginx/html; | ||||
|         index  index.html index.htm; | ||||
|         # 下面这行可以解决vue网页刷新后404的问题,但会将所有不存在的url转到index.html上 | ||||
|         # try_files   $uri    $uri/   /index.html last; | ||||
|     } | ||||
| 
 | ||||
|     error_page  404              /404.html; | ||||
|     location = /404.html { | ||||
|         root   /usr/share/nginx/html; | ||||
|     } | ||||
| 
 | ||||
|     # redirect server error pages to the static page /50x.html | ||||
|     # | ||||
|     error_page   500 502 503 504  /50x.html; | ||||
|     location = /50x.html { | ||||
|         root   /usr/share/nginx/html; | ||||
|     } | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| 其中`/etc/nginx/certs/`这个路径是容器内的路径,对应宿主机中的`conf/certs/`目录,所以我们要确保在`conf/certs`目录内存在`ali02_wandoubaba_com_cert.pem`和`ali02_wandoubaba_com_key.pem`这两个文件。至于这两个文件的来源,应该来自于SSL证书的提供商,文件名和文件后缀或许会不同。 | ||||
| 
 | ||||
| ### ACME自动部署SSL证书 | ||||
| 
 | ||||
| 下面我们以`freessl.cn`平台上的免费证书为例,可以通过`acme`实现证书自动化部署和续签,仍以`nice.ali02.wandoubaba.com`为例: | ||||
| 
 | ||||
| | 条件 | 具体值 | | ||||
| |---|---| | ||||
| |证书平台|freessl.cn| | ||||
| |域名|nice.ali02.wandoubaba.com| | ||||
| |证书文件路径(宿主机上的绝对路径)|`/app/nginx/conf/certs/nice_ali02_wandoubaba_com_cert.pem`| | ||||
| |证书私钥文件路径(宿主机上的绝对路径)|`/app/nginx/conf/certs/nice_ali02_wandoubaba_com_key.pem`| | ||||
| 
 | ||||
| 安装`acme.sh`工具: | ||||
| 
 | ||||
| ```sh | ||||
| curl https://get.acme.sh | sh -s email=my@example.com | ||||
| ``` | ||||
| 
 | ||||
| 安装完成后需要退出终端重新进入一次。 | ||||
| 
 | ||||
| 接下来可以使用`acme.sh`命令实现证书自动化部署了,命令示例: | ||||
| 
 | ||||
| ```sh | ||||
| acme.sh --install-cert \ | ||||
| -d nice.ali02.wandoubaba.com \ | ||||
| --key-file /app/nginx/conf/certs/nice_ali02_wandoubaba_com_key.pem  \ | ||||
| --fullchain-file /app/nginx/conf/certs/nice_ali02_wandoubaba_com_cert.pem \ | ||||
| --reloadcmd "/app/nginx/service reload" | ||||
| ``` | ||||
| 
 | ||||
| ## 最佳实践 | ||||
| 
 | ||||
| 建议不要在本项目的目录中加入任何业务文件,本项目做为单独目录,只提供nginx服务。 | ||||
| 
 | ||||
| 本项目目录完全可以交给运维人员维护,前后端程序员只专注于各自的业务项目,由运维人员做好代理和转发。 | ||||
							
								
								
									
										2
									
								
								nginx/conf/certs/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								nginx/conf/certs/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										210
									
								
								nginx/conf/conf.d/default.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										210
									
								
								nginx/conf/conf.d/default.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,210 @@ | ||||
| server { | ||||
|     listen       80; | ||||
|     listen  [::]:80; | ||||
|     server_name  localhost; | ||||
| 
 | ||||
|     # ssl | ||||
|     # listen       443 ssl; | ||||
|     # server_name  localhost; | ||||
| 
 | ||||
|     # ssl_certificate /etc/nginx/certs/cert.pem; # 证书文件路径 | ||||
|     # ssl_certificate_key /etc/nginx/certs/key.pem; # 私钥文件路径 | ||||
|   | ||||
|     # ssl_session_cache shared:SSL:1m; | ||||
|     # ssl_session_timeout  10m; | ||||
|     # ssl_ciphers HIGH:!aNULL:!MD5; | ||||
|     # ssl_prefer_server_ciphers on; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     #access_log  /var/log/nginx/host.access.log  main; | ||||
| 
 | ||||
|     location / { | ||||
|         root   /usr/share/nginx/html; | ||||
|         index  index.html index.htm; | ||||
|         # 下面这行可以解决vue网页刷新后404的问题,但会将所有不存在的url转到index.html上 | ||||
|         try_files   $uri    $uri/   /index.html last; | ||||
|     } | ||||
| 
 | ||||
|     # 反向代理示例 | ||||
|     # 将/api/的请求转到127.0.0.1:8787 | ||||
|     # | ||||
|     # location /api/ { | ||||
|     #     proxy_next_upstream http_502 http_504 error timeout invalid_header; | ||||
|     #     proxy_pass http://127.0.0.1:8787/; | ||||
|     #     proxy_set_header Host $host; | ||||
|     #     proxy_set_header X-Real-IP $remote_addr; | ||||
|     #     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|     #     proxy_set_header X-Forwarded-Proto $scheme; | ||||
|     # } | ||||
| 
 | ||||
|     location /pgadmin/ {   | ||||
|         proxy_pass http://pgadmin:80/;   | ||||
|         proxy_set_header Host $host;   | ||||
|         proxy_set_header X-Real-IP $remote_addr;   | ||||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   | ||||
|         proxy_set_header X-Forwarded-Proto $scheme;   | ||||
|         proxy_set_header X-Script-Name /pgadmin; | ||||
|         sub_filter '="/' '="/pgadmin/';  # 将资源引用路径中的=/替换为=/pgadmin/ | ||||
|         sub_filter_once off; | ||||
|     } | ||||
| 
 | ||||
|     # location /kibana/ {   | ||||
|     #     proxy_pass http://kibana:5601/;  # Kibana 运行的地址和端口   | ||||
|     #     proxy_http_version 1.1;   | ||||
|     #     proxy_set_header Upgrade $http_upgrade;   | ||||
|     #     proxy_set_header Connection 'upgrade';   | ||||
|     #     proxy_set_header Host $host;   | ||||
|     #     proxy_cache_bypass $http_upgrade;   | ||||
| 
 | ||||
|     #     # 为了正确处理 Kibana 的资源加载,还需要拼接 URI   | ||||
|     #     proxy_redirect http://kibana:5601/ /kibana/;   | ||||
|     # }   | ||||
| 
 | ||||
|     location /portainer/ {   | ||||
|         rewrite ^/portainer/(.*) /$1 break; | ||||
|         proxy_set_header Host $http_host; | ||||
|         proxy_set_header X-Real-IP $remote_addr; | ||||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|         proxy_set_header X-Forwarded-Proto $scheme; | ||||
|         proxy_set_header X-NginX-Proxy true; | ||||
| 
 | ||||
|         # This is necessary to pass the correct IP to be hashed | ||||
|         real_ip_header X-Real-IP; | ||||
| 
 | ||||
|         proxy_connect_timeout 300; | ||||
| 
 | ||||
|         proxy_http_version 1.1; | ||||
|         proxy_set_header Upgrade $http_upgrade; | ||||
|         proxy_set_header Connection "upgrade"; | ||||
|         # proxy_set_header Origin ''; | ||||
| 
 | ||||
|         chunked_transfer_encoding off; | ||||
| 
 | ||||
|         proxy_pass http://portainer:9000; # This uses the upstream directive definition to load balance | ||||
| 
 | ||||
|         sub_filter '="/' '="/portainer/';  # 将资源引用路径中的=/替换为=/portainer/ | ||||
|         sub_filter_once off; | ||||
|     } | ||||
| 
 | ||||
|     location /mongo/ {   | ||||
|         rewrite ^/mongo/(.*) /$1 break; | ||||
|         proxy_pass http://mongo-express:8081/;   | ||||
|         proxy_set_header Host $http_host; | ||||
|         proxy_set_header X-Real-IP $remote_addr; | ||||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|         proxy_set_header X-Forwarded-Proto $scheme; | ||||
|         proxy_set_header X-NginX-Proxy true; | ||||
| 
 | ||||
|         # This is necessary to pass the correct IP to be hashed | ||||
|         real_ip_header X-Real-IP; | ||||
| 
 | ||||
|         proxy_connect_timeout 300; | ||||
| 
 | ||||
|         # To support websockets | ||||
|         proxy_http_version 1.1; | ||||
|         proxy_set_header Upgrade $http_upgrade; | ||||
|         proxy_set_header Connection "upgrade"; | ||||
|         # Some environments may encounter CORS errors (Kubernetes + Nginx Ingress) | ||||
|         # Uncomment the following line to set the Origin request to an empty string | ||||
|         # proxy_set_header Origin ''; | ||||
| 
 | ||||
|         chunked_transfer_encoding off; | ||||
|         sub_filter '="/' '="/mongo/';  # 将资源引用路径中的=/替换为=/mongo/ | ||||
|         sub_filter_once off; | ||||
|     } | ||||
| 
 | ||||
|     location /minio/ { | ||||
|         rewrite ^/minio/(.*) /$1 break; | ||||
|         proxy_set_header Host $http_host; | ||||
|         proxy_set_header X-Real-IP $remote_addr; | ||||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|         proxy_set_header X-Forwarded-Proto $scheme; | ||||
|         proxy_set_header X-NginX-Proxy true; | ||||
| 
 | ||||
|         # This is necessary to pass the correct IP to be hashed | ||||
|         real_ip_header X-Real-IP; | ||||
| 
 | ||||
|         proxy_connect_timeout 300; | ||||
| 
 | ||||
|         # To support websockets in MinIO versions released after January 2023 | ||||
|         proxy_http_version 1.1; | ||||
|         proxy_set_header Upgrade $http_upgrade; | ||||
|         proxy_set_header Connection "upgrade"; | ||||
|         # Some environments may encounter CORS errors (Kubernetes + Nginx Ingress) | ||||
|         # Uncomment the following line to set the Origin request to an empty string | ||||
|         # proxy_set_header Origin ''; | ||||
| 
 | ||||
|         chunked_transfer_encoding off; | ||||
| 
 | ||||
|         proxy_pass http://minio:9001; # This uses the upstream directive definition to load balance | ||||
| 
 | ||||
|         sub_filter '="/' '="/minio/';  # 将资源引用路径中的=/替换为=/minio/ | ||||
|         sub_filter_once off; | ||||
|    } | ||||
| 
 | ||||
|     location /rabbitmq/ { | ||||
|         rewrite ^/rabbitmq/(.*) /$1 break; | ||||
|         proxy_set_header Host $http_host; | ||||
|         proxy_set_header X-Real-IP $remote_addr; | ||||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|         proxy_set_header X-Forwarded-Proto $scheme; | ||||
|         proxy_set_header X-NginX-Proxy true; | ||||
| 
 | ||||
|         # This is necessary to pass the correct IP to be hashed | ||||
|         real_ip_header X-Real-IP; | ||||
| 
 | ||||
|         proxy_connect_timeout 300; | ||||
| 
 | ||||
|         # To support websockets | ||||
|         proxy_http_version 1.1; | ||||
|         proxy_set_header Upgrade $http_upgrade; | ||||
|         proxy_set_header Connection "upgrade"; | ||||
|         # Some environments may encounter CORS errors (Kubernetes + Nginx Ingress) | ||||
|         # Uncomment the following line to set the Origin request to an empty string | ||||
|         # proxy_set_header Origin ''; | ||||
| 
 | ||||
|         chunked_transfer_encoding off; | ||||
| 
 | ||||
|         proxy_pass http://rabbitmq:15672; # This uses the upstream directive definition to load balance | ||||
| 
 | ||||
|         sub_filter '="/' '="/rabbitmq/';  # 将资源引用路径中的=/替换为=/rabbitmq/ | ||||
|         sub_filter_once off; | ||||
|    } | ||||
| 
 | ||||
|     error_page  404              /404.html; | ||||
|     location = /404.html { | ||||
|         root   /usr/share/nginx/html; | ||||
|     } | ||||
| 
 | ||||
|     # redirect server error pages to the static page /50x.html | ||||
|     # | ||||
|     error_page   500 502 503 504  /50x.html; | ||||
|     location = /50x.html { | ||||
|         root   /usr/share/nginx/html; | ||||
|     } | ||||
| 
 | ||||
|     # proxy the PHP scripts to Apache listening on 127.0.0.1:80 | ||||
|     # | ||||
|     #location ~ \.php$ { | ||||
|     #    proxy_pass   http://127.0.0.1; | ||||
|     #} | ||||
| 
 | ||||
|     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 | ||||
|     # | ||||
|     #location ~ \.php$ { | ||||
|     #    root           html; | ||||
|     #    fastcgi_pass   127.0.0.1:9000; | ||||
|     #    fastcgi_index  index.php; | ||||
|     #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name; | ||||
|     #    include        fastcgi_params; | ||||
|     #} | ||||
| 
 | ||||
|     # deny access to .htaccess files, if Apache's document root | ||||
|     # concurs with nginx's one | ||||
|     # | ||||
|     #location ~ /\.ht { | ||||
|     #    deny  all; | ||||
|     #} | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										25
									
								
								nginx/conf/fastcgi_params
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								nginx/conf/fastcgi_params
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| 
 | ||||
| fastcgi_param  QUERY_STRING       $query_string; | ||||
| fastcgi_param  REQUEST_METHOD     $request_method; | ||||
| fastcgi_param  CONTENT_TYPE       $content_type; | ||||
| fastcgi_param  CONTENT_LENGTH     $content_length; | ||||
| 
 | ||||
| fastcgi_param  SCRIPT_NAME        $fastcgi_script_name; | ||||
| fastcgi_param  REQUEST_URI        $request_uri; | ||||
| fastcgi_param  DOCUMENT_URI       $document_uri; | ||||
| fastcgi_param  DOCUMENT_ROOT      $document_root; | ||||
| fastcgi_param  SERVER_PROTOCOL    $server_protocol; | ||||
| fastcgi_param  REQUEST_SCHEME     $scheme; | ||||
| fastcgi_param  HTTPS              $https if_not_empty; | ||||
| 
 | ||||
| fastcgi_param  GATEWAY_INTERFACE  CGI/1.1; | ||||
| fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version; | ||||
| 
 | ||||
| fastcgi_param  REMOTE_ADDR        $remote_addr; | ||||
| fastcgi_param  REMOTE_PORT        $remote_port; | ||||
| fastcgi_param  SERVER_ADDR        $server_addr; | ||||
| fastcgi_param  SERVER_PORT        $server_port; | ||||
| fastcgi_param  SERVER_NAME        $server_name; | ||||
| 
 | ||||
| # PHP only, required if PHP was built with --enable-force-cgi-redirect | ||||
| fastcgi_param  REDIRECT_STATUS    200; | ||||
							
								
								
									
										99
									
								
								nginx/conf/mime.types
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								nginx/conf/mime.types
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,99 @@ | ||||
| 
 | ||||
| types { | ||||
|     text/html                                        html htm shtml; | ||||
|     text/css                                         css; | ||||
|     text/xml                                         xml; | ||||
|     image/gif                                        gif; | ||||
|     image/jpeg                                       jpeg jpg; | ||||
|     application/javascript                           js; | ||||
|     application/atom+xml                             atom; | ||||
|     application/rss+xml                              rss; | ||||
| 
 | ||||
|     text/mathml                                      mml; | ||||
|     text/plain                                       txt; | ||||
|     text/vnd.sun.j2me.app-descriptor                 jad; | ||||
|     text/vnd.wap.wml                                 wml; | ||||
|     text/x-component                                 htc; | ||||
| 
 | ||||
|     image/avif                                       avif; | ||||
|     image/png                                        png; | ||||
|     image/svg+xml                                    svg svgz; | ||||
|     image/tiff                                       tif tiff; | ||||
|     image/vnd.wap.wbmp                               wbmp; | ||||
|     image/webp                                       webp; | ||||
|     image/x-icon                                     ico; | ||||
|     image/x-jng                                      jng; | ||||
|     image/x-ms-bmp                                   bmp; | ||||
| 
 | ||||
|     font/woff                                        woff; | ||||
|     font/woff2                                       woff2; | ||||
| 
 | ||||
|     application/java-archive                         jar war ear; | ||||
|     application/json                                 json; | ||||
|     application/mac-binhex40                         hqx; | ||||
|     application/msword                               doc; | ||||
|     application/pdf                                  pdf; | ||||
|     application/postscript                           ps eps ai; | ||||
|     application/rtf                                  rtf; | ||||
|     application/vnd.apple.mpegurl                    m3u8; | ||||
|     application/vnd.google-earth.kml+xml             kml; | ||||
|     application/vnd.google-earth.kmz                 kmz; | ||||
|     application/vnd.ms-excel                         xls; | ||||
|     application/vnd.ms-fontobject                    eot; | ||||
|     application/vnd.ms-powerpoint                    ppt; | ||||
|     application/vnd.oasis.opendocument.graphics      odg; | ||||
|     application/vnd.oasis.opendocument.presentation  odp; | ||||
|     application/vnd.oasis.opendocument.spreadsheet   ods; | ||||
|     application/vnd.oasis.opendocument.text          odt; | ||||
|     application/vnd.openxmlformats-officedocument.presentationml.presentation | ||||
|                                                      pptx; | ||||
|     application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | ||||
|                                                      xlsx; | ||||
|     application/vnd.openxmlformats-officedocument.wordprocessingml.document | ||||
|                                                      docx; | ||||
|     application/vnd.wap.wmlc                         wmlc; | ||||
|     application/wasm                                 wasm; | ||||
|     application/x-7z-compressed                      7z; | ||||
|     application/x-cocoa                              cco; | ||||
|     application/x-java-archive-diff                  jardiff; | ||||
|     application/x-java-jnlp-file                     jnlp; | ||||
|     application/x-makeself                           run; | ||||
|     application/x-perl                               pl pm; | ||||
|     application/x-pilot                              prc pdb; | ||||
|     application/x-rar-compressed                     rar; | ||||
|     application/x-redhat-package-manager             rpm; | ||||
|     application/x-sea                                sea; | ||||
|     application/x-shockwave-flash                    swf; | ||||
|     application/x-stuffit                            sit; | ||||
|     application/x-tcl                                tcl tk; | ||||
|     application/x-x509-ca-cert                       der pem crt; | ||||
|     application/x-xpinstall                          xpi; | ||||
|     application/xhtml+xml                            xhtml; | ||||
|     application/xspf+xml                             xspf; | ||||
|     application/zip                                  zip; | ||||
| 
 | ||||
|     application/octet-stream                         bin exe dll; | ||||
|     application/octet-stream                         deb; | ||||
|     application/octet-stream                         dmg; | ||||
|     application/octet-stream                         iso img; | ||||
|     application/octet-stream                         msi msp msm; | ||||
| 
 | ||||
|     audio/midi                                       mid midi kar; | ||||
|     audio/mpeg                                       mp3; | ||||
|     audio/ogg                                        ogg; | ||||
|     audio/x-m4a                                      m4a; | ||||
|     audio/x-realaudio                                ra; | ||||
| 
 | ||||
|     video/3gpp                                       3gpp 3gp; | ||||
|     video/mp2t                                       ts; | ||||
|     video/mp4                                        mp4; | ||||
|     video/mpeg                                       mpeg mpg; | ||||
|     video/quicktime                                  mov; | ||||
|     video/webm                                       webm; | ||||
|     video/x-flv                                      flv; | ||||
|     video/x-m4v                                      m4v; | ||||
|     video/x-mng                                      mng; | ||||
|     video/x-ms-asf                                   asx asf; | ||||
|     video/x-ms-wmv                                   wmv; | ||||
|     video/x-msvideo                                  avi; | ||||
| } | ||||
							
								
								
									
										32
									
								
								nginx/conf/nginx.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								nginx/conf/nginx.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | ||||
| 
 | ||||
| user  nginx; | ||||
| worker_processes  auto; | ||||
| 
 | ||||
| error_log  /var/log/nginx/error.log notice; | ||||
| pid        /var/run/nginx.pid; | ||||
| 
 | ||||
| 
 | ||||
| events { | ||||
|     worker_connections  1024; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| http { | ||||
|     include       /etc/nginx/mime.types; | ||||
|     default_type  application/octet-stream; | ||||
| 
 | ||||
|     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' | ||||
|                       '$status $body_bytes_sent "$http_referer" ' | ||||
|                       '"$http_user_agent" "$http_x_forwarded_for"'; | ||||
| 
 | ||||
|     access_log  /var/log/nginx/access.log  main; | ||||
| 
 | ||||
|     sendfile        on; | ||||
|     #tcp_nopush     on; | ||||
| 
 | ||||
|     keepalive_timeout  65; | ||||
| 
 | ||||
|     #gzip  on; | ||||
| 
 | ||||
|     include /etc/nginx/conf.d/*.conf; | ||||
| } | ||||
							
								
								
									
										17
									
								
								nginx/conf/scgi_params
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								nginx/conf/scgi_params
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| 
 | ||||
| scgi_param  REQUEST_METHOD     $request_method; | ||||
| scgi_param  REQUEST_URI        $request_uri; | ||||
| scgi_param  QUERY_STRING       $query_string; | ||||
| scgi_param  CONTENT_TYPE       $content_type; | ||||
| 
 | ||||
| scgi_param  DOCUMENT_URI       $document_uri; | ||||
| scgi_param  DOCUMENT_ROOT      $document_root; | ||||
| scgi_param  SCGI               1; | ||||
| scgi_param  SERVER_PROTOCOL    $server_protocol; | ||||
| scgi_param  REQUEST_SCHEME     $scheme; | ||||
| scgi_param  HTTPS              $https if_not_empty; | ||||
| 
 | ||||
| scgi_param  REMOTE_ADDR        $remote_addr; | ||||
| scgi_param  REMOTE_PORT        $remote_port; | ||||
| scgi_param  SERVER_PORT        $server_port; | ||||
| scgi_param  SERVER_NAME        $server_name; | ||||
							
								
								
									
										17
									
								
								nginx/conf/uwsgi_params
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								nginx/conf/uwsgi_params
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| 
 | ||||
| uwsgi_param  QUERY_STRING       $query_string; | ||||
| uwsgi_param  REQUEST_METHOD     $request_method; | ||||
| uwsgi_param  CONTENT_TYPE       $content_type; | ||||
| uwsgi_param  CONTENT_LENGTH     $content_length; | ||||
| 
 | ||||
| uwsgi_param  REQUEST_URI        $request_uri; | ||||
| uwsgi_param  PATH_INFO          $document_uri; | ||||
| uwsgi_param  DOCUMENT_ROOT      $document_root; | ||||
| uwsgi_param  SERVER_PROTOCOL    $server_protocol; | ||||
| uwsgi_param  REQUEST_SCHEME     $scheme; | ||||
| uwsgi_param  HTTPS              $https if_not_empty; | ||||
| 
 | ||||
| uwsgi_param  REMOTE_ADDR        $remote_addr; | ||||
| uwsgi_param  REMOTE_PORT        $remote_port; | ||||
| uwsgi_param  SERVER_PORT        $server_port; | ||||
| uwsgi_param  SERVER_NAME        $server_name; | ||||
							
								
								
									
										27
									
								
								nginx/html/404.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								nginx/html/404.html
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,27 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="UTF-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
| <title>404 - Not Found</title> | ||||
| <style> | ||||
|     body { | ||||
|         font-family: Arial, sans-serif; | ||||
|         background-color: #f8f9fa; | ||||
|         color: #343a40; | ||||
|         text-align: center; | ||||
|         padding: 50px; | ||||
|     } | ||||
|     h1 { | ||||
|         font-size: 3em; | ||||
|     } | ||||
|     p { | ||||
|         font-size: 1.2em; | ||||
|     } | ||||
| </style> | ||||
| </head> | ||||
| <body> | ||||
|     <h1>404 - Not Found</h1> | ||||
|     <p>Sorry, the page you are looking for could not be found.</p> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										27
									
								
								nginx/html/50x.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								nginx/html/50x.html
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,27 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="UTF-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
| <title>500 - Internal Server Error</title> | ||||
| <style> | ||||
|     body { | ||||
|         font-family: Arial, sans-serif; | ||||
|         background-color: #f8f9fa; | ||||
|         color: #343a40; | ||||
|         text-align: center; | ||||
|         padding: 50px; | ||||
|     } | ||||
|     h1 { | ||||
|         font-size: 3em; | ||||
|     } | ||||
|     p { | ||||
|         font-size: 1.2em; | ||||
|     } | ||||
| </style> | ||||
| </head> | ||||
| <body> | ||||
|     <h1>500 - Internal Server Error</h1> | ||||
|     <p>Sorry, there was an internal server error. Please try again later.</p> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										27
									
								
								nginx/html/index.html
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								nginx/html/index.html
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,27 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="UTF-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
| <title>欢迎</title> | ||||
| <style> | ||||
|     body { | ||||
|         font-family: Arial, sans-serif; | ||||
|         background-color: #f8f9fa; | ||||
|         color: #343a40; | ||||
|         text-align: center; | ||||
|         padding: 50px; | ||||
|     } | ||||
|     h1 { | ||||
|         font-size: 3em; | ||||
|     } | ||||
|     p { | ||||
|         font-size: 1.2em; | ||||
|     } | ||||
| </style> | ||||
| </head> | ||||
| <body> | ||||
|     <h1>欢迎</h1> | ||||
|     <p>docker-nginx</p> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										22
									
								
								pgadmin/servers.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								pgadmin/servers.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| { | ||||
|     "Servers": { | ||||
|         "1": { | ||||
|             "Name": "hello", | ||||
|             "Group": "Servers", | ||||
|             "Host": "postgres", | ||||
|             "Port": 5432, | ||||
|             "MaintenanceDB": "hello", | ||||
|             "Username": "hello", | ||||
|             "UseSSHTunnel": 0, | ||||
|             "TunnelPort": "22", | ||||
|             "TunnelAuthentication": 0, | ||||
|             "KerberosAuthentication": false, | ||||
|             "ConnectionParameters": { | ||||
|                 "sslmode": "prefer", | ||||
|                 "connect_timeout": 10, | ||||
|                 "sslcert": "<STORAGE_DIR>/.postgresql/postgresql.crt", | ||||
|                 "sslkey": "<STORAGE_DIR>/.postgresql/postgresql.key" | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										2
									
								
								portainer/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								portainer/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										1
									
								
								postgres/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								postgres/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| *.log | ||||
							
								
								
									
										56
									
								
								postgres/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								postgres/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| # docker启动的postgres服务 | ||||
| 
 | ||||
| ## 使用说明 | ||||
| 
 | ||||
| ```sh | ||||
| git clone https://git.wandoubaba.com/wandoubaba/docker-postgres.git | ||||
| cd docker-postgress | ||||
| # chmod +x start | ||||
| ./start | ||||
| ``` | ||||
| 
 | ||||
| 执行结果为启动一个名为postgres的容器,其中运行了postgres服务,默认端口号为5432,默认用户postgres,默认密码123456,默认数据库postgres | ||||
| 
 | ||||
| ## 脚本工具 | ||||
| 
 | ||||
| > 所有脚本在执行之前都需要确保具有可执行权限。 | ||||
| 
 | ||||
| |脚本|作用|用法| | ||||
| |---|---|---| | ||||
| |start|启动服务|./start| | ||||
| |stop|停止服务|./stop| | ||||
| |fulldump|对指定数据库执行全量备份(通过pg_dump实现),其中<days>参数的作用是清除多少天之前的备份,默认值是15天|./fulldump <database> <days>| | ||||
| |clear|危险!!!清空所有数据、备份、日志等文件|./clear| | ||||
| 
 | ||||
| ## 修改默认值 | ||||
| 
 | ||||
| - 如何修改端口号? | ||||
| 
 | ||||
| 在`conf/postgresql.conf`中找到`port = 5432`一行,修改(需要使用`start`脚本重启后才会生效)。 | ||||
| 
 | ||||
| - 如何修改密码? | ||||
| 
 | ||||
| 在`docker-compose.yml`中修改环境变量`POSTGRES_PASSWORD`的值。 | ||||
| 
 | ||||
| - 如何修改默认用户? | ||||
| 
 | ||||
| 在`docker-compose.yml`中设置环境变量`POSTGRES_USER`(fulldump脚本中的脚本可能需要修改)。 | ||||
| 
 | ||||
| - 如何修改默认数据库? | ||||
| 
 | ||||
| 在`docker-compose.yml`中设置环境变量`POSTGRES_DB`(fulldump脚本中的脚本可能需要修改)。 | ||||
| 
 | ||||
| ### 修改配置文件 | ||||
| 
 | ||||
| 通过start脚本启动服务时会自动将conf目录下的配置文件应用到容器内,而配置文件中的大部分配置项都需要重启服务才会生效,因些建议每次都直接修改conf目录中的配置文件,然后再执行`./stop && ./start`重启服务。 | ||||
| 
 | ||||
| ## 定时备份 | ||||
| 
 | ||||
| 手动调用`fulldump`脚本可以实时备份数据库,将`fulldump`脚本加入到系统crontab定时任务中即可实现定时备份。 | ||||
| 
 | ||||
| 下面是一个示例: | ||||
| 
 | ||||
| ```conf | ||||
| # 每天1点备份postgres数据库并清除15天前的备份 | ||||
| 0 1 * * *   bash /app/dev/postgres/fulldump postgres 15 | ||||
| ``` | ||||
							
								
								
									
										100
									
								
								postgres/conf/pg_hba.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								postgres/conf/pg_hba.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,100 @@ | ||||
| # PostgreSQL Client Authentication Configuration File | ||||
| # =================================================== | ||||
| # | ||||
| # Refer to the "Client Authentication" section in the PostgreSQL | ||||
| # documentation for a complete description of this file.  A short | ||||
| # synopsis follows. | ||||
| # | ||||
| # This file controls: which hosts are allowed to connect, how clients | ||||
| # are authenticated, which PostgreSQL user names they can use, which | ||||
| # databases they can access.  Records take one of these forms: | ||||
| # | ||||
| # local         DATABASE  USER  METHOD  [OPTIONS] | ||||
| # host          DATABASE  USER  ADDRESS  METHOD  [OPTIONS] | ||||
| # hostssl       DATABASE  USER  ADDRESS  METHOD  [OPTIONS] | ||||
| # hostnossl     DATABASE  USER  ADDRESS  METHOD  [OPTIONS] | ||||
| # hostgssenc    DATABASE  USER  ADDRESS  METHOD  [OPTIONS] | ||||
| # hostnogssenc  DATABASE  USER  ADDRESS  METHOD  [OPTIONS] | ||||
| # | ||||
| # (The uppercase items must be replaced by actual values.) | ||||
| # | ||||
| # The first field is the connection type: | ||||
| # - "local" is a Unix-domain socket | ||||
| # - "host" is a TCP/IP socket (encrypted or not) | ||||
| # - "hostssl" is a TCP/IP socket that is SSL-encrypted | ||||
| # - "hostnossl" is a TCP/IP socket that is not SSL-encrypted | ||||
| # - "hostgssenc" is a TCP/IP socket that is GSSAPI-encrypted | ||||
| # - "hostnogssenc" is a TCP/IP socket that is not GSSAPI-encrypted | ||||
| # | ||||
| # DATABASE can be "all", "sameuser", "samerole", "replication", a | ||||
| # database name, or a comma-separated list thereof. The "all" | ||||
| # keyword does not match "replication". Access to replication | ||||
| # must be enabled in a separate record (see example below). | ||||
| # | ||||
| # USER can be "all", a user name, a group name prefixed with "+", or a | ||||
| # comma-separated list thereof.  In both the DATABASE and USER fields | ||||
| # you can also write a file name prefixed with "@" to include names | ||||
| # from a separate file. | ||||
| # | ||||
| # ADDRESS specifies the set of hosts the record matches.  It can be a | ||||
| # host name, or it is made up of an IP address and a CIDR mask that is | ||||
| # an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that | ||||
| # specifies the number of significant bits in the mask.  A host name | ||||
| # that starts with a dot (.) matches a suffix of the actual host name. | ||||
| # Alternatively, you can write an IP address and netmask in separate | ||||
| # columns to specify the set of hosts.  Instead of a CIDR-address, you | ||||
| # can write "samehost" to match any of the server's own IP addresses, | ||||
| # or "samenet" to match any address in any subnet that the server is | ||||
| # directly connected to. | ||||
| # | ||||
| # METHOD can be "trust", "reject", "md5", "password", "scram-sha-256", | ||||
| # "gss", "sspi", "ident", "peer", "pam", "ldap", "radius" or "cert". | ||||
| # Note that "password" sends passwords in clear text; "md5" or | ||||
| # "scram-sha-256" are preferred since they send encrypted passwords. | ||||
| # | ||||
| # OPTIONS are a set of options for the authentication in the format | ||||
| # NAME=VALUE.  The available options depend on the different | ||||
| # authentication methods -- refer to the "Client Authentication" | ||||
| # section in the documentation for a list of which options are | ||||
| # available for which authentication methods. | ||||
| # | ||||
| # Database and user names containing spaces, commas, quotes and other | ||||
| # special characters must be quoted.  Quoting one of the keywords | ||||
| # "all", "sameuser", "samerole" or "replication" makes the name lose | ||||
| # its special character, and just match a database or username with | ||||
| # that name. | ||||
| # | ||||
| # This file is read on server startup and when the server receives a | ||||
| # SIGHUP signal.  If you edit the file on a running system, you have to | ||||
| # SIGHUP the server for the changes to take effect, run "pg_ctl reload", | ||||
| # or execute "SELECT pg_reload_conf()". | ||||
| # | ||||
| # Put your actual configuration here | ||||
| # ---------------------------------- | ||||
| # | ||||
| # If you want to allow non-local connections, you need to add more | ||||
| # "host" records.  In that case you will also need to make PostgreSQL | ||||
| # listen on a non-local interface via the listen_addresses | ||||
| # configuration parameter, or via the -i or -h command line switches. | ||||
| 
 | ||||
| # CAUTION: Configuring the system for local "trust" authentication | ||||
| # allows any local user to connect as any PostgreSQL user, including | ||||
| # the database superuser.  If you do not trust all your local users, | ||||
| # use another authentication method. | ||||
| 
 | ||||
| 
 | ||||
| # TYPE  DATABASE        USER            ADDRESS                 METHOD | ||||
| 
 | ||||
| # "local" is for Unix domain socket connections only | ||||
| local   all             all                                     trust | ||||
| # IPv4 local connections: | ||||
| host    all             all             127.0.0.1/32            trust | ||||
| # IPv6 local connections: | ||||
| host    all             all             ::1/128                 trust | ||||
| # Allow replication connections from localhost, by a user with the | ||||
| # replication privilege. | ||||
| local   replication     all                                     trust | ||||
| host    replication     all             127.0.0.1/32            trust | ||||
| host    replication     all             ::1/128                 trust | ||||
| 
 | ||||
| host all all all scram-sha-256 | ||||
							
								
								
									
										42
									
								
								postgres/conf/pg_ident.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								postgres/conf/pg_ident.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | ||||
| # PostgreSQL User Name Maps | ||||
| # ========================= | ||||
| # | ||||
| # Refer to the PostgreSQL documentation, chapter "Client | ||||
| # Authentication" for a complete description.  A short synopsis | ||||
| # follows. | ||||
| # | ||||
| # This file controls PostgreSQL user name mapping.  It maps external | ||||
| # user names to their corresponding PostgreSQL user names.  Records | ||||
| # are of the form: | ||||
| # | ||||
| # MAPNAME  SYSTEM-USERNAME  PG-USERNAME | ||||
| # | ||||
| # (The uppercase quantities must be replaced by actual values.) | ||||
| # | ||||
| # MAPNAME is the (otherwise freely chosen) map name that was used in | ||||
| # pg_hba.conf.  SYSTEM-USERNAME is the detected user name of the | ||||
| # client.  PG-USERNAME is the requested PostgreSQL user name.  The | ||||
| # existence of a record specifies that SYSTEM-USERNAME may connect as | ||||
| # PG-USERNAME. | ||||
| # | ||||
| # If SYSTEM-USERNAME starts with a slash (/), it will be treated as a | ||||
| # regular expression.  Optionally this can contain a capture (a | ||||
| # parenthesized subexpression).  The substring matching the capture | ||||
| # will be substituted for \1 (backslash-one) if present in | ||||
| # PG-USERNAME. | ||||
| # | ||||
| # Multiple maps may be specified in this file and used by pg_hba.conf. | ||||
| # | ||||
| # No map names are defined in the default configuration.  If all | ||||
| # system user names and PostgreSQL user names are the same, you don't | ||||
| # need anything in this file. | ||||
| # | ||||
| # This file is read on server startup and when the postmaster receives | ||||
| # a SIGHUP signal.  If you edit the file on a running system, you have | ||||
| # to SIGHUP the postmaster for the changes to take effect.  You can | ||||
| # use "pg_ctl reload" to do that. | ||||
| 
 | ||||
| # Put your actual configuration here | ||||
| # ---------------------------------- | ||||
| 
 | ||||
| # MAPNAME       SYSTEM-USERNAME         PG-USERNAME | ||||
							
								
								
									
										803
									
								
								postgres/conf/postgresql.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										803
									
								
								postgres/conf/postgresql.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,803 @@ | ||||
| # ----------------------------- | ||||
| # PostgreSQL configuration file | ||||
| # ----------------------------- | ||||
| # | ||||
| # This file consists of lines of the form: | ||||
| # | ||||
| #   name = value | ||||
| # | ||||
| # (The "=" is optional.)  Whitespace may be used.  Comments are introduced with | ||||
| # "#" anywhere on a line.  The complete list of parameter names and allowed | ||||
| # values can be found in the PostgreSQL documentation. | ||||
| # | ||||
| # The commented-out settings shown in this file represent the default values. | ||||
| # Re-commenting a setting is NOT sufficient to revert it to the default value; | ||||
| # you need to reload the server. | ||||
| # | ||||
| # This file is read on server startup and when the server receives a SIGHUP | ||||
| # signal.  If you edit the file on a running system, you have to SIGHUP the | ||||
| # server for the changes to take effect, run "pg_ctl reload", or execute | ||||
| # "SELECT pg_reload_conf()".  Some parameters, which are marked below, | ||||
| # require a server shutdown and restart to take effect. | ||||
| # | ||||
| # Any parameter can also be given as a command-line option to the server, e.g., | ||||
| # "postgres -c log_connections=on".  Some parameters can be changed at run time | ||||
| # with the "SET" SQL command. | ||||
| # | ||||
| # Memory units:  B  = bytes            Time units:  us  = microseconds | ||||
| #                kB = kilobytes                     ms  = milliseconds | ||||
| #                MB = megabytes                     s   = seconds | ||||
| #                GB = gigabytes                     min = minutes | ||||
| #                TB = terabytes                     h   = hours | ||||
| #                                                   d   = days | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # FILE LOCATIONS | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # The default values of these variables are driven from the -D command-line | ||||
| # option or PGDATA environment variable, represented here as ConfigDir. | ||||
| 
 | ||||
| #data_directory = 'ConfigDir'		# use data in another directory | ||||
| 					# (change requires restart) | ||||
| #hba_file = 'ConfigDir/pg_hba.conf'	# host-based authentication file | ||||
| 					# (change requires restart) | ||||
| #ident_file = 'ConfigDir/pg_ident.conf'	# ident configuration file | ||||
| 					# (change requires restart) | ||||
| 
 | ||||
| # If external_pid_file is not explicitly set, no extra PID file is written. | ||||
| #external_pid_file = ''			# write an extra PID file | ||||
| 					# (change requires restart) | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # CONNECTIONS AND AUTHENTICATION | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # - Connection Settings - | ||||
| 
 | ||||
| listen_addresses = '*' | ||||
| 					# comma-separated list of addresses; | ||||
| 					# defaults to 'localhost'; use '*' for all | ||||
| 					# (change requires restart) | ||||
| port = 5432				# (change requires restart) | ||||
| max_connections = 100			# (change requires restart) | ||||
| #superuser_reserved_connections = 3	# (change requires restart) | ||||
| #unix_socket_directories = '/var/run/postgresql'	# comma-separated list of directories | ||||
| 					# (change requires restart) | ||||
| #unix_socket_group = ''			# (change requires restart) | ||||
| #unix_socket_permissions = 0777		# begin with 0 to use octal notation | ||||
| 					# (change requires restart) | ||||
| #bonjour = off				# advertise server via Bonjour | ||||
| 					# (change requires restart) | ||||
| #bonjour_name = ''			# defaults to the computer name | ||||
| 					# (change requires restart) | ||||
| 
 | ||||
| # - TCP settings - | ||||
| # see "man tcp" for details | ||||
| 
 | ||||
| #tcp_keepalives_idle = 0		# TCP_KEEPIDLE, in seconds; | ||||
| 					# 0 selects the system default | ||||
| #tcp_keepalives_interval = 0		# TCP_KEEPINTVL, in seconds; | ||||
| 					# 0 selects the system default | ||||
| #tcp_keepalives_count = 0		# TCP_KEEPCNT; | ||||
| 					# 0 selects the system default | ||||
| #tcp_user_timeout = 0			# TCP_USER_TIMEOUT, in milliseconds; | ||||
| 					# 0 selects the system default | ||||
| 
 | ||||
| #client_connection_check_interval = 0	# time between checks for client | ||||
| 					# disconnection while running queries; | ||||
| 					# 0 for never | ||||
| 
 | ||||
| # - Authentication - | ||||
| 
 | ||||
| #authentication_timeout = 1min		# 1s-600s | ||||
| #password_encryption = scram-sha-256	# scram-sha-256 or md5 | ||||
| #db_user_namespace = off | ||||
| 
 | ||||
| # GSSAPI using Kerberos | ||||
| #krb_server_keyfile = 'FILE:${sysconfdir}/krb5.keytab' | ||||
| #krb_caseins_users = off | ||||
| 
 | ||||
| # - SSL - | ||||
| 
 | ||||
| #ssl = off | ||||
| #ssl_ca_file = '' | ||||
| #ssl_cert_file = 'server.crt' | ||||
| #ssl_crl_file = '' | ||||
| #ssl_crl_dir = '' | ||||
| #ssl_key_file = 'server.key' | ||||
| #ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers | ||||
| #ssl_prefer_server_ciphers = on | ||||
| #ssl_ecdh_curve = 'prime256v1' | ||||
| #ssl_min_protocol_version = 'TLSv1.2' | ||||
| #ssl_max_protocol_version = '' | ||||
| #ssl_dh_params_file = '' | ||||
| #ssl_passphrase_command = '' | ||||
| #ssl_passphrase_command_supports_reload = off | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # RESOURCE USAGE (except WAL) | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # - Memory - | ||||
| 
 | ||||
| shared_buffers = 128MB			# min 128kB | ||||
| 					# (change requires restart) | ||||
| #huge_pages = try			# on, off, or try | ||||
| 					# (change requires restart) | ||||
| #huge_page_size = 0			# zero for system default | ||||
| 					# (change requires restart) | ||||
| #temp_buffers = 8MB			# min 800kB | ||||
| #max_prepared_transactions = 0		# zero disables the feature | ||||
| 					# (change requires restart) | ||||
| # Caution: it is not advisable to set max_prepared_transactions nonzero unless | ||||
| # you actively intend to use prepared transactions. | ||||
| #work_mem = 4MB				# min 64kB | ||||
| #hash_mem_multiplier = 1.0		# 1-1000.0 multiplier on hash table work_mem | ||||
| #maintenance_work_mem = 64MB		# min 1MB | ||||
| #autovacuum_work_mem = -1		# min 1MB, or -1 to use maintenance_work_mem | ||||
| #logical_decoding_work_mem = 64MB	# min 64kB | ||||
| #max_stack_depth = 2MB			# min 100kB | ||||
| #shared_memory_type = mmap		# the default is the first option | ||||
| 					# supported by the operating system: | ||||
| 					#   mmap | ||||
| 					#   sysv | ||||
| 					#   windows | ||||
| 					# (change requires restart) | ||||
| dynamic_shared_memory_type = posix	# the default is the first option | ||||
| 					# supported by the operating system: | ||||
| 					#   posix | ||||
| 					#   sysv | ||||
| 					#   windows | ||||
| 					#   mmap | ||||
| 					# (change requires restart) | ||||
| #min_dynamic_shared_memory = 0MB	# (change requires restart) | ||||
| 
 | ||||
| # - Disk - | ||||
| 
 | ||||
| #temp_file_limit = -1			# limits per-process temp file space | ||||
| 					# in kilobytes, or -1 for no limit | ||||
| 
 | ||||
| # - Kernel Resources - | ||||
| 
 | ||||
| #max_files_per_process = 1000		# min 64 | ||||
| 					# (change requires restart) | ||||
| 
 | ||||
| # - Cost-Based Vacuum Delay - | ||||
| 
 | ||||
| #vacuum_cost_delay = 0			# 0-100 milliseconds (0 disables) | ||||
| #vacuum_cost_page_hit = 1		# 0-10000 credits | ||||
| #vacuum_cost_page_miss = 2		# 0-10000 credits | ||||
| #vacuum_cost_page_dirty = 20		# 0-10000 credits | ||||
| #vacuum_cost_limit = 200		# 1-10000 credits | ||||
| 
 | ||||
| # - Background Writer - | ||||
| 
 | ||||
| #bgwriter_delay = 200ms			# 10-10000ms between rounds | ||||
| #bgwriter_lru_maxpages = 100		# max buffers written/round, 0 disables | ||||
| #bgwriter_lru_multiplier = 2.0		# 0-10.0 multiplier on buffers scanned/round | ||||
| #bgwriter_flush_after = 512kB		# measured in pages, 0 disables | ||||
| 
 | ||||
| # - Asynchronous Behavior - | ||||
| 
 | ||||
| #backend_flush_after = 0		# measured in pages, 0 disables | ||||
| #effective_io_concurrency = 1		# 1-1000; 0 disables prefetching | ||||
| #maintenance_io_concurrency = 10	# 1-1000; 0 disables prefetching | ||||
| #max_worker_processes = 8		# (change requires restart) | ||||
| #max_parallel_workers_per_gather = 2	# taken from max_parallel_workers | ||||
| #max_parallel_maintenance_workers = 2	# taken from max_parallel_workers | ||||
| #max_parallel_workers = 8		# maximum number of max_worker_processes that | ||||
| 					# can be used in parallel operations | ||||
| #parallel_leader_participation = on | ||||
| #old_snapshot_threshold = -1		# 1min-60d; -1 disables; 0 is immediate | ||||
| 					# (change requires restart) | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # WRITE-AHEAD LOG | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # - Settings - | ||||
| 
 | ||||
| wal_level = replica | ||||
| #wal_level = replica			# minimal, replica, or logical | ||||
| 					# (change requires restart) | ||||
| #fsync = on				# flush data to disk for crash safety | ||||
| 					# (turning this off can cause | ||||
| 					# unrecoverable data corruption) | ||||
| #synchronous_commit = on		# synchronization level; | ||||
| 					# off, local, remote_write, remote_apply, or on | ||||
| #wal_sync_method = fsync		# the default is the first option | ||||
| 					# supported by the operating system: | ||||
| 					#   open_datasync | ||||
| 					#   fdatasync (default on Linux and FreeBSD) | ||||
| 					#   fsync | ||||
| 					#   fsync_writethrough | ||||
| 					#   open_sync | ||||
| #full_page_writes = on			# recover from partial page writes | ||||
| #wal_log_hints = off			# also do full page writes of non-critical updates | ||||
| 					# (change requires restart) | ||||
| #wal_compression = off			# enable compression of full-page writes | ||||
| #wal_init_zero = on			# zero-fill new WAL files | ||||
| #wal_recycle = on			# recycle WAL files | ||||
| #wal_buffers = -1			# min 32kB, -1 sets based on shared_buffers | ||||
| 					# (change requires restart) | ||||
| #wal_writer_delay = 200ms		# 1-10000 milliseconds | ||||
| #wal_writer_flush_after = 1MB		# measured in pages, 0 disables | ||||
| #wal_skip_threshold = 2MB | ||||
| 
 | ||||
| #commit_delay = 0			# range 0-100000, in microseconds | ||||
| #commit_siblings = 5			# range 1-1000 | ||||
| 
 | ||||
| # - Checkpoints - | ||||
| 
 | ||||
| #checkpoint_timeout = 5min		# range 30s-1d | ||||
| #checkpoint_completion_target = 0.9	# checkpoint target duration, 0.0 - 1.0 | ||||
| #checkpoint_flush_after = 256kB		# measured in pages, 0 disables | ||||
| #checkpoint_warning = 30s		# 0 disables | ||||
| max_wal_size = 1GB | ||||
| min_wal_size = 80MB | ||||
| 
 | ||||
| # - Archiving - | ||||
| 
 | ||||
| # archive_mode = on | ||||
| # archive_command = 'test ! -f /da`ta/archived/%f && cp %p /data/archived/%f' | ||||
| # archive_timeout = 10 | ||||
| #archive_mode = off		# enables archiving; off, on, or always | ||||
| 				# (change requires restart) | ||||
| #archive_command = ''		# command to use to archive a logfile segment | ||||
| 				# placeholders: %p = path of file to archive | ||||
| 				#               %f = file name only | ||||
| 				# e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f' | ||||
| #archive_timeout = 0		# force a logfile segment switch after this | ||||
| 				# number of seconds; 0 disables | ||||
| 
 | ||||
| # - Archive Recovery - | ||||
| 
 | ||||
| # These are only used in recovery mode. | ||||
| 
 | ||||
| #restore_command = ''		# command to use to restore an archived logfile segment | ||||
| 				# placeholders: %p = path of file to restore | ||||
| 				#               %f = file name only | ||||
| 				# e.g. 'cp /mnt/server/archivedir/%f %p' | ||||
| #archive_cleanup_command = ''	# command to execute at every restartpoint | ||||
| #recovery_end_command = ''	# command to execute at completion of recovery | ||||
| 
 | ||||
| # - Recovery Target - | ||||
| 
 | ||||
| # Set these only when performing a targeted recovery. | ||||
| 
 | ||||
| #recovery_target = ''		# 'immediate' to end recovery as soon as a | ||||
|                                 # consistent state is reached | ||||
| 				# (change requires restart) | ||||
| #recovery_target_name = ''	# the named restore point to which recovery will proceed | ||||
| 				# (change requires restart) | ||||
| #recovery_target_time = ''	# the time stamp up to which recovery will proceed | ||||
| 				# (change requires restart) | ||||
| #recovery_target_xid = ''	# the transaction ID up to which recovery will proceed | ||||
| 				# (change requires restart) | ||||
| #recovery_target_lsn = ''	# the WAL LSN up to which recovery will proceed | ||||
| 				# (change requires restart) | ||||
| #recovery_target_inclusive = on # Specifies whether to stop: | ||||
| 				# just after the specified recovery target (on) | ||||
| 				# just before the recovery target (off) | ||||
| 				# (change requires restart) | ||||
| #recovery_target_timeline = 'latest'	# 'current', 'latest', or timeline ID | ||||
| 				# (change requires restart) | ||||
| #recovery_target_action = 'pause'	# 'pause', 'promote', 'shutdown' | ||||
| 				# (change requires restart) | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # REPLICATION | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # - Sending Servers - | ||||
| 
 | ||||
| # Set these on the primary and on any standby that will send replication data. | ||||
| 
 | ||||
| #max_wal_senders = 10		# max number of walsender processes | ||||
| 				# (change requires restart) | ||||
| #max_replication_slots = 10	# max number of replication slots | ||||
| 				# (change requires restart) | ||||
| #wal_keep_size = 0		# in megabytes; 0 disables | ||||
| #max_slot_wal_keep_size = -1	# in megabytes; -1 disables | ||||
| #wal_sender_timeout = 60s	# in milliseconds; 0 disables | ||||
| #track_commit_timestamp = off	# collect timestamp of transaction commit | ||||
| 				# (change requires restart) | ||||
| 
 | ||||
| # - Primary Server - | ||||
| 
 | ||||
| # These settings are ignored on a standby server. | ||||
| 
 | ||||
| #synchronous_standby_names = ''	# standby servers that provide sync rep | ||||
| 				# method to choose sync standbys, number of sync standbys, | ||||
| 				# and comma-separated list of application_name | ||||
| 				# from standby(s); '*' = all | ||||
| #vacuum_defer_cleanup_age = 0	# number of xacts by which cleanup is delayed | ||||
| 
 | ||||
| # - Standby Servers - | ||||
| 
 | ||||
| # These settings are ignored on a primary server. | ||||
| 
 | ||||
| #primary_conninfo = ''			# connection string to sending server | ||||
| #primary_slot_name = ''			# replication slot on sending server | ||||
| #promote_trigger_file = ''		# file name whose presence ends recovery | ||||
| hot_standby = on			# "off" disallows queries during recovery | ||||
| #hot_standby = on			# "off" disallows queries during recovery | ||||
| 					# (change requires restart) | ||||
| #max_standby_archive_delay = 30s	# max delay before canceling queries | ||||
| 					# when reading WAL from archive; | ||||
| 					# -1 allows indefinite delay | ||||
| #max_standby_streaming_delay = 30s	# max delay before canceling queries | ||||
| 					# when reading streaming WAL; | ||||
| 					# -1 allows indefinite delay | ||||
| #wal_receiver_create_temp_slot = off	# create temp slot if primary_slot_name | ||||
| 					# is not set | ||||
| #wal_receiver_status_interval = 10s	# send replies at least this often | ||||
| 					# 0 disables | ||||
| #hot_standby_feedback = off		# send info from standby to prevent | ||||
| 					# query conflicts | ||||
| #wal_receiver_timeout = 60s		# time that receiver waits for | ||||
| 					# communication from primary | ||||
| 					# in milliseconds; 0 disables | ||||
| #wal_retrieve_retry_interval = 5s	# time to wait before retrying to | ||||
| 					# retrieve WAL after a failed attempt | ||||
| #recovery_min_apply_delay = 0		# minimum delay for applying changes during recovery | ||||
| 
 | ||||
| # - Subscribers - | ||||
| 
 | ||||
| # These settings are ignored on a publisher. | ||||
| 
 | ||||
| #max_logical_replication_workers = 4	# taken from max_worker_processes | ||||
| 					# (change requires restart) | ||||
| #max_sync_workers_per_subscription = 2	# taken from max_logical_replication_workers | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # QUERY TUNING | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # - Planner Method Configuration - | ||||
| 
 | ||||
| #enable_async_append = on | ||||
| #enable_bitmapscan = on | ||||
| #enable_gathermerge = on | ||||
| #enable_hashagg = on | ||||
| #enable_hashjoin = on | ||||
| #enable_incremental_sort = on | ||||
| #enable_indexscan = on | ||||
| #enable_indexonlyscan = on | ||||
| #enable_material = on | ||||
| #enable_memoize = on | ||||
| #enable_mergejoin = on | ||||
| #enable_nestloop = on | ||||
| #enable_parallel_append = on | ||||
| #enable_parallel_hash = on | ||||
| #enable_partition_pruning = on | ||||
| #enable_partitionwise_join = off | ||||
| #enable_partitionwise_aggregate = off | ||||
| #enable_seqscan = on | ||||
| #enable_sort = on | ||||
| #enable_tidscan = on | ||||
| 
 | ||||
| # - Planner Cost Constants - | ||||
| 
 | ||||
| #seq_page_cost = 1.0			# measured on an arbitrary scale | ||||
| #random_page_cost = 4.0			# same scale as above | ||||
| #cpu_tuple_cost = 0.01			# same scale as above | ||||
| #cpu_index_tuple_cost = 0.005		# same scale as above | ||||
| #cpu_operator_cost = 0.0025		# same scale as above | ||||
| #parallel_setup_cost = 1000.0	# same scale as above | ||||
| #parallel_tuple_cost = 0.1		# same scale as above | ||||
| #min_parallel_table_scan_size = 8MB | ||||
| #min_parallel_index_scan_size = 512kB | ||||
| #effective_cache_size = 4GB | ||||
| 
 | ||||
| #jit_above_cost = 100000		# perform JIT compilation if available | ||||
| 					# and query more expensive than this; | ||||
| 					# -1 disables | ||||
| #jit_inline_above_cost = 500000		# inline small functions if query is | ||||
| 					# more expensive than this; -1 disables | ||||
| #jit_optimize_above_cost = 500000	# use expensive JIT optimizations if | ||||
| 					# query is more expensive than this; | ||||
| 					# -1 disables | ||||
| 
 | ||||
| # - Genetic Query Optimizer - | ||||
| 
 | ||||
| #geqo = on | ||||
| #geqo_threshold = 12 | ||||
| #geqo_effort = 5			# range 1-10 | ||||
| #geqo_pool_size = 0			# selects default based on effort | ||||
| #geqo_generations = 0			# selects default based on effort | ||||
| #geqo_selection_bias = 2.0		# range 1.5-2.0 | ||||
| #geqo_seed = 0.0			# range 0.0-1.0 | ||||
| 
 | ||||
| # - Other Planner Options - | ||||
| 
 | ||||
| #default_statistics_target = 100	# range 1-10000 | ||||
| #constraint_exclusion = partition	# on, off, or partition | ||||
| #cursor_tuple_fraction = 0.1		# range 0.0-1.0 | ||||
| #from_collapse_limit = 8 | ||||
| #jit = on				# allow JIT compilation | ||||
| #join_collapse_limit = 8		# 1 disables collapsing of explicit | ||||
| 					# JOIN clauses | ||||
| #plan_cache_mode = auto			# auto, force_generic_plan or | ||||
| 					# force_custom_plan | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # REPORTING AND LOGGING | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # - Where to Log - | ||||
| 
 | ||||
| #log_destination = 'stderr'		# Valid values are combinations of | ||||
| 					# stderr, csvlog, syslog, and eventlog, | ||||
| 					# depending on platform.  csvlog | ||||
| 					# requires logging_collector to be on. | ||||
| 
 | ||||
| # This is used when logging to stderr: | ||||
| #logging_collector = off		# Enable capturing of stderr and csvlog | ||||
| 					# into log files. Required to be on for | ||||
| 					# csvlogs. | ||||
| 					# (change requires restart) | ||||
| 
 | ||||
| # These are only used if logging_collector is on: | ||||
| #log_directory = 'log'			# directory where log files are written, | ||||
| 					# can be absolute or relative to PGDATA | ||||
| #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'	# log file name pattern, | ||||
| 					# can include strftime() escapes | ||||
| #log_file_mode = 0600			# creation mode for log files, | ||||
| 					# begin with 0 to use octal notation | ||||
| #log_rotation_age = 1d			# Automatic rotation of logfiles will | ||||
| 					# happen after that time.  0 disables. | ||||
| #log_rotation_size = 10MB		# Automatic rotation of logfiles will | ||||
| 					# happen after that much log output. | ||||
| 					# 0 disables. | ||||
| #log_truncate_on_rotation = off		# If on, an existing log file with the | ||||
| 					# same name as the new log file will be | ||||
| 					# truncated rather than appended to. | ||||
| 					# But such truncation only occurs on | ||||
| 					# time-driven rotation, not on restarts | ||||
| 					# or size-driven rotation.  Default is | ||||
| 					# off, meaning append to existing files | ||||
| 					# in all cases. | ||||
| 
 | ||||
| # These are relevant when logging to syslog: | ||||
| #syslog_facility = 'LOCAL0' | ||||
| #syslog_ident = 'postgres' | ||||
| #syslog_sequence_numbers = on | ||||
| #syslog_split_messages = on | ||||
| 
 | ||||
| # This is only relevant when logging to eventlog (Windows): | ||||
| # (change requires restart) | ||||
| #event_source = 'PostgreSQL' | ||||
| 
 | ||||
| # - When to Log - | ||||
| 
 | ||||
| #log_min_messages = warning		# values in order of decreasing detail: | ||||
| 					#   debug5 | ||||
| 					#   debug4 | ||||
| 					#   debug3 | ||||
| 					#   debug2 | ||||
| 					#   debug1 | ||||
| 					#   info | ||||
| 					#   notice | ||||
| 					#   warning | ||||
| 					#   error | ||||
| 					#   log | ||||
| 					#   fatal | ||||
| 					#   panic | ||||
| 
 | ||||
| #log_min_error_statement = error	# values in order of decreasing detail: | ||||
| 					#   debug5 | ||||
| 					#   debug4 | ||||
| 					#   debug3 | ||||
| 					#   debug2 | ||||
| 					#   debug1 | ||||
| 					#   info | ||||
| 					#   notice | ||||
| 					#   warning | ||||
| 					#   error | ||||
| 					#   log | ||||
| 					#   fatal | ||||
| 					#   panic (effectively off) | ||||
| 
 | ||||
| #log_min_duration_statement = -1	# -1 is disabled, 0 logs all statements | ||||
| 					# and their durations, > 0 logs only | ||||
| 					# statements running at least this number | ||||
| 					# of milliseconds | ||||
| 
 | ||||
| #log_min_duration_sample = -1		# -1 is disabled, 0 logs a sample of statements | ||||
| 					# and their durations, > 0 logs only a sample of | ||||
| 					# statements running at least this number | ||||
| 					# of milliseconds; | ||||
| 					# sample fraction is determined by log_statement_sample_rate | ||||
| 
 | ||||
| #log_statement_sample_rate = 1.0	# fraction of logged statements exceeding | ||||
| 					# log_min_duration_sample to be logged; | ||||
| 					# 1.0 logs all such statements, 0.0 never logs | ||||
| 
 | ||||
| 
 | ||||
| #log_transaction_sample_rate = 0.0	# fraction of transactions whose statements | ||||
| 					# are logged regardless of their duration; 1.0 logs all | ||||
| 					# statements from all transactions, 0.0 never logs | ||||
| 
 | ||||
| # - What to Log - | ||||
| 
 | ||||
| #debug_print_parse = off | ||||
| #debug_print_rewritten = off | ||||
| #debug_print_plan = off | ||||
| #debug_pretty_print = on | ||||
| #log_autovacuum_min_duration = -1	# log autovacuum activity; | ||||
| 					# -1 disables, 0 logs all actions and | ||||
| 					# their durations, > 0 logs only | ||||
| 					# actions running at least this number | ||||
| 					# of milliseconds. | ||||
| #log_checkpoints = off | ||||
| #log_connections = off | ||||
| #log_disconnections = off | ||||
| #log_duration = off | ||||
| #log_error_verbosity = default		# terse, default, or verbose messages | ||||
| #log_hostname = off | ||||
| #log_line_prefix = '%m [%p] '		# special values: | ||||
| 					#   %a = application name | ||||
| 					#   %u = user name | ||||
| 					#   %d = database name | ||||
| 					#   %r = remote host and port | ||||
| 					#   %h = remote host | ||||
| 					#   %b = backend type | ||||
| 					#   %p = process ID | ||||
| 					#   %P = process ID of parallel group leader | ||||
| 					#   %t = timestamp without milliseconds | ||||
| 					#   %m = timestamp with milliseconds | ||||
| 					#   %n = timestamp with milliseconds (as a Unix epoch) | ||||
| 					#   %Q = query ID (0 if none or not computed) | ||||
| 					#   %i = command tag | ||||
| 					#   %e = SQL state | ||||
| 					#   %c = session ID | ||||
| 					#   %l = session line number | ||||
| 					#   %s = session start timestamp | ||||
| 					#   %v = virtual transaction ID | ||||
| 					#   %x = transaction ID (0 if none) | ||||
| 					#   %q = stop here in non-session | ||||
| 					#        processes | ||||
| 					#   %% = '%' | ||||
| 					# e.g. '<%u%%%d> ' | ||||
| #log_lock_waits = off			# log lock waits >= deadlock_timeout | ||||
| #log_recovery_conflict_waits = off	# log standby recovery conflict waits | ||||
| 					# >= deadlock_timeout | ||||
| #log_parameter_max_length = -1		# when logging statements, limit logged | ||||
| 					# bind-parameter values to N bytes; | ||||
| 					# -1 means print in full, 0 disables | ||||
| #log_parameter_max_length_on_error = 0	# when logging an error, limit logged | ||||
| 					# bind-parameter values to N bytes; | ||||
| 					# -1 means print in full, 0 disables | ||||
| #log_statement = 'none'			# none, ddl, mod, all | ||||
| #log_replication_commands = off | ||||
| #log_temp_files = -1			# log temporary files equal or larger | ||||
| 					# than the specified size in kilobytes; | ||||
| 					# -1 disables, 0 logs all temp files | ||||
| log_timezone = 'Asia/Shanghai' | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # PROCESS TITLE | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| #cluster_name = ''			# added to process titles if nonempty | ||||
| 					# (change requires restart) | ||||
| #update_process_title = on | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # STATISTICS | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # - Query and Index Statistics Collector - | ||||
| 
 | ||||
| #track_activities = on | ||||
| #track_activity_query_size = 1024	# (change requires restart) | ||||
| #track_counts = on | ||||
| #track_io_timing = off | ||||
| #track_wal_io_timing = off | ||||
| #track_functions = none			# none, pl, all | ||||
| #stats_temp_directory = 'pg_stat_tmp' | ||||
| 
 | ||||
| 
 | ||||
| # - Monitoring - | ||||
| 
 | ||||
| #compute_query_id = auto | ||||
| #log_statement_stats = off | ||||
| #log_parser_stats = off | ||||
| #log_planner_stats = off | ||||
| #log_executor_stats = off | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # AUTOVACUUM | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| #autovacuum = on			# Enable autovacuum subprocess?  'on' | ||||
| 					# requires track_counts to also be on. | ||||
| #autovacuum_max_workers = 3		# max number of autovacuum subprocesses | ||||
| 					# (change requires restart) | ||||
| #autovacuum_naptime = 1min		# time between autovacuum runs | ||||
| #autovacuum_vacuum_threshold = 50	# min number of row updates before | ||||
| 					# vacuum | ||||
| #autovacuum_vacuum_insert_threshold = 1000	# min number of row inserts | ||||
| 					# before vacuum; -1 disables insert | ||||
| 					# vacuums | ||||
| #autovacuum_analyze_threshold = 50	# min number of row updates before | ||||
| 					# analyze | ||||
| #autovacuum_vacuum_scale_factor = 0.2	# fraction of table size before vacuum | ||||
| #autovacuum_vacuum_insert_scale_factor = 0.2	# fraction of inserts over table | ||||
| 					# size before insert vacuum | ||||
| #autovacuum_analyze_scale_factor = 0.1	# fraction of table size before analyze | ||||
| #autovacuum_freeze_max_age = 200000000	# maximum XID age before forced vacuum | ||||
| 					# (change requires restart) | ||||
| #autovacuum_multixact_freeze_max_age = 400000000	# maximum multixact age | ||||
| 					# before forced vacuum | ||||
| 					# (change requires restart) | ||||
| #autovacuum_vacuum_cost_delay = 2ms	# default vacuum cost delay for | ||||
| 					# autovacuum, in milliseconds; | ||||
| 					# -1 means use vacuum_cost_delay | ||||
| #autovacuum_vacuum_cost_limit = -1	# default vacuum cost limit for | ||||
| 					# autovacuum, -1 means use | ||||
| 					# vacuum_cost_limit | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # CLIENT CONNECTION DEFAULTS | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # - Statement Behavior - | ||||
| 
 | ||||
| #client_min_messages = notice		# values in order of decreasing detail: | ||||
| 					#   debug5 | ||||
| 					#   debug4 | ||||
| 					#   debug3 | ||||
| 					#   debug2 | ||||
| 					#   debug1 | ||||
| 					#   log | ||||
| 					#   notice | ||||
| 					#   warning | ||||
| 					#   error | ||||
| #search_path = '"$user", public'	# schema names | ||||
| #row_security = on | ||||
| #default_table_access_method = 'heap' | ||||
| #default_tablespace = ''		# a tablespace name, '' uses the default | ||||
| #default_toast_compression = 'pglz'	# 'pglz' or 'lz4' | ||||
| #temp_tablespaces = ''			# a list of tablespace names, '' uses | ||||
| 					# only default tablespace | ||||
| #check_function_bodies = on | ||||
| #default_transaction_isolation = 'read committed' | ||||
| #default_transaction_read_only = off | ||||
| #default_transaction_deferrable = off | ||||
| #session_replication_role = 'origin' | ||||
| #statement_timeout = 0			# in milliseconds, 0 is disabled | ||||
| #lock_timeout = 0			# in milliseconds, 0 is disabled | ||||
| #idle_in_transaction_session_timeout = 0	# in milliseconds, 0 is disabled | ||||
| #idle_session_timeout = 0		# in milliseconds, 0 is disabled | ||||
| #vacuum_freeze_table_age = 150000000 | ||||
| #vacuum_freeze_min_age = 50000000 | ||||
| #vacuum_failsafe_age = 1600000000 | ||||
| #vacuum_multixact_freeze_table_age = 150000000 | ||||
| #vacuum_multixact_freeze_min_age = 5000000 | ||||
| #vacuum_multixact_failsafe_age = 1600000000 | ||||
| #bytea_output = 'hex'			# hex, escape | ||||
| #xmlbinary = 'base64' | ||||
| #xmloption = 'content' | ||||
| #gin_pending_list_limit = 4MB | ||||
| 
 | ||||
| # - Locale and Formatting - | ||||
| 
 | ||||
| datestyle = 'iso, mdy' | ||||
| #intervalstyle = 'postgres' | ||||
| timezone = 'Asia/Shanghai' | ||||
| #timezone_abbreviations = 'Default'     # Select the set of available time zone | ||||
| 					# abbreviations.  Currently, there are | ||||
| 					#   Default | ||||
| 					#   Australia (historical usage) | ||||
| 					#   India | ||||
| 					# You can create your own file in | ||||
| 					# share/timezonesets/. | ||||
| #extra_float_digits = 1			# min -15, max 3; any value >0 actually | ||||
| 					# selects precise output mode | ||||
| #client_encoding = sql_ascii		# actually, defaults to database | ||||
| 					# encoding | ||||
| 
 | ||||
| # These settings are initialized by initdb, but they can be changed. | ||||
| lc_messages = 'en_US.utf8'			# locale for system error message | ||||
| 					# strings | ||||
| lc_monetary = 'en_US.utf8'			# locale for monetary formatting | ||||
| lc_numeric = 'en_US.utf8'			# locale for number formatting | ||||
| lc_time = 'en_US.utf8'				# locale for time formatting | ||||
| 
 | ||||
| # default configuration for text search | ||||
| default_text_search_config = 'pg_catalog.english' | ||||
| 
 | ||||
| # - Shared Library Preloading - | ||||
| 
 | ||||
| #local_preload_libraries = '' | ||||
| #session_preload_libraries = '' | ||||
| #shared_preload_libraries = ''	# (change requires restart) | ||||
| #jit_provider = 'llvmjit'		# JIT library to use | ||||
| 
 | ||||
| # - Other Defaults - | ||||
| 
 | ||||
| #dynamic_library_path = '$libdir' | ||||
| #extension_destdir = ''			# prepend path when loading extensions | ||||
| 					# and shared objects (added by Debian) | ||||
| #gin_fuzzy_search_limit = 0 | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # LOCK MANAGEMENT | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| #deadlock_timeout = 1s | ||||
| #max_locks_per_transaction = 64		# min 10 | ||||
| 					# (change requires restart) | ||||
| #max_pred_locks_per_transaction = 64	# min 10 | ||||
| 					# (change requires restart) | ||||
| #max_pred_locks_per_relation = -2	# negative values mean | ||||
| 					# (max_pred_locks_per_transaction | ||||
| 					#  / -max_pred_locks_per_relation) - 1 | ||||
| #max_pred_locks_per_page = 2            # min 0 | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # VERSION AND PLATFORM COMPATIBILITY | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # - Previous PostgreSQL Versions - | ||||
| 
 | ||||
| #array_nulls = on | ||||
| #backslash_quote = safe_encoding	# on, off, or safe_encoding | ||||
| #escape_string_warning = on | ||||
| #lo_compat_privileges = off | ||||
| #quote_all_identifiers = off | ||||
| #standard_conforming_strings = on | ||||
| #synchronize_seqscans = on | ||||
| 
 | ||||
| # - Other Platforms and Clients - | ||||
| 
 | ||||
| #transform_null_equals = off | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # ERROR HANDLING | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| #exit_on_error = off			# terminate session on any error? | ||||
| #restart_after_crash = on		# reinitialize after backend crash? | ||||
| #data_sync_retry = off			# retry or panic on failure to fsync | ||||
| 					# data? | ||||
| 					# (change requires restart) | ||||
| #recovery_init_sync_method = fsync	# fsync, syncfs (Linux 5.8+) | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # CONFIG FILE INCLUDES | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # These options allow settings to be loaded from files other than the | ||||
| # default postgresql.conf.  Note that these are directives, not variable | ||||
| # assignments, so they can usefully be given more than once. | ||||
| 
 | ||||
| #include_dir = '...'			# include files ending in '.conf' from | ||||
| 					# a directory, e.g., 'conf.d' | ||||
| #include_if_exists = '...'		# include file only if it exists | ||||
| #include = '...'			# include file | ||||
| 
 | ||||
| 
 | ||||
| #------------------------------------------------------------------------------ | ||||
| # CUSTOMIZED OPTIONS | ||||
| #------------------------------------------------------------------------------ | ||||
| 
 | ||||
| # Add settings for extensions here | ||||
							
								
								
									
										8
									
								
								postgres/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								postgres/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| pgdata/* | ||||
| archived/* | ||||
| backup/first/* | ||||
| backup/* | ||||
| !.gitignore | ||||
| !pgdata | ||||
| !backup/first | ||||
| !archived | ||||
							
								
								
									
										51
									
								
								rabbitmq/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								rabbitmq/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| # 基于docker启动的rabbitmq服务 | ||||
| 
 | ||||
| ## 镜像 | ||||
| 
 | ||||
| `quay.io/wandoubaba517/rabbitmq:3.13.4` | ||||
| 
 | ||||
| 这个镜像是基于Docker Hub上的官方`rabbitmq:3.13.4`制作,安装并开启了了`rabbitmq_delayed_message_exchange`插件,开启了`rabbitmq_stomp`服务。 | ||||
| 
 | ||||
| 支持`amd64`架构和`arm64`架构。 | ||||
| 
 | ||||
| ## 配置默认用户名密码 | ||||
| 
 | ||||
| 在首次启动前修改`conf/conf.d/10-defaults.conf`文件中的`default_user`和`default_password`,会自动创建用户。 | ||||
| 
 | ||||
| ## 启动服务 | ||||
| 
 | ||||
| ```sh | ||||
| ./start | ||||
| ``` | ||||
| 
 | ||||
| 启动脚本内容如下: | ||||
| 
 | ||||
| ```sh | ||||
| docker run -d \ | ||||
|     -p 5672:5672 \ | ||||
|     -p 15672:15672 \ | ||||
|     -p 61613:61613 \ | ||||
|     -v ./data:/var/lib/rabbitmq/mnesia \ | ||||
|     -v ./conf/conf.d:/etc/rabbitmq/conf.d \ | ||||
|     --hostname rabbitmq \ | ||||
|     --name rabbitmq \ | ||||
|     quay.io/wandoubaba517/rabbitmq:3.13.4 | ||||
| ``` | ||||
| 
 | ||||
| ## 停止服务 | ||||
| 
 | ||||
| 用`docker stop <container_name>`或者`docker rm -f <container_name>`即可。 | ||||
| 
 | ||||
| ## 数据持久化 | ||||
| 
 | ||||
| 将容器的`/var/lib/rabbitmq/mnesia`目录映射到`./data`目录。 | ||||
| 
 | ||||
| ## 默认端口 | ||||
| 
 | ||||
| |端口|协议/服务说明| | ||||
| |---|---| | ||||
| |5672|amqp| | ||||
| |15672|web管理后台| | ||||
| |25672|集群通信| | ||||
| |61613|stomp| | ||||
| |15674|web-stomp| | ||||
							
								
								
									
										35
									
								
								rabbitmq/conf/conf.d/10-defaults.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								rabbitmq/conf/conf.d/10-defaults.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | ||||
| ## DEFAULT SETTINGS ARE NOT MEANT TO BE TAKEN STRAIGHT INTO PRODUCTION | ||||
| ## see https://www.rabbitmq.com/configure.html for further information | ||||
| ## on configuring RabbitMQ | ||||
| 
 | ||||
| ## allow access to the guest user from anywhere on the network | ||||
| ## https://www.rabbitmq.com/access-control.html#loopback-users | ||||
| ## https://www.rabbitmq.com/production-checklist.html#users | ||||
| loopback_users.guest = true | ||||
| 
 | ||||
| ## Send all logs to stdout/TTY. Necessary to see logs when running via | ||||
| ## a container | ||||
| log.console = true | ||||
| 
 | ||||
| disk_free_limit.absolute = 6G | ||||
| 
 | ||||
| vm_memory_high_watermark.relative = 0.7 | ||||
| 
 | ||||
| default_vhost = / | ||||
| default_user = hello | ||||
| default_pass = helloworld | ||||
| 
 | ||||
| default_permissions.configure = .* | ||||
| default_permissions.read = .* | ||||
| default_permissions.write = .* | ||||
| 
 | ||||
| ## Tags for default user | ||||
| ## | ||||
| ## For more details about tags, see the documentation for the | ||||
| ## Management Plugin at https://rabbitmq.com/management.html. | ||||
| ## | ||||
| default_user_tags.administrator = true | ||||
| 
 | ||||
| ## Define other tags like this: | ||||
| default_user_tags.management = true | ||||
| # default_user_tags.custom_tag = true | ||||
							
								
								
									
										2
									
								
								rabbitmq/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								rabbitmq/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										46
									
								
								redis/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								redis/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,46 @@ | ||||
| # docker-redis | ||||
| 
 | ||||
| 基于docker启动的redis服务 | ||||
| 
 | ||||
| ## 用法 | ||||
| 
 | ||||
| ```sh | ||||
| git clone https://git.wandoubaba.com/wandoubaba/docker-redis.git | ||||
| cd docker-redis | ||||
| ./service start | ||||
| ``` | ||||
| 
 | ||||
| ## 服务控制 | ||||
| 
 | ||||
| ```sh | ||||
| # 启动 | ||||
| ./service start | ||||
| # 停止 | ||||
| ./service stop | ||||
| # 重启 | ||||
| ./service restart | ||||
| # 查看状态 | ||||
| ./service status | ||||
| ``` | ||||
| 
 | ||||
| ## 配置 | ||||
| 
 | ||||
| - 容器名称 | ||||
| 
 | ||||
| 在`docker-compose.yml`中设置容器名称,同时在`redis-cli`脚本和`service`脚本中修改对应的容器名称。 | ||||
| 
 | ||||
| - 服务端口号 | ||||
| 
 | ||||
| 在`redis.conf`中修改`port 6379`一行,修改后需要重启服务生效。 | ||||
| 
 | ||||
| - 连接密码 | ||||
| 
 | ||||
| 在`redis.conf`中修改`requirepass 123456`一行,修改后需要重启服务生效。 | ||||
| 
 | ||||
| - 其他配置 | ||||
| 
 | ||||
| 在`redis.conf`中修改其他配置。 | ||||
| 
 | ||||
| ## 客户端 | ||||
| 
 | ||||
| `redis-cli`脚本就是调用容器内的`redis-cli`工具实现客户端连接的,用法与`redis-cli`工具相同。 | ||||
							
								
								
									
										2297
									
								
								redis/conf/redis.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2297
									
								
								redis/conf/redis.conf
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2
									
								
								redis/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								redis/data/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| * | ||||
| !.gitignore | ||||
							
								
								
									
										14
									
								
								redis/redis-cli
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								redis/redis-cli
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,14 @@ | ||||
| #!/bin/bash | ||||
| 
 | ||||
| # 获取脚本所在目录的绝对路径 | ||||
| SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd) | ||||
| 
 | ||||
| # 切换工作目录到脚本所在目录 | ||||
| cd $SCRIPT_DIR | ||||
| 
 | ||||
| container_name="devkit_redis" | ||||
| 
 | ||||
| export REDIS_PASSWORD="helloworld" | ||||
| export REDIS_PORT=6379 | ||||
| 
 | ||||
| docker exec -it $container_name bash -c "redis-cli -p $REDIS_PORT -a $REDIS_PASSWORD $@" | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user