| Create environment files (cf. `git ls-files \*environment.template`): |
| * Set SA_PUBLIC_DOMAIN_NAME in `environment` |
| * Set CANONICAL_WEB_URL in `gerrit/environment` |
| * Enable GitHub OAUTH in `gerrit/environment` |
| |
| Building using self-signed certificates: |
| We always create a temporary, self-signed certificate which |
| can be overwritten by certbot. If intending to test with the |
| self-signed certificate, build nginx first: |
| * `docker-compose build nginx`, |
| then everything else: |
| * `docker-compose build --build-arg SSL_VARIANT=selfsigned` |
| which will register the self-signed certificate with Gerrit. |
| |
| Get containers up: |
| * `docker-compose up` |
| |
| Mail setup: |
| * A 'gerrit@' mail account will be added automatically |
| * See `docker-compose exec mailserver setup` for more |
| * Add account or alias for 'postmaster@' |
| |
| When the containers are up run `certbot`: |
| * Once `docker-compose -f sa-certbot.yml run new` |
| * Every x < 30 days `docker-compose -f sa-certbot.yml run renew` |
| * Always reload nginx `docker-compose exec nginx nginx -s reload` |
| |
| DKIM: |
| * `docker-compose exec mailserver setup config dkim` |
| * If using a subdomain, set `use_esld = false;` |
| in `mail/rspamd-override.d/dkim_signing.conf` |
| * Publish key from `mail/config/rspamd/dkim/*.public.dns.txt` via DNS |
| |
| Mail testing with dial-in IP: |
| Some popular (german) email providers greet with a 554 error when the IP is |
| blacklisted. Seems out of standard and hence can lead to not bouncing the |
| message immediately. |
| * Set `smtp_skip_5xx_greeting = no` in `mail/config/postfix-main.cf`, |
| if you want immediate bounces. |
| |
| Import projects into Gerrit: |
| * `sudo git -C gerrit/git/ clone --mirror ...` |
| - Update `groups` and groups in `project.config` |
| in branch `refs/meta/config` |
| * Import foreign server IDs if needed, e.g. |
| `sudo git config -f gerrit/etc/gerrit.config --add gerrit.importedServerId fb9ff590-4b50-4f01-be71-0aafd704c4b4` |
| * Import foreign account IDs: |
| - Check out refs/meta/external-ids` of `All-Users.git` |
| - `sha1sum` the imported ID, e.g. `echo -n imported:1000000@fb9ff590-4b50-4f01-be71-0aafd704c4b4 | sha1sum` |
| - Use SHA1 sum as filename, contents: |
| [externalId "imported:1000000@fb9ff590-4b50-4f01-be71-0aafd704c4b4"] |
| accountId = 1000123 |
| - import_account_id() { |
| imported=imported:$1 |
| sha1=$(printf "%s" ${imported} | sha1sum | awk '{ printf $1; }') |
| local=$2 |
| printf "[externalId \"${imported}\"]\n\taccountId = ${local}\n" >${sha1} |
| } |
| - Commit & push |
| * Restart containers |