mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
update linux docs
This commit is contained in:
@@ -1,38 +1,38 @@
|
||||
---
|
||||
title: "Commands and Configuration"
|
||||
description: "Learn all the available commands and configuration of the linux package."
|
||||
title: "Configurations"
|
||||
description: "Learn how to configure and manage the Infisical Linux package"
|
||||
---
|
||||
|
||||
## Configuration
|
||||
## Configuration Overview
|
||||
|
||||
All Infisical configuration is managed from a central file called `infisical.rb` located in the `/etc/infisical` directory.
|
||||
All configuration for the Infisical Linux package is managed through a single file called `infisical.rb`, located in the `/etc/infisical` directory.
|
||||
This file defines all necessary settings, including encryption keys, database connections, and environment-specific settings.
|
||||
|
||||
<Info> After updating the `infisical.rb` file, remember to run `infisical-ctl reconfigure` to apply the changes. </Info>
|
||||
<Info> After making any changes to the `infisical.rb` file, always run `infisical-ctl reconfigure` to apply them. </Info>
|
||||
|
||||
### Example Configuration
|
||||
|
||||
```ruby
|
||||
```ruby infisical.rb
|
||||
# Important: Replace these values with secure keys in production
|
||||
infisical_core['ENCRYPTION_KEY'] = '6c1fe4e407b8911c104518103505b218'
|
||||
infisical_core['AUTH_SECRET'] = '5lrMXKKWCVocS/uerPsl7V+TX/aaUaI7iDkgl3tSmLE='
|
||||
|
||||
# Database connection strings
|
||||
infisical_core['DB_CONNECTION_URI'] = 'postgres://infisical:infisical@localhost:5432/infisical'
|
||||
infisical_core['REDIS_URL'] = 'redis://localhost:6379'
|
||||
infisical_core['DB_CONNECTION_URI'] = 'postgres://infisical:some-password@some-host:5432/infisical'
|
||||
infisical_core['REDIS_URL'] = 'redis://some-host:6379'
|
||||
```
|
||||
|
||||
For a complete list of configuration options, visit our [configuration variables documentation](/self-hosting/configuration/envars).
|
||||
For a full list of supported configuration variables, refer to the [configuration variables documentation](/self-hosting/configuration/envars).
|
||||
|
||||
## Available Commands
|
||||
## All `infisical-ctl` Commands
|
||||
|
||||
The `infisical-ctl` command provides several options to manage your Infisical deployment:
|
||||
The Infisical Linux package includes the `infisical-ctl` command-line tool, which allows you to manage your deployment.
|
||||
The available commands are listed below.
|
||||
|
||||
| Command | Description |
|
||||
| --- | --- |
|
||||
| `infisical-ctl reconfigure` | Restarts the Infisical services and applies any configuration changes |
|
||||
| `infisical-ctl tail` | Shows the logs of the Infisical application |
|
||||
| `infisical-ctl status` | Displays the current running status of the Infisical services |
|
||||
| `infisical-ctl stop` | Stops the Infisical services |
|
||||
| `infisical-ctl start` | Starts the Infisical services |
|
||||
|
||||
For database migration-related commands, refer to the [Migrations Guide](/self-hosting/native/linux-package/migration).
|
||||
| Command | Description |
|
||||
|-----------------------------|-----------------------------------------------------------------------------|
|
||||
| `infisical-ctl reconfigure` | Applies changes from `infisical.rb` and restarts the Infisical services. |
|
||||
| `infisical-ctl start` | Starts the Infisical services. |
|
||||
| `infisical-ctl stop` | Stops all running Infisical services. |
|
||||
| `infisical-ctl status` | Displays the current status of the Infisical services. |
|
||||
| `infisical-ctl tail` | Streams real-time logs from the Infisical application. |
|
||||
@@ -1,102 +1,124 @@
|
||||
---
|
||||
title: "Installation"
|
||||
description: "Learn how to deploy Infisical using linux package."
|
||||
description: "Learn how to deploy Infisical using the Linux package"
|
||||
---
|
||||
|
||||
Infisical can be deployed on Linux virtual machines without containers using our Linux packages. Currently, we support Linux systems running on AMD64 architecture (ARM coming soon).
|
||||
|
||||
This standalone deployment uses a "Bring Your Own Database" (BYOD) approach, meaning you'll need to provide your own PostgreSQL and Redis databases for Infisical services. These databases are not included in the package.
|
||||
Infisical can be deployed on Linux virtual machines without the need for containers using our standalone Linux packages.
|
||||
These packages are available in both .deb (for Debian-based systems) and .rpm (for RHEL-based systems) formats.
|
||||
The installation includes the Infisical service, along with a CLI tool (infisical-ctl) to help you manage configurations, startup, and application logging.
|
||||
This approach is ideal for environments where containerization isn't desired, while still providing a lightweight deployment option.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before beginning the installation, ensure you have:
|
||||
This installation method only provides the Infisical application. You are responsible for configuring both PostgreSQL and Redis, either by using managed services (e.g., AWS RDS, Azure Database, GCP Cloud SQL/Memorystore) or by deploying them manually in your on-prem environment.
|
||||
Please ensure you have the following before beginning installation of Infisical:
|
||||
|
||||
- A server running a linux-based operating system (Ubuntu, Debian) or RHEL-based system
|
||||
- A PostgreSQL database instance
|
||||
- A Redis database instance
|
||||
- A Linux server running a Debian/Ubuntu or RHEL-based distribution
|
||||
- A running PostgreSQL database instance
|
||||
- A running Redis database instance
|
||||
|
||||
## Installation Steps
|
||||
|
||||
<Steps>
|
||||
<Step title="Install the Infisical Package">
|
||||
Choose your operating system below to install Infisical:
|
||||
|
||||
<Tabs>
|
||||
<Step title="Install the Infisical Package">
|
||||
Select your Linux distribution to get started. Only AMD64-based systems are supported at this time, ARM support is coming soon.
|
||||
|
||||
<Tabs>
|
||||
|
||||
<Tab title="Debian/Ubuntu">
|
||||
First, add the Infisical repository:
|
||||
```bash
|
||||
curl -1sLf \
|
||||
'https://dl.cloudsmith.io/public/infisical/infisical-core/setup.deb.sh' \
|
||||
| sudo -E bash
|
||||
```
|
||||
Add the Infisical repository:
|
||||
```bash
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/infisical/infisical-core/setup.deb.sh' | sudo -E bash
|
||||
```
|
||||
|
||||
Then install Infisical:
|
||||
```bash
|
||||
sudo apt-get update && sudo apt-get install -y infisical-core
|
||||
```
|
||||
|
||||
> **Note**: For production environments, we strongly recommend installing a specific version of the package to maintain consistency across reinstalls. View available versions at [Infisical Package Versions](https://cloudsmith.io/~infisical/repos/infisical-core/packages/).
|
||||
Install Infisical:
|
||||
```bash
|
||||
sudo apt-get update && sudo apt-get install -y infisical-core
|
||||
```
|
||||
|
||||
> **Note**: For production use, we recommend locking to a specific version to ensure consistency. [View available versions](https://cloudsmith.io/~infisical/repos/infisical-core/packages/).
|
||||
</Tab>
|
||||
|
||||
<Tab title="RedHat/CentOS/Amazon Linux">
|
||||
First, add the Infisical repository:
|
||||
```bash
|
||||
curl -1sLf \
|
||||
'https://dl.cloudsmith.io/public/infisical/infisical-core/setup.rpm.sh' \
|
||||
| sudo -E bash
|
||||
```
|
||||
Add the Infisical repository:
|
||||
```bash
|
||||
curl -1sLf 'https://dl.cloudsmith.io/public/infisical/infisical-core/setup.rpm.sh' | sudo -E bash
|
||||
```
|
||||
|
||||
Then install Infisical:
|
||||
```bash
|
||||
sudo yum install infisical-core
|
||||
```
|
||||
|
||||
> **Note**: For production environments, we strongly recommend installing a specific version of the package to maintain consistency across reinstalls. View available versions at [Infisical Package Versions](https://cloudsmith.io/~infisical/repos/infisical-core/packages/).
|
||||
Install Infisical:
|
||||
```bash
|
||||
sudo yum install infisical-core
|
||||
```
|
||||
|
||||
> **Note**: For production use, we recommend locking to a specific version to ensure consistency. [View available versions](https://cloudsmith.io/~infisical/repos/infisical-core/packages/).
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
To verify the installation, run:
|
||||
</Tabs>
|
||||
|
||||
```bash
|
||||
infisical-ctl help
|
||||
```
|
||||
Verify the installation:
|
||||
```bash
|
||||
infisical-ctl help
|
||||
```
|
||||
</Step>
|
||||
|
||||
</Step>
|
||||
<Step title="Create the Configuration File">
|
||||
Create an `infisical.rb` file in the `/etc/infisical` directory. This file will contain your database connections and other configuration settings.
|
||||
<Step title="Create the Configuration File">
|
||||
Create an `infisical.rb` file at `/etc/infisical`. This file contains your database connection strings and other runtime settings.
|
||||
|
||||
<Accordion title="Example Configuration">
|
||||
```ruby
|
||||
# Important: Replace these values with secure keys in production
|
||||
infisical_core['ENCRYPTION_KEY'] = '6c1fe4e407b8911c104518103505b218'
|
||||
infisical_core['AUTH_SECRET'] = '5lrMXKKWCVocS/uerPsl7V+TX/aaUaI7iDkgl3tSmLE='
|
||||
```ruby
|
||||
# Important: Replace with secure values in production
|
||||
infisical_core['ENCRYPTION_KEY'] = '6c1fe4e407b8911c104518103505b218'
|
||||
infisical_core['AUTH_SECRET'] = '5lrMXKKWCVocS/uerPsl7V+TX/aaUaI7iDkgl3tSmLE='
|
||||
|
||||
# Database connection strings
|
||||
infisical_core['DB_CONNECTION_URI'] = 'postgres://infisical:infisical@localhost:5432/infisical'
|
||||
infisical_core['REDIS_URL'] = 'redis://localhost:6379'
|
||||
```
|
||||
</Accordion>
|
||||
# Example database connection strings
|
||||
infisical_core['DB_CONNECTION_URI'] = 'postgres://<db-username>:<db-password>@<db-host>:<db-port>/<db-name>'
|
||||
infisical_core['REDIS_URL'] = 'redis://<redis-host>:<redis-port>'
|
||||
```
|
||||
|
||||
For a complete list of configuration options, visit our [configuration variables documentation](/self-hosting/configuration/envars).
|
||||
See the full list of options in our [configuration documentation](/self-hosting/configuration/envars).
|
||||
</Step>
|
||||
|
||||
</Step>
|
||||
<Step title="Start Infisical">
|
||||
1. Run the following command to start the Infisical server:
|
||||
```bash
|
||||
infisical-ctl reconfigure
|
||||
```
|
||||
By default, the server will run on port `8080`. You can modify this in the `infisical.rb` configuration file.
|
||||
<Step title="Start Infisical">
|
||||
1. Start the Infisical service:
|
||||
```bash
|
||||
infisical-ctl reconfigure
|
||||
```
|
||||
The server runs on port `8080` by default (customizable in `infisical.rb`).
|
||||
|
||||
2. Check the service status:
|
||||
|
||||
Check the service status:
|
||||
```bash
|
||||
infisical-ctl status
|
||||
```
|
||||
|
||||
View the service logs in real-time:
|
||||
```bash
|
||||
infisical-ctl tail
|
||||
```
|
||||
</Step>
|
||||
|
||||
2. Monitor your deployment:
|
||||
- Check the application status:
|
||||
```bash
|
||||
infisical-ctl status
|
||||
```
|
||||
- View real-time logs:
|
||||
```bash
|
||||
infisical-ctl tail
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Platform Support
|
||||
|
||||
### Microsoft Windows
|
||||
Infisical is built for Linux-based systems. It is not supported on Microsoft Windows, and we do not plan to support it in the near future. For Windows users, consider running Infisical in a virtual machine or WSL2 environment.
|
||||
|
||||
### Unsupported Linux Distributions and Unix-like Systems
|
||||
Infisical is not tested or officially supported on the following:
|
||||
|
||||
- Arch Linux
|
||||
- Fedora
|
||||
- FreeBSD
|
||||
- Gentoo
|
||||
- macOS
|
||||
|
||||
We recommend sticking to officially supported distributions for the best experience.
|
||||
|
||||
## Linux vs Containerized Deployments
|
||||
|
||||
Infisical is a stateless application, which means it can be easily scaled and redeployed without maintaining internal state between instances.
|
||||
|
||||
If your use case requires rolling updates, self-healing, or auto-scaling, we recommend deploying Infisical in a containerized environment such as Kubernetes/OpenShift, or using managed container orchestration services like AWS ECS or Google Cloud Run.
|
||||
These platforms offer built-in capabilities for high availability and help simplify operational overhead for your deployment.
|
||||
@@ -1,30 +0,0 @@
|
||||
---
|
||||
title: "Migration"
|
||||
description: "Learn how to run migration using Infisical linux package."
|
||||
---
|
||||
|
||||
By default, migrations automatically run each time you execute `infisical-ctl reconfigure`. This behavior may not be desirable when deploying with horizontal scaling.
|
||||
|
||||
## Disable Auto Migration
|
||||
|
||||
To disable automatic migrations, add the following configuration to your `infisical.rb` file:
|
||||
|
||||
```ruby
|
||||
infisical_core['auto_migration'] = false
|
||||
```
|
||||
|
||||
## Migration Commands
|
||||
|
||||
`infisical-ctl` provides several commands to manage database migrations. You can run these commands in two ways:
|
||||
|
||||
- Provide the PostgreSQL database connection as an environment variable, or
|
||||
- Let the system load the connection details from the Infisical application after reconfiguration
|
||||
|
||||
| Command | Description |
|
||||
| ---------------------------------- | --------------------------------------------------------------------------- |
|
||||
| `infisical-ctl migration up` | Runs the next migration that hasn't been applied yet |
|
||||
| `infisical-ctl migration down` | Reverts the most recent migration, undoing its changes |
|
||||
| `infisical-ctl migration list` | Lists all available migration files without applying them |
|
||||
| `infisical-ctl migration status` | Displays the status of each migration, showing which have been applied |
|
||||
| `infisical-ctl migration latest` | Applies all pending migrations to bring the database up to date |
|
||||
| `infisical-ctl migration rollback` | Reverts all applied migrations, returning the database to its initial state |
|
||||
Reference in New Issue
Block a user