# A Kite site in one command. # # docker compose up -d # # Then open http://localhost:1717/admin/ and finish the installation in the # browser. Until that is done the server answers nothing but the setup page -- # and that page is open to whoever reaches it first, because there is no # account yet to check anybody against. Set KITE_ADMIN_PASSWORD below to skip # setup entirely. services: kite: image: ghcr.io/kite-plus/kite:latest # To run a local change instead of the published image, comment the line # above and uncomment this one. # build: . container_name: kite restart: unless-stopped ports: - "1717:1717" environment: # Where the site will be published. Kite writes this into feeds, # sitemaps and canonical links, so it has to be the address people # actually reach, not the container's. KITE_SITE_BASEURL: http://localhost:1717 # An account can be supplied instead of being created in the browser, # which is what an unattended deployment wants. Setting these skips # setup entirely. # KITE_ADMIN_USER: admin # KITE_ADMIN_PASSWORD: change me, please # A fine-grained token for the site's repository on GitHub, with # Contents, Workflows and Pages: read and write. Connect on the Deploy # page to push there; without it the token is given on that page. # KITE_GITHUB_TOKEN: github_pat_... volumes: # A named volume, because the container runs as an unprivileged user # and a bind mount would inherit whatever the host directory allows. # # To keep the content in a directory you can edit and commit, use a # bind mount and run as yourself instead: # # volumes: # - ./data:/data # user: "${UID:-1000}:${GID:-1000}" # # Create the directory first, or Docker will create it owned by root. - kite-data:/data volumes: kite-data: