Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pages/billing/additional-content/reading-an-invoice.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ content:
paragraph: This page explains how to read an invoice
tags: billing invoice payment
dates:
validation: 2024-11-04
validation: 2025-05-13
posted: 2024-02-23
categories:
- billing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ content:
paragraph: This page explains how to understand the environmental footprint estimation of Scaleway products.
tags: environmental-footprint impact environment datacentre
dates:
validation: 2024-10-30
validation: 2025-05-13
posted: 2024-10-30
categories:
- environmental-footprint
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ content:
paragraph: Learn to interpret and track your monthly environmental footprint report easily.
tags: environmental-footprint impact environment datacenter
dates:
validation: 2024-10-30
validation: 2025-05-13
posted: 2024-10-30
categories:
- environmental-footprint
Expand All @@ -24,7 +24,7 @@ categories:

1. Click **Environmental Footprint** in the Organization drop-down menu to go to the **Environmental Footprint Overview** page. The **Environmental Footprint** dashboard appears, displaying the list of your current and past monthly reports.
<Lightbox src="scaleway-env-foot-dashboard.webp" alt="" />
2. Click the <Icon name="download" /> next to the month for the report you want to download.
2. Click <Icon name="download" /> next to the month for the report you want to download.
The monthly report is downloaded to your local computer in PDF format.
3. Open the PDF file.
4. Read through the document, considering the following elements on the page:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ content:
paragraph: Steps to generate API keys for API and SMTP email sending.
tags: transactional email send multiple-headers send-emails
dates:
validation: 2024-11-04
validation: 2025-05-13
posted: 2024-04-24
categories:
- managed-services
Expand Down
2 changes: 1 addition & 1 deletion pages/transactional-email/concepts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ content:
paragraph: Learn the fundamental concepts of Scaleway Transactional Email.
tags: managed-services deliverability dkim dns-propagation mx-record send-api smtp transactional spf
dates:
validation: 2024-11-04
validation: 2025-05-13
categories:
- managed-services
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ content:
paragraph: This page goes into detail about the different elements in a standard SMTP configuration, and how to fill out each entry to ensure an optimal configuration of Transactional Email services.
tags: smtp configuration forwarding port
dates:
validation: 2024-11-04
validation: 2025-05-13
posted: 2024-05-02
categories:
- managed-services
Expand Down
47 changes: 24 additions & 23 deletions tutorials/configure-chef-ubuntu-xenial/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ tags: Chef Ubuntu Xenial Focal-Fossa
categories:
- instances
dates:
validation: 2024-10-28
validation: 2025-05-14
posted: 2018-07-05
---

