I’m continuing to have difficulties installing Discourse. Here’s another report put together by ChatGPT. I believe that it accurately represents my experience.
Report: Issues with Discourse Installation & Missing Sidekiq Service
Context:
We attempted a fresh installation of Discourse on a Vultr instance, intending to set up a stable and working deployment. However, we encountered significant issues, particularly with missing services such as Sidekiq, which prevented email delivery and background job processing.
Summary of Issues Encountered
- Unexpected Version Installed
- Instead of the expected
v3.4.0.beta4-dev
, the installation defaulted totests-passed
, pulling a potentially unstable version. - The
VERSION
file was missing, making it unclear what exact version was installed.
- Sidekiq Service Missing
- The
/etc/service/sidekiq
directory was absent inside the Discourse container. - This prevented all background jobs (emails, notifications, scheduled tasks) from running.
- Discourse Git Repository Issues
- Running
git rev-parse --abbrev-ref HEAD
inside the container returnedtests-passed
, confirming that an unintended version was installed. - Git threw a “detected dubious ownership” error, requiring manual intervention (
git config --global --add safe.directory /var/www/discourse
).
- Potential Dependency Issues
- Even if an older version of Discourse is checked out, there is concern that newer dependencies (Ruby, Redis, Sidekiq) may be pulled during installation, potentially causing compatibility issues.
- If Discourse dependencies are not pinned correctly, the installation may behave inconsistently across environments.
- SSL Certificate Rate Limiting
- An attempt to obtain a new Let’s Encrypt SSL certificate failed due to the rate limit being exceeded.
- This caused Nginx to fail to start, as it could not load the expected certificate file.
Planned Next Steps
- Perform a Full Wipe & Reinstall
- Remove
/var/discourse
entirely and re-clone the repository. - Manually check out a stable version (e.g.,
v3.4.1
) before running the installation. - Use
./discourse-setup
instead of relying on defaults to ensure correct parameters.
- Ensure Sidekiq is Installed
- Before rebuilding, verify that the
sidekiq
service is correctly included in the build process. - If Sidekiq is missing after the rebuild, manually check its installation via
bundle list | grep sidekiq
.
- Pin Dependencies to Stable Versions
- Avoid dependency-related issues by explicitly using a known-stable Discourse Docker image (e.g.,
discourse/discourse:2.0.20240101
). - Lock gem versions inside the container (
bundle install --deployment --without test development
).
- Reattempt SSL Certificate Issuance
- Wait for the Let’s Encrypt rate limit reset and retry SSL certificate generation.
- If issues persist, consider using a self-signed certificate temporarily for troubleshooting.
Request for Feedback
Given these challenges, we would appreciate input from the Discourse team and community regarding:
- Sidekiq missing from
/etc/service/
in a fresh install – Has anyone else encountered this issue? - Best practices for ensuring dependency stability – Is there a recommended way to pin dependency versions for Discourse installations?
- Potential issues with
tests-passed
being installed by default – Could there be an issue with how versions are being retrieved?
Any insights would be helpful before we proceed with the reinstall. Thanks in advance!