Pomerium is an open-source authentication and authorization tool that makes it easy to secure internal applications and services. In this tutorial, we will guide you through the process of installing Pomerium on Manjaro.
Before starting with the installation process, you should have the following:
Pomerium requires Docker to be installed on your system.
To install Docker, run the following command:
sudo pacman -S docker
To install Pomerium, you can either use the official Docker image or download the binary from the Pomerium website.
To install Pomerium using the official Docker image, run the following command:
sudo docker run -p 80:80 -p 443:443 -v ~/.pomerium:/etc/pomerium -v ~/.pomerium/data:/var/run/pomerium --name pomerium pomerium/pomerium:latest
This command starts a Pomerium container and maps the container ports 80 and 443 to the host machine ports. It also creates a volume for the Pomerium configuration.
To download the Pomerium binary, go to the Pomerium releases page and download the latest version of the binary for your operating system.
After downloading the binary, you need to make it executable:
chmod +x ~/Downloads/pomerium-linux-{{version}}
Then, move the binary to the /usr/bin
directory:
sudo mv ~/Downloads/pomerium-linux-{{version}} /usr/bin/pomerium
To configure Pomerium, you need to create a configuration file.
Create a new file named config.yaml
in the ~/.pomerium
directory, and paste the following configuration:
---
idp:
provider: google
client_id: ""
client_secret: ""
service_account:
json_file: "/path/to/service_account.json"
cookie_secret: ""
callback_uri: "https://auth.example.com/oauth2/callback"
routes:
- from: http://app.example.com
to: http://app.internal:8080
Replace the client_id
, client_secret
, service_account
, cookie_secret
, and callback_uri
values with your own values.
To start Pomerium, run the following command:
sudo docker run -p 80:80 -p 443:443 -v ~/.pomerium:/etc/pomerium -v ~/.pomerium/data:/var/run/pomerium --name pomerium pomerium/pomerium:latest /pomerium -config /etc/pomerium/config.yaml
This command starts a Pomerium container and maps the container ports 80 and 443 to the host machine ports. It also creates a volume for the Pomerium configuration and starts Pomerium with the config.yaml
file you created in step 3.
To verify that Pomerium is working, open your web browser and go to https://auth.example.com
. If everything is set up correctly, you should be prompted to log in with your Google account, and then redirected to the http://app.example.com
endpoint.
Congratulations! You have successfully installed and configured Pomerium on Manjaro Linux.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!