Some checks are pending
CI / Integration (mcr.microsoft.com/mssql/server:2025-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2019-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2022-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2017-latest) (push) Blocked by required conditions
CI / Build og unit tests (push) Successful in 1m1s
deploy hub / deploy (push) Successful in 19s
CI / MSI-installer (push) Successful in 36s
- src/SQLInsight.Community: offentligt websted med forside, funktioner, download af signerede udgivelser (med SHA-256), dokumentation fra docs/, SQL Server- versioner fra den nyeste signerede regelpakke, regler og supportaftaler. Viser de seneste forumemner. Streng CSP, ingen login, ingen database. - deploy/forum: Discourse-opsætning (app.yml til discourse_docker, dansk sprog og søgning), install.sh og configure.py, der idempotent opsætter kategorier, løste svar, velkomstemne og indstillinger via API'et. - deploy/community: Dockerfile og docker compose med Caddy til TLS. - Webbrugerfladen linker til forum, dokumentation og support på webstedet (SQLInsight:Web:ForumUrl og CommunityUrl). - Udgivelsesfiler hedder sqlinsight-<version>-<platform>.<ext>. - Tests: sider, 404, signerede og manipulerede feeds, forum (også nede), dokumentationslinks og regler. - docs/community.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E3EExwndy8Z22EK2Qpt6BK
46 lines
1.9 KiB
Bash
Executable file
46 lines
1.9 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Installs the SQLInsight Pro forum (Discourse) on a fresh Linux server with the official discourse_docker launcher.
|
|
# Run as root on the forum server, from a checkout of this repository, after filling in deploy/forum/app.yml:
|
|
# sudo deploy/forum/install.sh
|
|
# Needs: DNS for the forum's host name pointing here, ports 80 and 443 free, 2 GB memory (4 GB recommended) and a mail server.
|
|
set -euo pipefail
|
|
|
|
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
TARGET=/var/discourse
|
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "Kør som root (sudo)." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Refuse to install with the example values still in place: Discourse is useless without a working mail server.
|
|
if grep -nE 'example\.com|"CHANGE"' "$HERE/app.yml" | grep -vE '^[0-9]+:\s*#'; then
|
|
echo "Udfyld værdierne markeret CHANGE i $HERE/app.yml først (linjerne ovenfor)." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v docker >/dev/null; then
|
|
echo "Installerer Docker ..."
|
|
curl -fsSL https://get.docker.com | sh
|
|
fi
|
|
|
|
if [[ ! -d $TARGET/.git ]]; then
|
|
git clone --depth 1 https://github.com/discourse/discourse_docker.git "$TARGET"
|
|
fi
|
|
|
|
install -m 600 "$HERE/app.yml" "$TARGET/containers/app.yml"
|
|
cd "$TARGET"
|
|
./launcher rebuild app
|
|
|
|
host=$(sed -n 's/^\s*DISCOURSE_HOSTNAME:\s*//p' "$HERE/app.yml" | tr -d '"' | head -1)
|
|
cat <<NEXT
|
|
|
|
Discourse kører. Næste skridt:
|
|
1. Åbn https://$host og opret den første administrator med en af adresserne i DISCOURSE_DEVELOPER_EMAILS.
|
|
2. Lav en API-nøgle til opsætningen:
|
|
cd $TARGET && ./launcher enter app
|
|
cd /var/www/discourse && su discourse -c 'RAILS_ENV=production bundle exec rake api_key:create_master[forum-setup]'
|
|
3. Opsæt kategorier, sprog og velkomstemne (kan køres igen):
|
|
DISCOURSE_URL=https://$host DISCOURSE_API_KEY=<nøglen> CONTACT_EMAIL=<supportadresse> python3 $HERE/configure.py
|
|
4. Slet API-nøglen igen under Admin → API, når opsætningen er færdig.
|
|
NEXT
|