Risved handles the full lifecycle, from pushing code to serving it with HTTPS. Framework
detection, deploy previews, custom domains, cron jobs, rollback. No Dockerfiles to write, no
proxies to configure, no certificates to manage.
Ship
From push to live in under a minute
Auto-https
Every domain you add gets an SSL certificate automatically. No config files, no manual
renewals, no thinking about it. Risved runs Caddy as its reverse proxy, which provisions and
renews Let's Encrypt certificates on its own. Add a domain in the dashboard, point your DNS,
and HTTPS just works.
This includes your app subdomains, custom domains, and deploy preview URLs. Everything is
encrypted by default.
Git push deploys
Push to your deploy branch and Risved builds and ships your app automatically. No CI/CD
pipeline to configure, no deploy scripts to maintain.
Connect any Git provider, GitHub, GitLab, Forgejo, Gitea, Codeberg, Bitbucket, with a
webhook. Or connect your GitHub account directly for automatic webhook setup, repo browsing,
and commit status checks.
Every deployment is logged with the commit SHA, message, duration, and full build output.
You always know what's running and why.
Deploy previews Coming soon
Every pull request gets its own live URL. Push a branch, open a PR, and Risved builds a
temporary deployment at a unique URL like pr-42.myapp.risved.example.eu. Share
it with your team, test it in a real environment, merge with confidence.
Preview containers are created automatically when a PR is opened and cleaned up when it's
closed. No manual setup, no leftover containers eating disk space.
If you're connected via the GitHub App, Risved posts the preview URL directly on the PR as a
commit status check. Reviewers click the link and see the changes live.
Framework detection
Risved reads your repo and picks the right build automatically. Push a SvelteKit project and
Risved detects svelte.config.js, generates the right Dockerfile, and builds it.
Push a Hono app and it sees the Deno config and runs it natively. No Dockerfiles to write,
no build commands to configure.
Supported frameworks: SvelteKit, Astro, Next.js, Nuxt, Hono, Fresh, Lume, SolidStart, and
TanStack Start. Each one gets a framework-specific build template optimised for the smallest
possible image and the fastest possible start time.
Deno-native frameworks (Fresh, Hono, Lume) run directly on the Deno runtime with no Node.js
involved. Node-ecosystem frameworks (SvelteKit, Astro, Nuxt, SolidStart, TanStack Start)
build with Node and serve with Deno where possible. Next.js builds and serves with Node.
If Risved doesn't recognise your framework, it falls back to a generic Node or Deno build
based on your project's config files.
Rollback
Something wrong with the latest deploy? Roll back to any previous successful deployment in
one click. Risved keeps your deployment history, every build, every commit, every status.
Pick the one you want to restore, click rollback, and the previous version is live within
seconds.
Your domains, environment variables, and cron jobs stay exactly as they are. Only the
running container changes.
Zero downtime. The old version starts serving traffic before the broken version is stopped.
Control
Set it up once, adjust when you need to
Custom domains
Point any domain to any project. Add it in the dashboard, update your DNS with the A record
Risved shows you, and you're done. SSL is provisioned automatically once DNS resolves.
Each project gets an automatic subdomain on your Risved installation (like myapp.risved.example.eu). Add as many custom domains as you want on top of that. Set one as primary and the rest
redirect.
Risved shows you exactly which DNS record to add, verifies it for you, and tells you when
SSL is active. No guessing, no waiting, no digging through Caddy configs.
Environment variables
Store your secrets safely. Environment variables are encrypted at rest, injected into your
container at runtime, and masked in the dashboard UI. Click to reveal, click to copy.
Editing environment variables prompts a redeploy so your app picks up the changes
immediately. No manual restarts, no stale config.
Separate your secrets from your code. Database URLs, API keys, auth tokens, they belong in
Risved's env vars, not in your repo.
Branch deploys
Choose which branch triggers a build. Most projects deploy from main, but you
can point at staging, production, develop, or
whatever fits your workflow.
Change the deploy branch any time in project settings. The next push to that branch triggers
a build. Pushes to other branches are ignored unless you have deploy previews enabled for
pull requests.
Scheduled tasks
Run cron jobs by hitting any endpoint in your app on a schedule. Configure in the dashboard,
check the run logs when it fires.
Set a route, pick a schedule (with common presets like "daily at 03:00" or "every hour"),
and Risved sends an HTTP request to your app at the right time. Your app handles the logic,
send emails, clean up old data, generate reports, sync with an API.
Every run is logged with the response status, duration, and response body. If something
fails, you'll see exactly what happened.
Container networking
Your apps can talk to each other by name. Every container Risved deploys joins a shared
Docker network. If you run a Postgres container called postgres alongside your
SvelteKit app, your app connects to it at postgres:5432. No port mapping, no IP
addresses, no extra configuration.
This is how you run a database alongside your app without Risved needing to manage databases
for you. Bring your own Postgres, MySQL, Redis, or anything else that runs in Docker. Your
apps find each other automatically.
Relax
It keeps running while you sleep
Server monitoring
CPU, memory, and disk usage at a glance from your dashboard. See which containers are using
the most resources, spot problems before they become outages.
Risved checks container health automatically. If a container stops responding, it's flagged
on the dashboard. You see what's healthy and what needs attention without SSHing into your
server.
Automated backups Cloud
Your Risved configuration, projects, domains, environment variables, cron jobs, deployment
history, is backed up automatically. If something goes wrong, restore in one step.
Backups cover Risved's own state, not your app's data. For database backups, use your
database's native tools (like pg_dump for Postgres) or a scheduled task in Risved
to automate it.
One-click updates
Update Risved from the dashboard in one click. See what's new before you install, release
notes are shown inline so you know exactly what's changing.
Your deployed apps are never affected by a Risved update. App containers run independently
in Docker. Only the dashboard restarts, and that takes about two seconds. Zero app downtime.
Risved Cloud instances are updated automatically. Self-hosted users get a notification in
the dashboard when a new version is available.
Build history
Every deployment is logged with the commit SHA, commit message, build status, duration, and
full build output. Scroll through your deploy history, click into any build to see the
complete log, and understand exactly what happened.
Failed builds show the error clearly with the relevant log lines highlighted. No digging
through terminal output to find the problem.
Build logs are retained for 30 days by default. Configurable in settings.
Docker cleanup
Old images and unused containers are pruned automatically so your disk doesn't fill up
silently. Risved tracks how much disk space Docker is using and cleans up after itself.
You can also trigger a manual cleanup from the settings page if you need to free up space
immediately. Risved shows you exactly how much space unused images are occupying before you
prune.