From 45913de805b9747cf0f468ab533208db4f189bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Fri, 8 Jul 2022 11:14:18 +0200 Subject: [PATCH 1/8] Refine docs, first step --- README.md | 31 ++++++++++++++++++++++----- deployment/kubernetes/DigitalOcean.md | 3 ++- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a74a590..a57f184 100644 --- a/README.md +++ b/README.md @@ -8,14 +8,20 @@ This repository is an in use template to rebrand, configure, and deploy [ocelot.social](https://github.com/Ocelot-Social-Community/Ocelot-Social) networks. The forked original repository is [Ocelot-Social-Deploy-Rebranding](https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding). +

Ocelot-Social

+ - Logins: @@ -24,7 +30,8 @@ Logins: | `user@example.org` | 1234 | user | | `moderator@example.org` | 1234 | moderator | | `admin@example.org` | 1234 | admin | ---> + +Deployed networks can be found [here](#list-of-deployed-networks). ## Usage @@ -44,7 +51,7 @@ The next step is: - [Configure And Branding](/branding/README.md) -### Optional: Proof Configuration And Branding Locally +### Optional: Locally Testing Configuration And Branding Just in case you have Docker installed and run the following, you can check your branding locally: @@ -74,7 +81,7 @@ Secondly, in your GitHub repository, click on the 'Settings' tab and go to the ' 1. Named `DOCKERHUB_TOKEN` with the newly created DockerHub token (only the code, not the token name). 2. Named `DOCKERHUB_USERNAME` with your DockerHub username. -### Optional: Proof DockerHub Images Locally +### Optional: Locally Testing Your DockerHub Images Just in case you like to check your pushed Docker images in your organisation's DockerHub repositories locally: @@ -123,6 +130,20 @@ Browser compatibility testing with [BrowserStack](https://www.browserstack.com/) BrowserStack Logo --> +## List Of Deployed Networks + +You may need an invitation to access a network. + +### More Likely To Try + +- [wir.social](https://wir.social) + +### Others + +- [freilernen.social](https://freilernen.social) +- [helfa.social](https://helfa.social) +- [sender.fm](https://sender.fm) + ## License See the [LICENSE](/LICENSE.md) file for license rights and limitations (MIT). diff --git a/deployment/kubernetes/DigitalOcean.md b/deployment/kubernetes/DigitalOcean.md index 50b7034..b935ff7 100644 --- a/deployment/kubernetes/DigitalOcean.md +++ b/deployment/kubernetes/DigitalOcean.md @@ -18,7 +18,8 @@ On the right top you find the button `Create`. Click on it and choose `Kubernete - use the latest Kubernetes version - choose your datacenter region - name your node pool: e.g. `pool-` -- 2 `Basic node` with a total of 4GB and 2 shared CPUs are enough to start with +- `2 Basic nodes` with a total of `4 GB` and `2 shared CPUs` are enough to start with +- `2 Basic nodes` with a total of `8 GB` and `2 shared CPUs` are a bit more optimal for the beginning - no tags necessary - set your cluster name: e.g. `cluster-` - select your project From 2dd33909c7a7829828d1ff994a7f5f67061d3ce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Sat, 9 Jul 2022 21:20:16 +0200 Subject: [PATCH 2/8] Update cert-manager apiVersion "cert-manager.io/v1alpha2" to "cert-manager.io/v1" --- .../kubernetes/templates/issuer/letsencrypt-production.yaml | 2 +- deployment/kubernetes/templates/issuer/letsencrypt-staging.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/kubernetes/templates/issuer/letsencrypt-production.yaml b/deployment/kubernetes/templates/issuer/letsencrypt-production.yaml index 2836cce..6f82f36 100644 --- a/deployment/kubernetes/templates/issuer/letsencrypt-production.yaml +++ b/deployment/kubernetes/templates/issuer/letsencrypt-production.yaml @@ -1,4 +1,4 @@ -apiVersion: cert-manager.io/v1alpha2 +apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-production diff --git a/deployment/kubernetes/templates/issuer/letsencrypt-staging.yaml b/deployment/kubernetes/templates/issuer/letsencrypt-staging.yaml index 7190e65..e488d93 100644 --- a/deployment/kubernetes/templates/issuer/letsencrypt-staging.yaml +++ b/deployment/kubernetes/templates/issuer/letsencrypt-staging.yaml @@ -1,4 +1,4 @@ -apiVersion: cert-manager.io/v1alpha2 +apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-staging From 70a60122b4c456e0a087a0a82ba66a2ec30f875f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Sat, 9 Jul 2022 21:21:33 +0200 Subject: [PATCH 3/8] Update deploy instructions --- LICENSE.md | 2 +- deployment/kubernetes/DigitalOcean.md | 11 +++++----- deployment/kubernetes/LICENSE | 12 ----------- deployment/kubernetes/README.md | 31 ++++++++++++++++++++++----- 4 files changed, 32 insertions(+), 24 deletions(-) delete mode 100644 deployment/kubernetes/LICENSE diff --git a/LICENSE.md b/LICENSE.md index d2be003..69cc340 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -2,7 +2,7 @@ MIT License -Copyright \(c\) 2021 by the [Ocelot.Social Community](https://github.com/Ocelot-Social-Community) +Copyright \(c\) 2022 by the [Ocelot.Social Community](https://github.com/Ocelot-Social-Community) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files \(the "Software"\), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/deployment/kubernetes/DigitalOcean.md b/deployment/kubernetes/DigitalOcean.md index b935ff7..2c919d5 100644 --- a/deployment/kubernetes/DigitalOcean.md +++ b/deployment/kubernetes/DigitalOcean.md @@ -18,18 +18,17 @@ On the right top you find the button `Create`. Click on it and choose `Kubernete - use the latest Kubernetes version - choose your datacenter region - name your node pool: e.g. `pool-` -- `2 Basic nodes` with a total of `4 GB` and `2 shared CPUs` are enough to start with -- `2 Basic nodes` with a total of `8 GB` and `2 shared CPUs` are a bit more optimal for the beginning -- no tags necessary +- `2 Basic nodes` with `2.5 GB RAM (total of 4 GB)`, `2 shared CPUs`, and `80 GB Disk` each is optimal for the beginning - set your cluster name: e.g. `cluster-` - select your project +- no tags necessary ## Getting Started -After your cluster is set up, see progress bar above, click on `Getting started`. Please install the following management tools: +After your cluster is set up – see progress bar above – click on `Getting started`. Please install the following management tools: -- [kubectl](https://kubernetes.io/docs/tasks/tools/) -- [doctl](https://github.com/digitalocean/doctl) +- [kubectl v1.24.1](https://kubernetes.io/docs/tasks/tools/) +- [doctl v1.78.0](https://github.com/digitalocean/doctl) Install the tools as described on the tab or see the links here. diff --git a/deployment/kubernetes/LICENSE b/deployment/kubernetes/LICENSE deleted file mode 100644 index a027039..0000000 --- a/deployment/kubernetes/LICENSE +++ /dev/null @@ -1,12 +0,0 @@ -# LICENSE - -MIT License - -Copyright \(c\) 2021 Ulf Gebhardt - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files \(the "Software"\), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/deployment/kubernetes/README.md b/deployment/kubernetes/README.md index c519cb0..8388f50 100644 --- a/deployment/kubernetes/README.md +++ b/deployment/kubernetes/README.md @@ -19,15 +19,36 @@ Besides the `values.template.yaml` file we provide a `nginx.values.template.yaml ## Installation -Due to the many limitations of Helm you still have to do several manual steps. Those occur before you run the actual *ocelot.social* Helm chart. Obviously it is expected of you to have `helm` and `kubectl` installed. For DigitalOcean you might require `doctl` aswell. +Due to the many limitations of Helm you still have to do several manual steps. +Those occur before you run the actual *ocelot.social* Helm chart. +Obviously it is expected of you to have `helm` and `kubectl` installed. +For the cert-manager you may need `cmctl`, see below. +For DigitalOcean you may also need `doctl`. + +Install: + +- [kubectl v1.24.1](https://kubernetes.io/docs/tasks/tools/) +- [doctl v1.78.0](https://docs.digitalocean.com/reference/doctl/how-to/install/) +- [cmctl v1.8.2](https://cert-manager.io/docs/usage/cmctl/#installation) +- [helm v3.9.0](https://helm.sh/docs/intro/install/) + ### Cert Manager (https) -Please refer to [cert-manager.io docs](https://cert-manager.io/docs/installation/kubernetes/) for more details. +Please refer to [cert-manager.io docs](https://cert-manager.io/docs/installation/) for more details. ***ATTENTION:*** *Be with the Terminal in your repository in the folder of this README.* -#### 1. Create Namespace +We have three ways to install the cert-manager, purely via `kubectl`, via `cmctl`, or with `helm`. + +We recommend using `helm` because then we do not mix the installation methods. +Please have a look here: + +- [Installing with Helm](https://cert-manager.io/docs/installation/helm/#installing-with-helm) + +***ATTENTION:*** *When uninstalling cert-manager, be sure to use the same method as for installation! Otherwise, we could end up in a broken state, see [Uninstall](https://cert-manager.io/docs/installation/kubectl/#uninstalling).* + + ### Ingress-Nginx @@ -108,7 +129,7 @@ You will need an API token, which you can generate in the control panel at Date: Sat, 9 Jul 2022 21:33:39 +0200 Subject: [PATCH 4/8] Update TODO-next-update.md --- TODO-next-update.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/TODO-next-update.md b/TODO-next-update.md index b27f5f1..4585364 100644 --- a/TODO-next-update.md +++ b/TODO-next-update.md @@ -2,7 +2,14 @@ When you overtake this deploy and rebrand repo to your network you have to recognize the following changes and doings … -## This Latest Version > 1.0.7 with 'ocelotDockerVersionTag' 1.0.7-171 +## Version > 1.0.8 with 'ocelotDockerVersionTag' 1.0.8-182 + +### Deployment/Rebranding PR – chore: [WIP] 🍰 Refine docs, first step #46 + +- Commit: `Update cert-manager apiVersion "cert-manager.io/v1alpha2" to "cert-manager.io/v1" + - Check for `kubectl` and `helm` versions. + +## Version 1.0.8 with 'ocelotDockerVersionTag' 1.0.8-182 ### PR – feat: 🍰 Configure Cookie Expire Time #43 From 11742743760737d9b7c138e3d5cb9ec4a8a5739b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Mon, 18 Jul 2022 07:24:58 +0200 Subject: [PATCH 5/8] Add Docker documentation --- docker/DOCKER_MORE_CLOSELY.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 docker/DOCKER_MORE_CLOSELY.md diff --git a/docker/DOCKER_MORE_CLOSELY.md b/docker/DOCKER_MORE_CLOSELY.md new file mode 100644 index 0000000..c5c9269 --- /dev/null +++ b/docker/DOCKER_MORE_CLOSELY.md @@ -0,0 +1,16 @@ +# Docker + +## Apple M1 Platform + +***Attention:** For using Docker commands in Apple M1 environments!* + +```bash +# set env variable for your shell +$ export DOCKER_DEFAULT_PLATFORM=linux/amd64 +``` + +For even more informations, see [Docker More Closely](#docker-more-closely) + +## Docker More Closely + +To get more informations about the Apple M1 platform and to analyze the Docker builds etc. you find our documentation in our main code, [here](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/DOCKER_MORE_CLOSELY.md). From 0285c4c622891463fe2fe944bbc2b9d7e10035ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Tue, 13 Sep 2022 15:01:51 +0200 Subject: [PATCH 6/8] Add documentation for `PRODUCTION_DB_CLEAN_ALLOW` --- TODO-next-update.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/TODO-next-update.md b/TODO-next-update.md index 4585364..c324ad9 100644 --- a/TODO-next-update.md +++ b/TODO-next-update.md @@ -2,10 +2,12 @@ When you overtake this deploy and rebrand repo to your network you have to recognize the following changes and doings … -## Version > 1.0.8 with 'ocelotDockerVersionTag' 1.0.8-182 +## Version 1.0.9 with 'ocelotDockerVersionTag' 1.0.9-199 ### Deployment/Rebranding PR – chore: [WIP] 🍰 Refine docs, first step #46 +- PR: `chore: 🍰 Implement PRODUCTION_DB_CLEAN_ALLOW for Staging Production Environments #56` + - Copy `PRODUCTION_DB_CLEAN_ALLOW` from `values.template.yaml` to `values.yaml` and set it to `false` for production envireonments and only for several stage test servers to `true`. - Commit: `Update cert-manager apiVersion "cert-manager.io/v1alpha2" to "cert-manager.io/v1" - Check for `kubectl` and `helm` versions. From c68499c2a8adde36bd9d9d2cf4221e7332a74bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Tue, 13 Sep 2022 15:39:44 +0200 Subject: [PATCH 7/8] Remove live networks --- README.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/README.md b/README.md index a57f184..9b70d3a 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,6 @@ Logins: | `moderator@example.org` | 1234 | moderator | | `admin@example.org` | 1234 | admin | -Deployed networks can be found [here](#list-of-deployed-networks). - ## Usage Fork this repository to configure and rebrand it for your own [ocelot.social](https://github.com/Ocelot-Social-Community/Ocelot-Social) network. @@ -130,20 +128,6 @@ Browser compatibility testing with [BrowserStack](https://www.browserstack.com/) BrowserStack Logo --> -## List Of Deployed Networks - -You may need an invitation to access a network. - -### More Likely To Try - -- [wir.social](https://wir.social) - -### Others - -- [freilernen.social](https://freilernen.social) -- [helfa.social](https://helfa.social) -- [sender.fm](https://sender.fm) - ## License See the [LICENSE](/LICENSE.md) file for license rights and limitations (MIT). From ba4ad7550851e9bbfc2eb586a1c668e262b1865e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Tue, 13 Sep 2022 16:25:31 +0200 Subject: [PATCH 8/8] Refine main readme for cert-manager and kubectl version --- deployment/kubernetes/README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/deployment/kubernetes/README.md b/deployment/kubernetes/README.md index 868676d..0f7ecd2 100644 --- a/deployment/kubernetes/README.md +++ b/deployment/kubernetes/README.md @@ -46,6 +46,10 @@ Please have a look here: - [Installing with Helm](https://cert-manager.io/docs/installation/helm/#installing-with-helm) +Our Helm installation is optimized for cert-manager version `v1.9.1` and `kubectl` version `"v1.24.2`. + +Please search here for cert-manager versions that are compatible with your `kubectl` version on the cluster and on the client: [cert-manager Supported Releases](https://cert-manager.io/docs/installation/supported-releases/#supported-releases). + ***ATTENTION:*** *When uninstalling cert-manager, be sure to use the same method as for installation! Otherwise, we could end up in a broken state, see [Uninstall](https://cert-manager.io/docs/installation/kubectl/#uninstalling).* ### Ingress-Nginx -#### 1. Add Helm repository and update +#### 1. Add Helm repository for `ingress-nginx` and update ```bash $ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx @@ -160,7 +164,7 @@ $ doctl compute firewall get --context This chart is only necessary (recommended is more precise) if you run DigitalOcean without load balancer. You need to generate an access token with read + write for the `dns.values.yaml` at and fill it in. -#### 1. Add Helm repository and update +#### 1. Add Helm repository for `binami` and update ```bash $ helm repo add bitnami https://charts.bitnami.com/bitnami