Announcement

Collapse
No announcement yet.

Guide: How to Install Firezone (WireGuard with Web UI) on Linux via Docker

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Guide: How to Install Firezone (WireGuard with Web UI) on Linux via Docker

    Guide: How to Install Firezone (WireGuard with Web UI) on Linux via Docker

    The automated quick-install scripts for Firezone often fail due to missing dependencies, conflicting firewall configurations, or SSL issues. This step-by-step guide walks you through the manual, robust deployment of Firezone using Docker and Docker Compose.

    [](https://libreselfhosted.com/project/firezone/)
    Libre Self-hosted +3




    Prerequisites
    • A clean VPS running Ubuntu 22.04 LTS / 24.04 LTS
    • A fully qualified domain name (FQDN) pointing to your server's IP (e.g., vpn.yourdomain.com)
    • Ports 80/tcp, 443/tcp, and 51820/udp open in your hosting provider's firewall


    [](https://wiki.crowncloud.net/?How_to_...n_Ubuntu_22_04)
    CrownCloud Wiki +1




    Step 1: Install Docker and Docker Compose v2
    Do not rely on the script to install Docker. Set it up properly beforehand to prevent version mismatches:
    Code:
    sudo apt update && sudo apt upgrade -y
    sudo apt install curl iptables -y
    
    [](https://firstbyte.pro/manuals/how-to-install-firezone-for-wireguard-on-a-linux-server-by-firstbyte/)
    
    ### Install Docker
    
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh 
    
    ### Install Docker Compose Plugin
    
    sudo apt install docker-compose-plugin -y



    Step 2: Enable Kernel IP Forwarding
    Firezone must be allowed to forward network packets from the WireGuard interface to the public network:
    Code:
    echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv6.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    [](https://libreselfhosted.com/project/firezone/)
    Libre Self-hosted +1




    Step 3: Download and Run the Official Firezone Bootstrap
    Now, use the dedicated legacy repository script which pulls down the specific production-ready Docker Compose environment:
    Code:
    sudo -E bash -c "$(curl -fsSL https://github.com/firezone/firezone/raw/legacy/scripts/install.sh)"
    [](https://oneuptime.com/blog/post/2026...on-ubuntu/view)
    OneUptime +1

    Important Prompts During Installation:
    1. Admin Email: Type your valid email address (used for the admin account).
    2. External URL: Enter your domain with the HTTPS prefix, for example: https://vpn.yourdomain.com.

    Note: The script will now generate random encryption keys, download the required database containers, and set up local SSL configurations.

    [](https://wiki.crowncloud.net/?How_to_...n_Ubuntu_22_04)
    CrownCloud Wiki +2




    Step 4: Create the Administrator Account
    Once the containers are generated, you need to manually trigger the administrative user creation tool to get your login credentials:
    Code:
    cd $HOME/.firezone
    docker compose exec firezone firezone-ctl create-or-reset-admin
    Copy the email and temporary password generated on your terminal screen.

    [](https://wiki.crowncloud.net/?How_to_...n_Ubuntu_22_04)
    CrownCloud Wiki +1




    Step 5: Access the Web Panel & Add Devices
    1. Open your web browser and go to your configured domain: https://vpn.yourdomain.com.
    2. Log in using the administrator credentials from Step 4.
    3. Navigate to Devices -> Add Device.
    4. Assign a name, click generate, and you will see a QR Code along with a downloadable .conf file for your WireGuard client app.


    [](https://medium.com/@kapil_parashar/n...n-2a590db5370b)
    Medium +3




    Troubleshooting Common Port/Firewall Blockages
    If the page doesn't load, your Linux firewall might be restricting traffic. Fix it by ensuring Docker can communicate through UFW:
    Code:
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw allow 51820/udp
    sudo ufw reload




    Now you have a fully visual, enterprise-ready WireGuard server running securely inside isolated Docker containers! Leave a comment if your certificates fail to renew.
Working...
X