Skip to content
This repository has been archived by the owner on Dec 17, 2023. It is now read-only.

Deploy your own instance

Raul Piraces Alastuey edited this page Jun 3, 2023 · 4 revisions

Deploying rsslay its a straightforward process, since its already published as a Docker image you can just pull and run with the required environment variables.

One click deploy

A one click deploy is ready for Railway, just click the button below:

Deploy on Railway

Deploying to fly.io scaling in High-Availability

I'm currently deploying an instance of rsslay into fly.io, so I made it simple to everyone to deploy to there.

The requisites are the following:

  • An account in fly.io.
  • An app instance previously created.
  • A volume to handle the database files between deployments, restarts and others.
  • (Optional) a custom domain of our own that we can set a CNAME record to and avoid using the default domain.
  • (Optional) a Redis by Upstash instance for high-availability cache and improved performance.

Setting up the app

  1. Download the flyctl CLI.
  2. Login into your account with flyctl auth login.
  3. Modify the file fly.toml replacing the property app with your app name.
  4. Create a new volume for your app with flyctl volumes create rsslay_data (the name rsslay_data can be changed).
  5. Modify the file fly.toml and set the section [mounts] accordingly (the source property with the volume name and keep destination as it is due to LiteFS usage).
  6. Create a secret with flyctl secrets set SECRET=YOUR_LONG_STRING_HERE, in order to establish the SECRET environment variable to create private keys with.
  7. Proceed with the automatic deployment with flyctl launch
  8. Optional: set up a CNAME record and set a certificate for the app.
  9. Optional: set up a workflow in GitHub to automatically deploy your app like in this repo.

You are done! And you can scale your app simply following this steps! If you scale, consider deploying a Redis by Upstash instance for high-availability cache and improved performance.

Deploy with Docker

Checkout the Docker image in Docker Hub or GitHub Packages set the required environment variables, and run in your preferred platform (self-hosted, cloud-based, etc.)

Standalone deploy

Checkout the build from source instructions, set the required environment variables and run the binary!