blob: 61ac62b3dc03c2fcf32fd459989b22a62710869d [file] [log] [blame]
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`
To build:
* nginx first because it creates selfsigned certificate `docker-compose build nginx`
* then everything else `docker-compose build`
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