diff --git a/src/docs/databases/bring-your-own-database.md b/src/docs/databases/bring-your-own-database.md index c1a263c26..c96b0ea94 100644 --- a/src/docs/databases/bring-your-own-database.md +++ b/src/docs/databases/bring-your-own-database.md @@ -44,7 +44,7 @@ width={700} height={225} quality={100} /> ## Template Marketplace -Need inspiration? Our [Template Marketplace](https://railway.app/templates) already includes solutions for many different database services. You might even find find a template for the database you need! +Need inspiration? Our [Template Marketplace](https://railway.app/templates) already includes solutions for many different database services. You might even find a template for the database you need! Here are some suggestions to checkout - - [Minio](https://railway.app/template/SMKOEA) diff --git a/src/docs/databases/mysql.md b/src/docs/databases/mysql.md index cf496b271..4b9b2a1f5 100644 --- a/src/docs/databases/mysql.md +++ b/src/docs/databases/mysql.md @@ -37,7 +37,7 @@ To access your MySQL database over the public internet, you can use the connecti This connection string uses the [TCP Proxy connection](/deploy/exposing-your-app#tcp-proxying) to route communication to your service over the public internet. -You can also connect using mysql shell: +You can also connect using MySQL shell: ```bash mysql -h PUBLIC_DOMAIN -P PUBLIC_PORT -u root -p ``` @@ -62,4 +62,4 @@ The MySQL database service uses the [mysql:latest](https://hub.docker.com/_/mysq ## Changing System Variables -Tailor your MySQL service to your needs by adding any variables relevant to the [mysql](https://hub.docker.com/_/mysql) image. +Tailor your MySQL service to your needs by adding any variables relevant to the [MySQL](https://hub.docker.com/_/mysql) image. diff --git a/src/docs/databases/postgresql.md b/src/docs/databases/postgresql.md index ba60f6abd..aad18c2c2 100644 --- a/src/docs/databases/postgresql.md +++ b/src/docs/databases/postgresql.md @@ -37,7 +37,7 @@ To access your PostgreSQL database over the public internet, you can use the con This connection string uses the [TCP Proxy connection](/deploy/exposing-your-app#tcp-proxying) to route communication to your service over the public internet. -You can also connect using psql shell: +You can also connect using `psql` shell: ```bash psql "postgres://railway:PASSWORD@PROXY_DOMAIN:PROXY_PORT/railway" ``` @@ -58,12 +58,11 @@ it to connect to PostgreSQL but you can use these variables in whatever way work ## Image -The Postgres database service uses Railway's [SSL-enabled Postgres image](https://github.com/railwayapp-templates/postgres-ssl/pkgs/container/postgres-ssl), which uses the official [postgres](https://hub.docker.com/_/postgres) image in Docker Hub as its base. +The Postgres database service uses Railway's [SSL-enabled Postgres image](https://github.com/railwayapp-templates/postgres-ssl/pkgs/container/postgres-ssl), which uses the official [Postgres](https://hub.docker.com/_/postgres) image in Docker Hub as its base. ## Changing System Variables -Tailor your PostgreSQL service to your needs by adding any variables relevant to the [postgres](https://hub.docker.com/_/postgres) image. - +Tailor your PostgreSQL service to your needs by adding any variables relevant to the [Postgres](https://hub.docker.com/_/postgres) image. ## Timescale and PostGIS diff --git a/src/docs/deploy/builds.md b/src/docs/deploy/builds.md index a70c87667..05a8665a5 100644 --- a/src/docs/deploy/builds.md +++ b/src/docs/deploy/builds.md @@ -111,7 +111,7 @@ _Note, negations will only work if you include files in a preceding rule._ -With Nixpacks, we analyze the app source directory and generate a build plan. This determines which language provider to install packages and runtimes for. +With Nixpacks, we analyze the app source directory and generate a build plan. This determines which language provider to install and the required packages and runtimes. If there is a detected `nixpacks.toml` file, it is possible to define a build provider ahead of time like so: ```toml @@ -136,7 +136,7 @@ HTTP servers should use the `web` process type. This process should listen on the [PORT environment variable](/deploy/railway-up#port-variable) and will receive HTTP traffic. -_Note: some buildpacks specify a default start command_ +_Note: some Buildpacks specify a default start command_ ## Dockerfiles @@ -146,4 +146,4 @@ We will also build using a [Dockerfile](/deploy/dockerfiles) if found at the pro ### How to specify a custom install command? -We do not expose a way to configure a custom install command in the UI, but you can control this using [config as code](/deploy/config-as-code#install-command). See Nixpacks Plan > Install Command. \ No newline at end of file +We do not expose a way to configure a custom install command in the UI, but you can control this using [config as code](/deploy/config-as-code#install-command). See Nixpacks Plan > Install Command. diff --git a/src/docs/deploy/config-as-code.md b/src/docs/deploy/config-as-code.md index d331eb1a1..083942be4 100644 --- a/src/docs/deploy/config-as-code.md +++ b/src/docs/deploy/config-as-code.md @@ -18,7 +18,7 @@ dashboard. These configuration examples are equivalent. -### Toml +### TOML In a `railway.toml` file: ```toml @@ -33,7 +33,7 @@ healthcheckTimeout = 100 restartPolicyType = "never" ``` -### Json +### JSON In a `railway.json` file: ```json @@ -80,7 +80,7 @@ Possible values are: - `NIXPACKS` - `DOCKERFILE` -Note: Railway will always build with a Dockerfile if it finds one. To build with nixpacks, you can remove or rename the Dockerfile.. +Note: Railway will always build with a Dockerfile if it finds one. To build with Nixpacks, you can remove or rename the Dockerfile.. ### [Watch Patterns](/deploy/builds#watch-paths) @@ -126,7 +126,7 @@ This field can be set to `null`. ### Nixpacks Plan -Full nixpacks plan. See https://nixpacks.com/docs/configuration/file for more info. +Full Nixpacks plan. See https://nixpacks.com/docs/configuration/file for more info. ```toml [build] @@ -290,7 +290,7 @@ In a `railway.json` file: Deployments for pull requests can be configured using a special `pr` environment. This configuration is applied only to deploys that belong to an ephemeral environment. When resolving the settings for a PR deployment, the following priority order is used: 1. Environment with the name of the ephemeral environment -2. Environment with the hardcoded name "pr" +2. Environment with the hardcoded name `pr` 3. Base environment of the pull request 4. Base config as code 5. Service settings diff --git a/src/docs/deploy/deployments.md b/src/docs/deploy/deployments.md index f2d0e217d..8328cd07c 100644 --- a/src/docs/deploy/deployments.md +++ b/src/docs/deploy/deployments.md @@ -70,14 +70,14 @@ When enabled, deployments will be moved to a `WAITING` state while your workflow A start command is the process used to run a Deployment's code. For example, a Python project may have a start command of `python main.py`, or a NodeJS project may have a start command of `npm run start`. Railway automatically configures the start command based on the code being -deployed. If your code uses a Dockerfile, the start command defaults to the ENTRYPOINT and/or CMD defined in the Dockerfile. Otherwise, the buildpack used to create the image will determine the start command - see [Builds](builds) for more details. +deployed. If your code uses a Dockerfile, the start command defaults to the ENTRYPOINT and/or CMD defined in the Dockerfile. Otherwise, the Buildpack used to create the image will determine the start command - see [Builds](builds) for more details. Start commands may be overridden for advanced use-cases such as deploying multiple projects from a single [monorepo](/deploy/monorepo). When specifying a start command, the behavior of the image depends on type of build: - **Dockerfile**: the start command overrides the Docker image's ENTRYPOINT in [exec form](https://docs.docker.com/engine/reference/builder/#exec-form-entrypoint-example) -- **Buildpack**: the start command is inserted as a [buildpack launch process](https://buildpacks.io/docs/app-developer-guide/run-an-app/#user-provided-shell-process) +- **Buildpack**: the start command is inserted as a [Buildpack launch process](https://buildpacks.io/docs/app-developer-guide/run-an-app/#user-provided-shell-process) Screenshot of Healthchecks -First, make sure your webserver has an endpoint (e.g. `/health`) that will return a response with HTTP status code 200 when your application is live and ready. If your application needs to do some initialization on startup (running database migrations, populating cache, etc.), it's a good idea to return a non-200 status code from your endpoint until the initialization completes. +First, make sure your web server has an endpoint (e.g. `/health`) that will return a response with HTTP status code 200 when your application is live and ready. If your application needs to do some initialization on startup (running database migrations, populating cache, etc.), it's a good idea to return a non-200 status code from your endpoint until the initialization completes. Under Service → Settings, input your health endpoint. Railway will wait for this endpoint to serve a `200` status code before switching traffic to your new deployment. diff --git a/src/docs/deploy/logging.md b/src/docs/deploy/logging.md index ad49c2640..1b6d64489 100644 --- a/src/docs/deploy/logging.md +++ b/src/docs/deploy/logging.md @@ -3,7 +3,7 @@ title: Logging --- Any build or deployment logs emitted to standard output or standard error ( -eg. `console.log(...)`) is captured by Railway to be viewed or searched later. +e.g. `console.log(...)`) is captured by Railway to be viewed or searched later. Depending on your plan, logs are retained for a certain amount of time. diff --git a/src/docs/deploy/monorepo.md b/src/docs/deploy/monorepo.md index 6613ff15d..3e89643c4 100644 --- a/src/docs/deploy/monorepo.md +++ b/src/docs/deploy/monorepo.md @@ -10,9 +10,9 @@ of common code between them. Railway provides a few features to help improve support for deploying monorepos of various types: 1. **[Isolated Monorepo](#isolated-monorepo)** → A repository that contains components that are completely isolated to the -directory they are contained in (eg. JS frontend and Python backend) +directory they are contained in (e.g. JS frontend and Python backend) 2. **[Shared Monorepo](#shared-monorepo)** → A repository that contains components that share code or configuration from the -root directory (eg. Yarn workspace or Lerna project) +root directory (e.g. Yarn workspace or Lerna project) ## Isolated Monorepo @@ -41,10 +41,10 @@ width={980} height={380} quality={80} /> ## Shared Monorepo Popular in the JavaScript ecosystem, shared monorepos contain multiple components that all share a common root directory. By default, all components are built with -a single command from the root directory (eg. `npm run build`). However, if you are using Nixpacks, then you can override the build command in the service settings. +a single command from the root directory (e.g. `npm run build`). However, if you are using Nixpacks, then you can override the build command in the service settings. The start command can be overridden in the Railway settings ( -eg. `npm run start:backend` and `npm run start:frontend`). +e.g. `npm run start:backend` and `npm run start:frontend`). ``` ├── package.json diff --git a/src/docs/develop/cli.md b/src/docs/develop/cli.md index f7a8d66e0..09624def2 100644 --- a/src/docs/develop/cli.md +++ b/src/docs/develop/cli.md @@ -217,6 +217,6 @@ railway logout ### Contributing -Our CLI is open source. Contribute to the development of the Railway CLI by opening an issue or Pull Request on our [GitHub Repo](https://github.com/railwayapp/cli). +Our CLI is open source. Contribute to the development of the Railway CLI by opening an issue or Pull Request on our [GitHub repo](https://github.com/railwayapp/cli). [You can see the full documentation of the CLI API here.](/reference/cli-api) diff --git a/src/docs/develop/services.md b/src/docs/develop/services.md index d215b1edb..698923154 100644 --- a/src/docs/develop/services.md +++ b/src/docs/develop/services.md @@ -78,7 +78,7 @@ alt="Screenshot of replica setting" layout="responsive" width={800} height={317} quality={100} /> -By default Railway will scale your service up to the the specified vCPU and Memory limits of your plan. You can scale horizontally by manually increasing the number of replicas for a service. +By default Railway will scale your service up to the specified vCPU and Memory limits of your plan. You can scale horizontally by manually increasing the number of replicas for a service. To change the number of replicas per deploy within your service, go to the service settings view and look for the "Replicas" field in the "Deploy" section. This will create multiple instances of your service and distribute traffic between them. @@ -116,7 +116,7 @@ Railway has a user interface for managing your database service's data. You can ## Templates -Railway offers 200+ [community-maintained templates](https://railway.app/templates). A template with a Github repo will clone the repo to your account, and deploy the service(s) to a project. A template with Docker images will deploy the images directly. You can deploy a template from the Project Canvas unless there are variables to configure. To configure environment variables, you'll need to use the New Project button. Templates are useful for deploying common pieces of infrastructure — like a DataDog Agent. +Railway offers 200+ [community-maintained templates](https://railway.app/templates). A template with a GitHub repo will clone the repo to your account, and deploy the service(s) to a project. A template with Docker images will deploy the images directly. You can deploy a template from the Project Canvas unless there are variables to configure. To configure environment variables, you'll need to use the New Project button. Templates are useful for deploying common pieces of infrastructure — like a Datadog Agent. ## Empty Application Services diff --git a/src/docs/develop/variables.md b/src/docs/develop/variables.md index 5c22a7363..41c394433 100644 --- a/src/docs/develop/variables.md +++ b/src/docs/develop/variables.md @@ -80,12 +80,12 @@ Here are some example scenarios to help clarify reference variable usage and syn - `API_KEY=${{shared.API_KEY}}` #### Referencing another service's variables -- You have a variable set on your database service called `DATABASE_URL` which contains the connection string to connect to the database. The database service name is **Clickhouse**. +- You have a variable set on your database service called `DATABASE_URL` which contains the connection string to connect to the database. The database service name is **ClickHouse**. You need to make this connection string available to another service in the project. Go to the service's variables that needs the connection string and add a variable with the following value: - `DATABASE_URL=${{ Clickhouse.DATABASE_URL }}` -- Your frontend service needs to make requests to your backend. You do not want to hardcode the backend URL in your frontend code. Go to your frontend service settings and add the [Railway-provided variable](/develop/variables#railway-provided-variables) for the backend URL - +- Your frontend service needs to make requests to your backend. You don't want to hardcode the backend URL in your frontend code. Go to your frontend service settings and add the [Railway-provided variable](/develop/variables#railway-provided-variables) for the backend URL - - `API_URL=https://${{ backend.RAILWAY_PUBLIC_DOMAIN }}` #### Referencing variables in the same service @@ -108,8 +108,6 @@ GRAPHQL_ENDPOINT=https://${{DOMAIN}}/${{GRAPHQL_PATH}} The example above illustrates a pattern of maintaining a Shared variable called `DOMAIN` and using that plus a Service variable to construct an endpoint. - - ## Using Variables in your services Variables are made available at runtime as environment variables. In order to use them in your code, simply use the package appropriate for your language to retrieve environment variables. diff --git a/src/docs/getting-started.md b/src/docs/getting-started.md index 340edf194..d259daae3 100644 --- a/src/docs/getting-started.md +++ b/src/docs/getting-started.md @@ -87,7 +87,7 @@ Begin by cloning the repo you created on your machine. The Railway CLI connects your code to your infrastructure. -Install with [Brew](https://brew.sh), [NPM](https://www.npmjs.com/package/@railway/cli), or [Scoop](develop/cli#install): +Install with [Brew](https://brew.sh), [npm](https://www.npmjs.com/package/@railway/cli), or [Scoop](develop/cli#install): (Note: Brew works best on M1 Macs.) @@ -149,7 +149,7 @@ Open `src/pages/index.tsx` in a text editor of your choice and change line 79 of

