aboutsummaryrefslogtreecommitdiff
path: root/ci/container/docker-compose.yaml
blob: 65eebdc7756b30cb3f94877fe88a6601d08293af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#Copyright (c) Vaughn Nugent
#Licensed under the GNU AGPLv3

version: '3.6'

services:
  simple-bookmark:
    build:        #builds in the current directory
      context: .

    image: vnuge/simple-bookmark
    container_name: simple-bookmark
    restart: unless-stopped
    volumes:
      - ./data:/app/data
      - ./assets:/app/usr/assets:ro
      #uncomment to use your own ssl certs, otherwise a build-time cert will be used
      #- ./ssl/cert.pem:/app/ssl/cert.pem:ro
      #- ./ssl/key.pem:/app/ssl/key.pem:ro
    ports:
      - 8080:8080
    environment:
      MAX_BOOKMARKS: "5000"
      REG_TOKEN_DURATION_MIN: "360"  #6 hours
      MAX_CONTENT_LENGTH: "5120000"  #5MB max upload size
      MAX_LOGIN_ATTEMPS: "10"        #max login attempts before user account is locked out

      #SQL Config
      SQL_LIB_PATH: "VNLib.Plugins.Extensions.Sql.SQLite.dll"
      SQL_CONNECTION_STRING: "Data Source=data/simple-bookmark.db;"

      #HC Vault client config
      #HC_VAULT_ADDR: ""
      #HC_VAULT_TOKEN: ""
      #HC_VAULT_TRUST_CERT: "false"

      #VNCACHE (default to memory only)
      CACHE_ASM_PATH: "VNLib.Data.Caching.Providers.VNCache.dll"
      MEMCACHE_ONLY: "true"
      REDIS_CONNECTION_STRING: ""
      #at least one node required if MEMCACHE_ONLY is false
      VNCACHE_INITIAL_NODES: "[]"

      #SECRETS
      # All secrets may be a raw value, read from a file, 
      # an environment variable, or a vault path
      # file://mysecret.txt     reads the secret from a file (case sensitive)
      # env://MY_SECRET         reads the secret from an environment variable (case sensitive)
      # vault://kv/data/secret?secret=value   reads the value of the mysecret key in the secret/data path

      PASSWORD_PEPPER: ""     #Must be a base64 encoded value, of realtivley any size
      DATABASE_PASSWORD: ""   #overrides the 'Password' field in the SQL connection string
      REDIS_PASSWORD: ""      #only required if using a password protected redis server
      #if MEMCACHE_ONLY is false, then the following keys are required to connect to a VNCACHE cluster
      VNCACHE_CLIENT_PRIVATE_KEY: ""
      VNCACHE_CACHE_PUBLIC_KEY: ""

      #HTTP
      HTTP_DOWNSTREAM_SERVERS: '[]'   #a comma separated list of downstream (proxy) server ip addresses
      HTTP_TRACE_ON: "false"          #enable http trace logging, requires you to set --debug to SERVER_ARGS variable below

      #Very Verbose plugin logging, required --debug CLI flag, prints literally everything to the logger (it's annoying)
      DEBUG_PLUGINS: "false"

      SERVER_ARGS: "--setup" #remove the setup flag after you are done setting up the server