Skip to content

Unable to install Algo with Docker #14627

Open

Description

Describe the bug

When I'm trying to install Algo on Ubuntu with Docker I'm getting stuck. Final prompt is "[WARNING]: Reset is not implemented for this connection"

To Reproduce

Steps to reproduce the behavior:

  1. Install Docker on Ubuntu
  2. Follow Docker guide for Algo setup

Expected behavior

Algo is successfully installed

Additional context

Add any other context about the problem here.

Full log

$ sudo docker run --cap-drop=all -it -v /home/my_user/algo:/data ghcr.io/trailofbits/algo:latest

PLAY [localhost] ***************************************************************************************************************************************

TASK [Gathering Facts] *********************************************************************************************************************************
ok: [localhost]

TASK [Playbook dir stat] *******************************************************************************************************************************
ok: [localhost]

TASK [Ensure Ansible is not being run in a world writable directory] ***********************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
[DEPRECATION WARNING]: Use 'ansible.utils.ipaddr' module instead. This feature will be removed from ansible.netcommon in a release after 2024-01-01. 
Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[WARNING]: The value '' is not a valid IP address or network, passing this value to ipaddr filter might result in breaking change in future.

TASK [Ensure the requirements installed] ***************************************************************************************************************
ok: [localhost]

TASK [Set required ansible version as a fact] **********************************************************************************************************
ok: [localhost] => (item=ansible==6.1.0)

TASK [Just get the list from default pip] **************************************************************************************************************
ok: [localhost]

TASK [Verify Python meets Algo VPN requirements] *******************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Verify Ansible meets Algo VPN requirements] ******************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
[WARNING]: Found variable using reserved name: no_log

PLAY [Ask user for the input] **************************************************************************************************************************

TASK [Gathering Facts] *********************************************************************************************************************************
ok: [localhost]
[Cloud prompt]
What provider would you like to use?
    1. DigitalOcean
    2. Amazon Lightsail
    3. Amazon EC2
    4. Microsoft Azure
    5. Google Compute Engine
    6. Hetzner Cloud
    7. Vultr
    8. Scaleway
    9. OpenStack (DreamCompute optimised)
    10. CloudStack (Exoscale optimised)
    11. Linode
    12. Install to existing Ubuntu latest LTS server (for more advanced users)
  
Enter the number of your desired provider
:
12^M
TASK [Cloud prompt] ************************************************************************************************************************************
ok: [localhost]

TASK [Set facts based on the input] ********************************************************************************************************************
ok: [localhost]
[Cellular On Demand prompt]
Do you want macOS/iOS clients to enable "Connect On Demand" when connected to cellular networks?
[y/N]
:
y^M
TASK [Cellular On Demand prompt] ***********************************************************************************************************************
ok: [localhost]
[Wi-Fi On Demand prompt]
Do you want macOS/iOS clients to enable "Connect On Demand" when connected to Wi-Fi?
[y/N]
:
y^M
TASK [Wi-Fi On Demand prompt] **************************************************************************************************************************
ok: [localhost]
[Trusted Wi-Fi networks prompt]
List the names of any trusted Wi-Fi networks where macOS/iOS clients should not use "Connect On Demand"
(e.g., your home network. Comma-separated value, e.g., HomeNet,OfficeWifi,AlgoWiFi)
:
^M
TASK [Trusted Wi-Fi networks prompt] *******************************************************************************************************************
ok: [localhost]
[Retain the PKI prompt]
Do you want to retain the keys (PKI)? (required to add users in the future, but less secure)
[y/N]
:
y^M
TASK [Retain the PKI prompt] ***************************************************************************************************************************
ok: [localhost]
[DNS adblocking prompt]
Do you want to enable DNS ad blocking on this VPN server?
[y/N]
:
y^M
TASK [DNS adblocking prompt] ***************************************************************************************************************************
ok: [localhost]
[SSH tunneling prompt]
Do you want each user to have their own account for SSH tunneling?
[y/N]
:
N^M
TASK [SSH tunneling prompt] ****************************************************************************************************************************
ok: [localhost]

TASK [Set facts based on the input] ********************************************************************************************************************
ok: [localhost]

PLAY [Provision the server] ****************************************************************************************************************************

TASK [Gathering Facts] *********************************************************************************************************************************
ok: [localhost]

--> Please include the following block of text when reporting issues:

Algo running on: Alpine Linux v3.18 (Virtualized: docker)
ZIP file created: 2023-05-17 00:04:41.000000000 +0000
Python 3.11.3
Runtime variables:
    algo_provider "local"
    algo_ondemand_cellular "True"
    algo_ondemand_wifi "True"
    algo_ondemand_wifi_exclude "X251bGw="
    algo_dns_adblocking "True"
    algo_ssh_tunneling "False"
    wireguard_enabled "True"
    dns_encryption "True"

TASK [Display the invocation environment] **************************************************************************************************************
changed: [localhost]

TASK [Install the requirements] ************************************************************************************************************************
changed: [localhost]

TASK [Include a provisioning role] *********************************************************************************************************************
[local : pause]
https://trailofbits.github.io/algo/deploy-to-ubuntu.html

Local installation might break your server. Use at your own risk.

Proceed? Press ENTER to continue or CTRL+C and A to abort...:
^M
TASK [local : pause] ***********************************************************************************************************************************
ok: [localhost] => (item=https://trailofbits.github.io/algo/deploy-to-ubuntu.html

Local installation might break your server. Use at your own risk.

Proceed? Press ENTER to continue or CTRL+C and A to abort...)
[local : pause]
Enter the IP address of your server: (or use localhost for local installation):
[localhost]
:
localhost^M
TASK [local : pause] ***********************************************************************************************************************************
ok: [localhost]

TASK [local : Set the facts] ***************************************************************************************************************************
ok: [localhost]
[local : pause]
Enter the public IP address or domain name of your server: (IMPORTANT! This is used to verify the certificate)
[localhost]
:
<ip_addreess>^M
TASK [local : pause] ***********************************************************************************************************************************
ok: [localhost]

TASK [local : Set the facts] ***************************************************************************************************************************
ok: [localhost]

TASK [Set subjectAltName as a fact] ********************************************************************************************************************
ok: [localhost]

TASK [Add the server to an inventory group] ************************************************************************************************************
changed: [localhost]

TASK [debug] *******************************************************************************************************************************************
ok: [localhost] => {
    "IP_subject_alt_name": "<ip_addreess>"
}
[WARNING]: Reset is not implemented for this connection


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions