Add a runnable example compose stack for WarpEngine

examples/compose boots everything the engine's workflow assumes: mysql, a
minimal Rails host consuming the engine as a path gem, an SSH drop area
sharing the softwares volume with the app, and — behind the ci profile —
gitea plus woodpecker (agent attached to the stack network so pipeline
steps reach droparea/app by service name).

host_app doubles as a reference for a brand-new host: Gemfile, the two
initializers, apipie + engine mounts in routes.rb; on first boot the
entrypoint runs the install generator and db:prepare.

The README gains a detailed bring-up walkthrough: quickstart, publishing
a release by hand over scp + /update (verified end to end from a clean
slate), and the full gitea/woodpecker OAuth wiring.
This commit is contained in:
2026-08-05 06:56:12 +02:00
parent d569c3366a
commit 60e196a03e
18 changed files with 394 additions and 0 deletions
@@ -0,0 +1,11 @@
Apipie.configure do |config|
config.app_name = "WarpEngine Example Host"
config.api_base_url = ""
config.doc_base_url = "/api/docs"
config.api_controllers_matcher = [
"#{WarpEngine::Engine.root}/app/controllers/**/*.rb"
]
config.validate = false
config.translate = false
config.default_version = "1.0"
end
@@ -0,0 +1,9 @@
Rails.application.config.to_prepare do
WarpEngine.configure do |c|
c.file_container_path = ENV.fetch("FILE_CONTAINER_PATH", "/softwares")
c.image_container_path = ENV.fetch("IMAGE_CONTAINER_PATH", "/images")
# Beállítatlan secret esetén a /update endpoint minden kérést elutasít.
c.update_secret = ENV["UPDATE_SECRET"]
end
end