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
VERSIONfile was missing, making it unclear what exact version was installed.
- Sidekiq Service Missing
- The
/etc/service/sidekiqdirectory 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 HEADinside 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/discourseentirely and re-clone the repository. - Manually check out a stable version (e.g.,
v3.4.1) before running the installation. - Use
./discourse-setupinstead of relying on defaults to ensure correct parameters.
- Ensure Sidekiq is Installed
- Before rebuilding, verify that the
sidekiqservice 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-passedbeing 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!