Skip to content
Scalpels home

Scalpels is officially launching on October 31, 2026. Sign up now for $10 in credit on a new Laravel Cloud account.

← All ideas and experiments

Idea

Could Apache Answer run on Laravel Cloud?

· Ed Grosvenor

Apache Answer is a complete Q&A platform with accounts, questions, answers, search, and plugins. It is written in Go. Laravel Cloud started out hosting Laravel applications, but it now has a native Go runtime, which builds and runs Go programs directly. That makes Answer a useful test of how far the Scalpels marketplace can reach beyond Laravel applications.

Could we turn the official Answer release into a repeatable Cloud install without maintaining a fork? Before trying, we read the Answer source, its installation path, the official plugins, and Cloud's Go guidance. These are the questions and predictions we took into the experiment.

Can the official binary do the job?

Answer publishes a Linux binary for ARM64 processors, and Cloud runs Go applications on ARM64. We expect the server itself to run without a container, a PHP application, or a Laravel wrapper. It needs to listen on the port Cloud assigns and accept IPv6 connections.

Plugins make this harder. The official builder recompiles Answer with each plugin and rebuilds the React interface. That means an install with S3 storage needs Go, Node, and pnpm during the build. We want to know whether that toolchain works in Cloud's native Go build.

Can first boot be safe and repeatable?

Answer has an unattended installer, but it is not a general configuration generator. Cloud gives the application its database URL in an environment variable. A launcher will have to translate that URL, write Answer's local configuration file, and run the supported initialization and upgrade commands.

We need to create the first admin before we send any public traffic to the installer. Answer's setup routes are unauthenticated, so the first visitor could claim the site. A failed install can also leave a version table behind before the admin and settings are complete. Cloud's deploy command runs once during each deployment, before the new version takes traffic. We expect to run the bootstrap there with one replica, which is a single running copy of the application. We will start the public process only after the bootstrap succeeds.

What survives a deployment?

Questions, accounts, site settings, email configuration, and plugin settings belong in MySQL. The server configuration, translations, default cache, and unmodified upload directory live on local disk. Cloud replaces the local disk on every deployment, so anything written there is lost. We expect the launcher to recreate configuration and translations at boot, and the S3 plugin to move uploads into a bucket.

We want to test two details of the storage plugin. It needs a public delivery URL because it does not sign downloads. Its upload code also labels every object as image/<extension>, including attachments that are not images. We predict that images will work with Cloud's object storage once we map the bucket settings. Attachment MIME types will need work.

Does email work beyond a saved setting?

Answer stores SMTP configuration in MySQL through its administration API. It does not read mail settings from its local configuration file or pick up common mail environment variables.

We expect a wrapper or setup step to configure SMTP after installation. A successful settings response is not enough. The experiment should tell apart three things. The provider accepted a message, the message reached an inbox, and someone completed a link sent by email.

What success looks like

One administrator and one member should be able to create a question, answer it, vote, accept the answer, comment, and search. Images and ordinary attachments should live in object storage. The content, settings, and a logged-in session should survive a full rebuild and deployment.

We also want a clear list of what remains untested. One working replica does not tell us about running several replicas, hibernation behaviour, MySQL TLS policy, OAuth, or AI integrations. If the core installation works, the remaining question is whether the launcher and any plugin changes are small enough to maintain as a Scalpels marketplace package.

Experiments on this idea

  1. Experiment

    We Installed Apache Answer on Laravel Cloud

    Apache Answer ran on Cloud without a container or a Laravel wrapper. Questions, answers, search, uploads, and settings survived full deployments. Two official plugins had bugs we patched. Answer also kept login sessions in a local cache file, so we moved them to Valkey.

    Read the experiment

Support the Lab

The Lab runs on our supporters

Every idea here gets tried for real: deployed, broken, fixed and written up. Right now that is one person doing the work between everything else, and supporters are what buy the time. As support grows, it will also pay freelancers to run experiments of their own, so more of these ideas get tested, sooner.

Our supporters

  • Sputnik Intelligence

    Spain

    We transcribe the podcasts and read the newsletters, and make them searchable. Set up alerts, or hand it all to your AI agent over MCP or API.

    Supporter Visit
    Visit Sputnik Intelligence