For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /start/quick-start.md.

Quick Start

Warning

dev-0.0.x versions are internal versions. Versions after 0.1.x are open-source versions, and open-source releases will overwrite latest.

Note: Starting from internal version dev-0.0.26, the backend framework was refactored from Hertz to Gin.

Start Command

docker
docker-compose
#!/bin/bash

docker rm -f confkeeper

docker run -id \
--name=confkeeper \
--restart=always \
--network=host \
--health-cmd="wget --no-verbose --tries=1 --spider http://localhost:8888/api/ping || exit 1" \
--health-interval=30s \
--health-timeout=10s \
--health-retries=3 \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v $(pwd)/config/config.yaml:/app/config/config.yaml:ro \
buyfakett/confkeeper \
-p=8888 \
-c=/app/config/config.yaml

Configuration

Tip

Configuration priority is command line > environment variables > specified config file > default config file.

Environment variables need the CONFKEEPER_GO prefix. For example, the server port is CONFKEEPER_GO_SERVER_PORT.

The following is the default configuration. You can change it as needed.

server:
  port: 8888                    # Listening port
  log_level: info               # Log level
  swagger: true                 # Whether to enable Swagger
  zone: Asia/Shanghai           # Time zone
  captcha_expire_time: 5        # Captcha expiration time in minutes
admin:
  username: admin               # Default admin username
  password: admin123456         # Default admin password
jwt:
  secret: 123qazwsxedc456       # Change this to a random value
  expire_time: 168
db:
  type: sqlite3
  database: confkeeper
captcha:
  length: 6                     # Captcha length
  noise_count: 50               # Captcha noise count
ldap:
  enabled: false                # Whether to enable LDAP auth (true: enabled, false: disabled)
  addr: "127.0.0.1:389"         # LDAP server address and port (standard port 389, LDAPS port 636)
  base_dn: "dc=example,dc=com"  # Base distinguished name: root node for user search, usually split from the domain name
  bind_dn: ""                   # Bind DN: admin account used to log in to LDAP for queries, such as "cn=admin,dc=example,dc=com"
  bind_pass: ""                 # Bind password for the admin account above
  tls: false                    # Whether to enable TLS encryption. Recommended in production to avoid plaintext transmission
Tip

The database configuration supports multiple database types.

db:
  type: postgres           # Change to mysql if you want to use MySQL
  host: xxx
  port: 5432
  user: postgres
  password: xxx
  database: test