Expand All @@ -24,7 +24,7 @@ You can easily manage up to 10,000 nodes using Chef. Chef also makes it easy to
- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- An [SSH key](/organizations-and-projects/how-to/create-ssh-key/)
- One of the following remote machines running Ubuntu (this tutorial was validated for machines running Ubuntu Xenial or Ubuntu Focal Fossa):
- One of the following remote machines running Ubuntu (this tutorial was validated for machines running Ubuntu 24.04 or previous:
- An [Instance](/instances/how-to/create-an-instance/)
- An [Elastic Metal server](/elastic-metal/how-to/create-server/)
- A [Dedibox dedicated server](/dedibox/how-to/order-a-server/)
Expand Down Expand Up @@ -130,28 +130,29 @@ Creating an admin user enables a specific user to make changes to the infrastruc

For our example, we will create a user with the following information:

- **Username:** testuser
- **First Name:** test
- **Last Name:** user
- **Email:** [email protected]
- **Password:** pwdexample
- **Filename:** testuser.pem
- `USERNAME` - `testuser`
- `FIRST_NAME` - `test`
- `LAST_NAME` - `user`
- `EMAIL` - `[email protected]`
- `PASSWORD` - `pwdexample`
- `FILENAME` - `testuser.pem`

We will also add `-f` option to specify a filename in which to output our new user's private RSA key. We will need this to authenticate using the `knife` management command later. In the end, the command translates to:
We will also add `-f` option to specify a `FILENAME` in which to output our new user's private RSA key. We will need this to authenticate using the `knife` management command later. In the end, the command translates to:

```
chef-server-ctl user-create testuser test user [email protected] pwdexample -f testuser.pem
```
2. Launch the `chef-server-ctl` with the `org-create` subcommand:
```
chef-server-ctl org-create SHORTNAME LONGNAME --association_user USERNAME
chef-server-ctl org-create SHORTNAME LONGNAME --association_user ADMIN_USERNAME FILENAME
```

For our example, we will create an organization with the following information:
- **Short Name** (refers to the organization within Chef): scaleway
- **Long Name** (name of the organization): Scaleway, Inc.
- **Association User** (username that has access to administer the organization): testuser
- **Filename:** scaleway-file.pem

- `SHORT_NAME` - Refers to the organization within Chef. In this example we use `scaleway`
- `LONG_NAME` - The name of the organization. In this example, `Scaleway, Inc`
- `ADMIN_USERNAME` - The username of a user with administration rights on the organization. In this example, `testuser`
- `FILENAME` - `scaleway-file.pem`

Again, we will add the `-f` flag to specify the private key file location. The key that will be created is used to validate new clients as part of the organization until they can get their own unique client key. In the end, the command translates to:

Expand Down Expand Up @@ -218,18 +219,18 @@ The method that you use to connect to the Chef server will determine how to down

#### Option 1: (Recommended) Downloading keys when connecting to a Chef server using SSH keys

1. Leave your workstation
1. Leave your workstation.
```
exit
```

The next steps should be carried out from the machine that holds the private SSH key needed to connect to your Chef server.
The next steps should be carried out from the machine that holds the private SSH key needed to connect to your Chef server.
2. Add the SSH key you use to connect to the Chef server to an SSH agent:
```
eval $(ssh-agent)
```

which should start the agent and return something similar to
Which should start the agent and return something similar to:

```
Agent pid 2893
Expand Down Expand Up @@ -306,18 +307,18 @@ This is done through a `knife.rb` file that we will place in the `~/chef_repo/.c
log_location STDOUT
node_name "name_for_workstation"
client_key "#{current_dir}/name_of_user_key"
validation_client_name "organization_validator_name"
validation_client_name "organization-validator"
validation_key "#{current_dir}/organization_validator_key"
chef_server_url "https://server_domain_or_public_IP/organizations/organization_name"
syntax_check_cache_path "#{ENV['HOME']}/.chef/syntaxcache"
cookbook_path ["#{current_dir}/../cookbooks"]
```

- **node_name:** Specifies the name that knife will use to connect to your Chef server. This should match your username.
- **client_key:** Name and path to the user key that you copied over from the Chef server. We can use the `#{current_dir}` snippet to fill in the path if the key is in the same directory as the `knife.rb` file.
- **validation_client_name:** Name of the validation client that knife will use to bootstrap new nodes. This will take the form of your organization short name, followed by `-validator`.
- **validation_key:** Like the `client_key`, this includes the name and path to the validation key you copied from the Chef server. Again, you can use the `#{current_dir}`.
- **chef_server_url:** This is the URL where the Chef server can be reached. It should begin with `https://`, followed by your Chef server's domain name or **Public IP address**. Afterward, the path to your organization should be specified by appending /organizations/your_organization_name.
- `node_name` - Specifies the name that knife will use to connect to your Chef server. This should match your username.
- `client_key` - Name and path to the user key that you copied over from the Chef server. We can use the `#{current_dir}` snippet to fill in the path if the key is in the same directory as the `knife.rb` file.
- `validation_client_name` - Name of the validation client that knife will use to bootstrap new nodes. This will take the form of your organization short name, followed by `-validator`.
- `validation_key` - Like the `client_key`, this includes the name and path to the validation key you copied from the Chef server. Again, you can use the `#{current_dir}`.
- `chef_server_url` - This is the URL where the Chef server can be reached. It should begin with `https://`, followed by your Chef server's domain name or **Public IP address**. Afterward, the path to your organization should be specified by appending /organizations/your_organization_name.

For our tutorial, the file looks like this:

Expand Down
76 changes: 35 additions & 41 deletions tutorials/configure-netbox-managed-postgresql-database/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
- postgresql-and-mysql
hero: assets/scaleway_netbox.webp
dates:
validation: 2024-10-29
validation: 2025-05-14
posted: 2019-11-14
---

Expand All @@ -24,30 +24,20 @@ In this tutorial, you learn how to install and configure NetBox on an Instance r
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- An [SSH key](/organizations-and-projects/how-to/create-ssh-key/)
- An [Instance](/instances/how-to/create-an-instance/) running Ubuntu Focal Fossa (20.04 LTS) or later
- A [Database for PostgreSQL](/managed-databases-for-postgresql-and-mysql/quickstart/)
- A [Managed Database for PostgreSQL](/managed-databases-for-postgresql-and-mysql/quickstart/)

## Configuring the database

NetBox requires a PostgreSQL database. Configure your [Database for PostgreSQL](https://www.scaleway.com/en/database/) with a few steps from your [Scaleway console](https://console.scaleway.com/rdb/instances)

1. Enter the Databases section of your [Scaleway console](https://console.scaleway.com/rdb/instances) by clicking on **Managed Databases** in the side menu.
2. Click the name of the Database you want to use to view the Instance's details:
<Lightbox src="scaleway-db_instance_list.webp" alt="" />
3. Click the **Managed Databases** tab to view the databases of your Instance.
<Lightbox src="scaleway-dbaas_databases_list.webp" alt="" />
4. Click **+ Add Database**. The new database dialog appears.
5. Enter the name for the new database (`netbox`) and click **Create Database** to launch the database creation:
<Lightbox src="scaleway-dbaas_new_db.webp" alt="" />
6. Select the **Users** tab to view the users of your Database Instance.
7. Click **+ Add user** to create a new `netbox` user for the database. Enter the identifier and password for the user:
<Lightbox src="scaleway-dbaas_new_user.webp" alt="" />
8. Then click the **Permissions** tab and set **ALL** permissions for the user on the `netbox` table.
9. Once done, click **Create a user** to validate the form and launch the user creation process:
<Lightbox src="scaleway-dbaas_permissions.webp" alt="" />
2. [Create a Database Instance.](/managed-databases-for-postgresql-and-mysql/how-to/create-a-database/)
3. [Create a database](/managed-databases-for-postgresql-and-mysql/how-to/add-a-database/) called `netbox`.
4. [Create a new user](/managed-databases-for-postgresql-and-mysql/how-to/add-users/) also called `netbox` and grant it ALL permissions to the `netbox` database.

## Installing NetBox

1. Log into your Instance using [SSH](/instances/how-to/connect-to-instance/).
1. Connect to your Instance using [SSH](/instances/how-to/connect-to-instance/).
2. Update the `apt` package cache and upgrade the software already installed on the Instance to the latest version available in Ubuntu's repositories:
```
apt update && apt upgrade -y
Expand All @@ -56,13 +46,13 @@ NetBox requires a PostgreSQL database. Configure your [Database for PostgreSQL](
```
apt install -y libpq-dev python3 python3-pip python3-dev python3-venv build-essential libxml2-dev libxslt1-dev libffi-dev graphviz libpq-dev libssl-dev redis-server zlib1g-dev git nginx
```
4. Download the [latest release](https://github.com/netbox-community/netbox/releases/latest) of NetBox. At the time of writing this tutorial, it is version 3.7.5. Unpack it into the `/opt` directory:
4. Download the [latest release](https://github.com/netbox-community/netbox/releases/latest) of NetBox. At the time of writing this tutorial, it is version 4.3.1. Unpack it into the `/opt` directory:
```
wget https://github.com/netbox-community/netbox/archive/refs/tags/v3.7.5.tar.gz && tar -xzf v3.7.5.tar.gz -C /opt
wget https://github.com/netbox-community/netbox/archive/refs/tags/v4.3.1.tar.gz && tar -xzf v4.3.1.tar.gz -C /opt
```
5. Create a symlink from the actual NetBox directory to `/opt/netbox`:
```
ln -s /opt/netbox-3.6.3/ /opt/netbox
ln -s /opt/netbox-4.3.1/ /opt/netbox
```
6. Create a new system user for the NetBox application:
```
Expand Down Expand Up @@ -103,29 +93,33 @@ NetBox requires a PostgreSQL database. Configure your [Database for PostgreSQL](
- `REDIS` specifies the configuration parameters of Redis, an in-memory key-value store required as part of the NetBox installation. For most installations, the default configuration is good enough, and you can leave it as it is. For more information about advanced Redis configuration, refer to the [official documentation](https://docs.netbox.dev/en/stable/configuration/required-parameters/#redis).
- `SECRET_KEY` specifies a secret cryptographic key that is used to improve the security of cookies and password resets. It should be at least 50 characters long and should not be shared outside the configuration file. You may change the value of the key at any time, resulting in a termination of all active sessions.

Enter the key in the configuration file as follows, then save the file and exit your text editor:
```
SECRET_KEY = 'uyK5ajt-Vl$!gd2HeLbN=^6@&EhDmv8%)zT1S03kXPCsUGrI9_'
```
Enter the key in the configuration file as follows, then save the file and exit your text editor:

```
SECRET_KEY = 'uyK5ajt-Vl$!gd2HeLbN=^6@&EhDmv8%)zT1S03kXPCsUGrI9_'
```

<Message type="important">

The `SECRET_KEY` is not used for hashing user passwords or for the encrypted storage of secret data in NetBox.
NetBox comes with a script, that you may use to generate a random key:

<Message type="important">
The `SECRET_KEY` is not used for hashing user passwords or for the encrypted storage of secret data in NetBox.
NetBox comes with a script, that you may use to generate a random key:
```
python3 /opt/netbox/netbox/generate_secret_key.py
```
</Message>
12. Once NetBox has been configured, proceed with the actual installation by running the packaged upgrade script (`upgrade.sh`):
```
python3 /opt/netbox/netbox/generate_secret_key.py
```
</Message>

12. Once NetBox is configured, proceed with the actual installation by running the packaged upgrade script (`upgrade.sh`):
```
/opt/netbox/upgrade.sh
```

This script performs the following actions on your instance:

- Creating a Python virtual environment
- Installing all required Python packages
- Running database schema migrations
- Aggregating static resource files on disk
- Creating a Python virtual environment
- Installing all required Python packages
- Running database schema migrations
- Aggregating static resource files on disk

<Message type="note">
The upgrade script may warn you, that no existing virtual environment was detected. As this is a new installation, you can safely ignore this warning.
Expand All @@ -150,7 +144,7 @@ NetBox does not come with any default user accounts. Create a first user by comp
python3 manage.py createsuperuser
```

Enter the `username`, `email`, `password`, and `password confirmation` for the user and confirm by pressing Enter. The following message displays once the user is created: `Superuser created successfully.`
4. Enter the `username`, `email`, `password`, and `password confirmation` for the user and confirm by pressing Enter. The following message displays once the user is created: `Superuser created successfully.`

## Testing the application

Expand All @@ -165,10 +159,10 @@ Enter the `username`, `email`, `password`, and `password confirmation` for the u

[gunicorn](https://gunicorn.org/) is a Python [WSGI](https://wsgi.readthedocs.io/en/latest/what.html) HTTP Server for UNIX which will be used to serve the NetBox application to Nginx.

1. Copy the gunicorn configuration file from the `contrib` directory to its final destination:
```
cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn_config.py
```
Copy the gunicorn configuration file from the `contrib` directory to its final destination:
```
cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn_config.py
```

The configuration file shipped with the NetBox application works for most setups, however, if you need some specific settings, refer to the [gunicorn documentation](https://docs.gunicorn.org/en/stable/configure.html).

Expand Down Expand Up @@ -221,7 +215,7 @@ To provide an additional layer of security, NetBox will be running behind a [NGI
}
```

Save the file and exit the text editor.
Save the file and exit the text editor.
3. Create a symlink to enable the new configuration with NGINX:
```
ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/netbox.conf
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
- transactional-email
- instances
dates:
validation: 2024-10-29
validation: 2025-05-14
posted: 2024-04-24
---

Expand Down
Loading