diff --git a/.env.sample b/.env.sample index 3ed4f3b..fd1bb24 100644 --- a/.env.sample +++ b/.env.sample @@ -6,6 +6,13 @@ DOMAIN=cryptpad.example.com # This is a separate domain for the secure side of Cryptpad. It can be any other domain (subdomain or separate domain) SANDBOX_DOMAIN=sandbox.cryptpad.example.com +# CRYPTPAD_ADMIN_KEYS +## here is an example of the format for one single key +# CRYPTPAD_ADMIN_KEYS= '"[user1@cryptpad.cctest.autonomic.zone/zew-WaKZimxhNSL3iiVL8SCzVzPB8KhIxZNrRKn+uRo=]",' +## here is an example of the format for multiple keys (including here because it was confusing to me) +# CRYPTPAD_ADMIN_KEYS='"[user1@cryptpad.cctest.autonomic.zone/zew-WaKZimxhNSL3iiVL8SCzVzPB8KhIxZNrRKn+uRo=]","[user2@cryptpad.cctest.autonomic.zone/Z7agNvwPXHm9xuEYOYV2YY53fSofgzum86xvhUxJ4nU=]",' + + ## Domain aliases #EXTRA_DOMAINS=', `www.cryptpad.example.com`' LETS_ENCRYPT_ENV=production diff --git a/README.md b/README.md index 196110c..48ec732 100644 --- a/README.md +++ b/README.md @@ -26,5 +26,19 @@ 5. `abra app deploy YOURAPPDOMAIN` 6. Open the configured domain in your browser to finish set-up +At this point, anyone with this domain can register new users with this cryptpad instance. + +After you have registered a first user, here is how you can make this user into an admin. +After logging in as your user, go to: https://cryptpad.cctest.autonomic.zone/profile/ + +Click "Copy Public Key". This will copy your public key into your clipboard. +Then run `abra app config YOURAPPDOMAIN` and set the value of CRYPTPAD_ADMIN_KEYS +to include your public key. The example in .env.sample shows the required format. + +Then redeploy with `abra app deploy YOURAPPDOMAIN --force`. + +Now when you login as your user, and visit https://cryptpad.cctest.autonomic.zone/admin/, +you should be able to access the admin interface for this cryptpad instance. + [`abra`]: https://git.coopcloud.tech/coop-cloud/abra [`coop-cloud/traefik`]: https://git.coopcloud.tech/coop-cloud/traefik \ No newline at end of file diff --git a/abra.sh b/abra.sh index 17960dc..c38f188 100644 --- a/abra.sh +++ b/abra.sh @@ -1,3 +1,3 @@ export CONFIG_VERSION=v2 -export CONFIG_JS_VERSION=v1 +export CONFIG_JS_VERSION=v2 export NGINX_CONF_VERSION=v1 diff --git a/compose.yml b/compose.yml index c75b799..1ff2e56 100644 --- a/compose.yml +++ b/compose.yml @@ -7,6 +7,7 @@ services: networks: - backend environment: + - CRYPTPAD_ADMIN_KEYS - "CPAD_MAIN_DOMAIN=${DOMAIN}" - "CPAD_SANDBOX_DOMAIN=${SANDBOX_DOMAIN}" # Traefik can't use HTTP2 to communicate with cryptpad_websocket diff --git a/config.js.tmpl b/config.js.tmpl index ac5b563..0559779 100644 --- a/config.js.tmpl +++ b/config.js.tmpl @@ -111,11 +111,9 @@ module.exports = { * key, which can be found on the settings page for registered users. * Entries should be strings separated by a comma. */ -/* adminKeys: [ - //"[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]", + {{ env "CRYPTPAD_ADMIN_KEYS" }} ], -*/ /* ===================== * STORAGE