My Todos

``` -If you are running the dev server locally, you'll see the change. Feel free to change anything within the project as well! We can't stop you. +If you are running the development server locally, you'll see the change. Feel free to change anything within the project as well! We can't stop you. Once you are done, save the file. If you're in a Git repository, you may also commit and push to your remote Git repository. In the next step, we will show you how easy it is to deploy your changes. @@ -169,7 +169,7 @@ width={800} height={486} quality={100} /> This will create a [deployment](deploy/railway-up) using the current project and environment. Click the returned link to see the build and deploy logs. -For projects based on a GitHub repo like a template, [auto deploys](deploy/deployments#deploy-triggers) are automatically enabled. Commits on the main branch trigger a redeploy. You can also enable ephemeral deploy environments for PRs made in GitHub Repos. +For projects based on a GitHub repo like a template, [auto deploys](deploy/deployments#deploy-triggers) are automatically enabled. Commits on the main branch trigger a redeploy. You can also enable ephemeral deploy environments for PRs made in GitHub repos. After your deployment completes, you can see your new deployment live at the deployment's URL. If you added To-Dos while developing locally, you should see them on your deployment live. In a proper project, you would enable multiple environments to isolate your production environment. diff --git a/src/docs/guides/database-migration-guide.md b/src/docs/guides/database-migration-guide.md index 53e1b714f..e1fc2a15c 100644 --- a/src/docs/guides/database-migration-guide.md +++ b/src/docs/guides/database-migration-guide.md @@ -58,7 +58,7 @@ width={725} height={613} quality={80} /> Once the migration is complete, the migration service will be deleted. 4. **Update Service Variables** - [Variable references](/develop/variables#reference-variables) within services that point to the database plugin will be updated to the new database service -5. **Redeploy Connected Services** - Services previously connected to the database plugin will be redployed to apply the updated connection string and connect to the new database service. +5. **Redeploy Connected Services** - Services previously connected to the database plugin will be redeployed to apply the updated connection string and connect to the new database service. _**NOTE: The legacy plugin will NOT be deleted automatically.**_ diff --git a/src/docs/guides/migrate-from-heroku.md b/src/docs/guides/migrate-from-heroku.md index 5bf293e7b..b3abb8228 100644 --- a/src/docs/guides/migrate-from-heroku.md +++ b/src/docs/guides/migrate-from-heroku.md @@ -4,7 +4,7 @@ title: Migrate from Heroku Migrating your app from Heroku to Railway is very simple. We even support Procfiles out of the box. (Only a single process is supported for now). -All you need to do is create a project in Railway, push your code, and migrate your envionment variables. +All you need to do is create a project in Railway, push your code, and migrate your environment variables. This guide will step you through the process of migrating a simple web service, using the [Railway CLI](/develop/cli). diff --git a/src/docs/maturity/compliance.md b/src/docs/maturity/compliance.md index 67fd7fd9e..229667929 100644 --- a/src/docs/maturity/compliance.md +++ b/src/docs/maturity/compliance.md @@ -2,9 +2,9 @@ title: Compliance --- -Railway is designed to be used by companies of all sizes. We understand that companies have different needs when it comes to compliance and security. We are happy to work with you to ensure that Railway meets your needs. We have worked with teams in gov't, healthcare, and finance to ensure that Railway meets their needs. +Railway is designed to be used by companies of all sizes. We understand that companies have different needs when it comes to compliance and security. We are happy to work with you to ensure that Railway meets your needs. We have worked with teams in government, healthcare, and finance to ensure that Railway meets their needs. -Companies choose Railway so that they can speed up their their development velocity while also maintaining their security and compliance posture. +Companies choose Railway to accelerate their development while also maintaining their security and compliance posture. We are happy to sign NDAs with your company to provide additional information about our security and compliance practices. Please reach out to us at [team@railway.app](mailto:team@railway.app) to get started. @@ -24,7 +24,7 @@ Railway follows a shared responsibility model for HIPAA compliance. Railway will If your company needs a BAA, you can contact our solutions team at [team@railway.app](mailto:team@railway.app). -We are working on operationalized BAAs and continually gathering requirements for health focused workloads for Enterprises. You can subscribe to the road-map item and share your feedback on [our road-map board](https://railway.canny.io/feature-requests/p/compliance). +We are working on operationalized BAAs and continually gather requirements for health focused workloads on Enterprises. You can subscribe to the road-map item and share your feedback [here](https://railway.canny.io/feature-requests/p/compliance). ## Privacy diff --git a/src/docs/maturity/philosophy.md b/src/docs/maturity/philosophy.md index 465d8003a..808fba94f 100644 --- a/src/docs/maturity/philosophy.md +++ b/src/docs/maturity/philosophy.md @@ -43,7 +43,7 @@ Streamlined deployment workflows and sane defaults are inherited by every projec That's why we've designed the platform for flexibility, wherever you need it. On Railway, you can use the default pattern for deployment or opt to use vendor. In fact, we will even support you in your effort to integrate Railway in a unique way. Here are a couple of use cases we've helped customers take advantage of - -- Deploying to Railway from Gitlab CI/CD +- Deploying to Railway from GitLab CI/CD - Supporting the development of a Terraform provider - Region based routing to workloads via Cloudflare @@ -64,7 +64,7 @@ As mentioned before, Railway at a high level takes your code, builds it, and thr - Routing Layer - This is the system that Railway maintains that routes requests into your running containers and provides private networks to suites of containers. - Logging Layer - - A suite of machines networked running Clickhouse that store container logs. This is accessed when you open the service logs pane. + - A suite of machines networked running ClickHouse that store container logs. This is accessed when you open the service logs pane. - Dashboard Layer - Infrastructure and code that is used to manage the above layers. - This also incudes any monitors that Railway uses to maintain the state of the Deployment Layer to maintain application state. (ex. Removing a deployment.) diff --git a/src/docs/maturity/use-cases.md b/src/docs/maturity/use-cases.md index a417a9886..2e569399e 100644 --- a/src/docs/maturity/use-cases.md +++ b/src/docs/maturity/use-cases.md @@ -89,7 +89,7 @@ Railway aims to exist for a very long time. Railway has presence on existing pub ### Unsupported Use-Cases -Unfortunately, our platform isn't yet well-equipped to handle the following verticals that require extensive Gov't certification or GPU compute: +Unfortunately, our platform isn't yet well-equipped to handle the following verticals that require extensive Government certification or GPU compute: - Government - Traditional Banking diff --git a/src/docs/reference/accounts.md b/src/docs/reference/accounts.md index 5a02aa328..9bcfcbe85 100644 --- a/src/docs/reference/accounts.md +++ b/src/docs/reference/accounts.md @@ -4,7 +4,7 @@ title: Accounts Railway Accounts are how a user interacts with the Railway platform. -Users are only allowed one account per person. This is enforced through email, Github, and payment method verification. +Users are only allowed one account per person. This is enforced through email, GitHub, and payment method verification. ## Account Settings diff --git a/src/docs/reference/compare-to-heroku.md b/src/docs/reference/compare-to-heroku.md index fcaaf6570..cc122f77d 100644 --- a/src/docs/reference/compare-to-heroku.md +++ b/src/docs/reference/compare-to-heroku.md @@ -23,9 +23,9 @@ We differ in the following: In the current era of software development, using Docker adds a large workload to the average developer. We want to offer the developer all the benefits of reproducibility, speed, and ease of use when deploying images without the clunky boilerplate of Docker. -Heroku's buildpacks are decent, but we want to offer the user a better experience. This is why we built Nixpacks. +Heroku's Buildpacks are decent, but we want to offer the user a better experience. This is why we built Nixpacks. -Nixpax is open source (https://github.com/railwayapp/nixpacks). It detects more languages, builds are faster, and builds are reproducible. (A common frustration of Heroku's Buildpacks). +Nixpacks is open source (https://github.com/railwayapp/nixpacks). It detects more languages, builds are faster, and builds are reproducible. (A common frustration of Heroku's Buildpacks). Those moving from Heroku to Railway will find an easy switch from Heroku's Buildpacks to Railway's Nixpacks. @@ -37,7 +37,7 @@ It's possible to go from zero → 3 services in < 30 seconds. Adding new service ### Pricing -Pay only for what you use—no need to size dynos. +Pay only for what you use—no need to size (Dynos)[https://www.heroku.com/dynos]. Containers scale vertically up to 8 GB/CPU Cores (on the Hobby Plan) and 32 GB/CPU Cores (on Teams Plans). @@ -49,7 +49,7 @@ For those who prefer to pay upfront. We offer credit-based Developer plans who w You can use the CLI to run every service locally, hooking in with your cloud infrastructure. -For example, running `railway run yarn start` in a project with Postgres will automatically inject required enviroment variables such as `DATABASE_URL`. +For example, running `railway run yarn start` in a project with Postgres will automatically inject required environment variables such as `DATABASE_URL`. If your changes look good, you can even run `railway up` from the terminal to trigger a new deployment on demand. diff --git a/src/docs/reference/cron-jobs.md b/src/docs/reference/cron-jobs.md index 9cfbc32a6..e724815e4 100644 --- a/src/docs/reference/cron-jobs.md +++ b/src/docs/reference/cron-jobs.md @@ -2,13 +2,13 @@ title: Cron Jobs --- -Cron Jobs allow you to start a service based on a crontab expression. This means the service is expected to execute a task, and terminate as soon as that task is finished. Make sure the service doesn't leave any resources open, such as database connections, because otherwise the service won't terminate and Railway wont't start it again until the previous execution has finished. +Cron Jobs allow you to start a service based on a [crontab expression](https://crontab.guru/). This means the service is expected to execute a task, and terminate as soon as that task is finished. Make sure the service doesn't leave any resources open, such as database connections. Otherwise, the service won't terminate and Railway won't start it again until the previous execution finishes. -If you are already using a scheduling library or system in your service such as [node-cron](https://www.npmjs.com/package/node-cron) or [Quartz](http://www.quartz-scheduler.org/), Railway cron jobs are a substitute of them that allows you to save resources between executions. +If you are already using a scheduling library or system in your service such as [node-cron](https://www.npmjs.com/package/node-cron) or [Quartz](http://www.quartz-scheduler.org/), Railway cron jobs are a substitute for them that allows you to save resources between executions. ## Configuring a cron job -You can configure a cron job by selecting a service and going to the Settings section. In the General Settings you'll see a field called "Cron Schedule". On it you can write a crontab expression and once the setting is saved we will re-run the service based on that schedule. +You can configure a cron job by selecting a service and going to the Settings section. In the General Settings you'll see a field called `Cron Schedule`. On it you can write a crontab expression and once the setting is saved we will re-run the service based on that schedule. ## Crontab expressions @@ -88,4 +88,4 @@ The shortest time between successive executions of a cron job cannot be less tha Scheduled services should exit as soon as they are done with the task they are responsible to perform. Thus, the process should close any connections, such as database connections, to exit properly. -At this moment, Railway won't terminate your process in any scenario. However, cron jobs may be skipped if the service is in the build/deploy stage when the next scheduled execution happens. +At this moment, Railway won't terminate your process in any scenario. However, Railway might skip a cron job if the service is in the build/deploy stage during the next scheduled execution. diff --git a/src/docs/reference/pricing.md b/src/docs/reference/pricing.md index 06c7e9cfe..b4cade84b 100644 --- a/src/docs/reference/pricing.md +++ b/src/docs/reference/pricing.md @@ -101,7 +101,7 @@ To apply for an Educational License, please [contact us](mailto:team@railway.app - The number of students you would like to purchase credits for - The time period you would like the credits to be valid for -Eligible institutions that are eligible include as profit and non-profit institutions as: State Universities, Private Universities, Technical Training Centers a.k.a. Bootcamps, Community Colleges, and High Schools. +Eligible institutions include for-profit and non-profit institutions such as: state universities, private universities, technical training centers (a.k.a. bootcamps), community colleges, and high schools. ## FAQs @@ -112,7 +112,7 @@ Common questions related to pricing. - **Hobby** is for indie hackers and developers to build and deploy personal projects - **Pro** is for professional developers and their teams shipping to production -- **Enterprise** is for dev teams building and deploying production applications with the need for enterprise features related to compliance, SLAs, and account management +- **Enterprise** is for teams building and deploying production applications with the need for enterprise features related to compliance, SLAs, and account management Railway's Pro and Enterprise plans are designed for collaboration. These plans allow you to add members to your team and manage their permissions. @@ -151,7 +151,7 @@ While you're on the Limited Trial, you can initiate verification at any time by -The longevity of your one-time trial grant depends on how many resources you consume. A project that uses most of the resources available on the Trial plan 24/7 will consume the credits in roughly a month, while a simple webserver may be able to run for several months before running out. +The longevity of your one-time trial grant depends on how many resources you consume. A project that uses most of the resources available on the Trial plan 24/7 will consume the credits in roughly a month, while a simple web server may be able to run for several months before running out. ### Usage diff --git a/src/docs/reference/private-networking.md b/src/docs/reference/private-networking.md index 5bf870efe..0d4290443 100644 --- a/src/docs/reference/private-networking.md +++ b/src/docs/reference/private-networking.md @@ -2,7 +2,7 @@ title: Private Networking --- -Private Networking is a feature within Railway that will open network communication through a IPv6 wireguard mesh only accessible to your Railway services within an environment. +Private Networking is a feature within Railway that will open network communication through a IPv6 WireGuard mesh only accessible to your Railway services within an environment. Preview of What The Guide is Building `api-2.railway.internal` -Requests to replica DNS service address will be round robin'd between all replicas. +Requests to replicate DNS service addresses will use [a round-robin DNS](https://www.cloudflare.com/learning/dns/glossary/round-robin-dns/). ## Caveats During the feature development process we found a few caveats that you should be aware of: - Private networking is not available during the build phase. -- You will need to establish a wireguard tunnel to external services if you wish to vendor requests in your application. +- You will need to establish a WireGuard tunnel to external services if you wish to vendor requests in your application. - You will need to bind to a IPv6 port to receive traffic on the private network. - Private networking is enabled automatically for new projects/environments. If you want to use private networking in an existing environment, you will have to enable it manually in the settings panel of one of the environment services. - Private networks take 100ms to initialize on deploy, we ask that you set initial requests on a retry loop. @@ -57,12 +57,12 @@ During the feature development process we found a few caveats that you should be ## Workaround for Alpine-based images -During private networking initialization (the period under 100ms), dns resolution is handled via a fallback DNS server 8.8.8.8 in the container DNS config. +During private networking initialization (the period under 100ms), DNS resolution is handled via a fallback DNS server 8.8.8.8 in the container's DNS configuration. However, in Alpine-based images, due to how DNS resolution is handled, if that public DNS server's response is faster than the private networking DNS, it causes private resolution to fail. You can workaround this issue by adding `ENABLE_ALPINE_PRIVATE_NETWORKING=true` in your service environment variables. This will effectively remove the fallback DNS server 8.8.8.8 which is used during the private networking 100ms initialization period. -Note that using this workaround will cause the 100ms dns initialization delay to impact both public and private networking. +Note that using this workaround will cause the 100ms DNS initialization delay to impact both public and private networking. diff --git a/src/docs/reference/public-api.md b/src/docs/reference/public-api.md index 8ef2521f5..cb8ab4955 100644 --- a/src/docs/reference/public-api.md +++ b/src/docs/reference/public-api.md @@ -231,7 +231,7 @@ query variables { } ``` -#### Upsert variable for a service +#### Upsert a variable for a service The mutation below will upsert a new variable for the specified service within the specified environment. You can use this to both create and update variables. diff --git a/src/docs/reference/support.md b/src/docs/reference/support.md index ad44b1aad..7855f4bb8 100644 --- a/src/docs/reference/support.md +++ b/src/docs/reference/support.md @@ -65,7 +65,7 @@ Reach out to us at [team@railway.app](mailto:team@railway.app) for more informat For Business Class customers, we offer Direct Support over chat channels. This allows you to have a dedicated channel for your team to communicate with Railway. - In Discord, we'll create a dedicated channel for you and your team -- In Slack, we'll embed Railway Engineers into one of your workspace's channels +- In Slack, we'll embed Railway Engineers into one of your channels - If you'd like to set this up over other channels (e.g. Microsoft Teams), let us know Reach out to us at [team@railway.app](mailto:team@railway.app) on setting this up. diff --git a/src/docs/reference/templates.md b/src/docs/reference/templates.md index 28f6efa56..b6f3a6346 100644 --- a/src/docs/reference/templates.md +++ b/src/docs/reference/templates.md @@ -2,7 +2,7 @@ title: Templates --- -Templates provide a way to jumpstart a project by giving users the means to package a service or set of services into a reusable and distributable format. +Templates provide a way to jump-start a project by giving users the means to package a service or set of services into a reusable and distributable format. There are two main ways to interact with templates in Railway - creation and deployment. @@ -18,7 +18,7 @@ You can either create a template from scratch or base it off of an existing proj The [Railway button page](https://railway.app/button) allows you to create templates to offer a 1-click deploy on Railway experience. -Services within a template can be deployed from any public Github repository, or directly from a Docker image in Docker Hub or Github Container Registry. +Services within a template can be deployed from any public GitHub repository, or directly from a Docker image in Docker Hub or GitHub Container Registry.