Installer does not replace tags in docker-compose.yml (installer_linux_amd64) #70

Closed
opened 2025-11-13 11:49:03 -06:00 by GiteaMirror · 5 comments
Owner

Originally created by @lesservehicle on GitHub (Feb 8, 2025).

My environment

  • VPS
  • Ubuntu 24.04.1 LTS
  • Docker
uname -a
Linux myhostname 6.8.0-52-generic #53-Ubuntu SMP PREEMPT_DYNAMIC Sat Jan 11 00:06:25 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/debian_version 
trixie/sid

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.1 LTS
Release:        24.04
Codename:       noble

How to reproduce

Make a new directory and download the installer:

cd ~
mkdir ~/pangolin
cd ~/pangolin
wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.0.0-beta.12/installer_linux_amd64" && chmod +x ./installer

Run the installer, taking the defaults:

sudo ./installer

=== Basic Configuration ===
Enter your base domain (no subdomain e.g. example.com): example.com
Enter the domain for the Pangolin dashboard (default: pangolin.example.com): 
Enter email for Let's Encrypt certificates: admin@example.com
Do you want to use Gerbil to allow tunned connections (yes/no) (default: yes): 

=== Admin User Configuration ===
Enter admin user email (default: admin@example.com): 
Create admin user password: 
Confirm admin user password: 

=== Security Settings ===
Disable signup without invite (yes/no) (default: yes): 
Disable users from creating organizations (yes/no) (default: no): 

=== Email Configuration ===
Enable email functionality (yes/no) (default: no): 
Would you like to install and start the containers? (yes/no) (default: yes): 
Starting containers...
Using 'docker compose' command to pull containers...
[+] Pulling 3/3
 ✘ gerbil Error   context canceled                                                                           0.2s 
 ✘ traefik Error  context canceled                                                                           0.2s 
 ✘ pangolin Error manifest for fosrl/pangolin:replaceme not found: manifest unknown: mani...                 0.2s 
Error response from daemon: manifest for fosrl/pangolin:replaceme not found: manifest unknown: manifest unknown
Installation complete!

It looks like the installer script ought to have replaced "replaceme" with a relevant tag like "latest", as it's used across a couple of files.

find . -type f | xargs grep replaceme
./docker-compose.yml:    image: fosrl/pangolin:replaceme
./docker-compose.yml:    image: fosrl/gerbil:replaceme
./config/traefik/traefik_config.yml:      version: "replaceme"
grep: ./installer: binary file matches

Workaround

Manually changing the resultant ./docker-compose.yml and ./config/traefik/traefik_config.yml files and then running docker compose from the pangolin directory resolves the issue:

sed -i 's/pangolin\:replaceme/pangolin\:v1.0.0-beta.12/' ./docker-compose.yml
sed -i 's/gerbil\:replaceme/gerbil\:v1.0.0-beta.3/' ./docker-compose.yml
sed -i 's/replaceme/v1.0.0-beta.3/' ./config/traefik/traefik_config.yml

docker compose up -d
[+] Running 4/4
 ✔ Network pangolin    Created                                                                               0.2s 
 ✔ Container pangolin  Healthy                                                                               8.6s 
 ✔ Container gerbil    Started                                                                               8.0s 
 ✔ Container traefik   Started                                                                               8.7s 

docker compose ps
NAME       IMAGE                   COMMAND                  SERVICE    CREATED         STATUS                   PORTS
gerbil     fosrl/gerbil:latest     "/entrypoint.sh --re…"   gerbil     3 minutes ago   Up 3 minutes             0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:51820->51820/udp, :::51820->51820/udp
pangolin   fosrl/pangolin:latest   "docker-entrypoint.s…"   pangolin   3 minutes ago   Up 3 minutes (healthy)   
traefik    traefik:v3.3.3          "/entrypoint.sh --co…"   traefik    3 minutes ago   Up 3 minutes   
Originally created by @lesservehicle on GitHub (Feb 8, 2025). ## My environment - VPS - Ubuntu 24.04.1 LTS - Docker ``` uname -a Linux myhostname 6.8.0-52-generic #53-Ubuntu SMP PREEMPT_DYNAMIC Sat Jan 11 00:06:25 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux cat /etc/debian_version trixie/sid lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.1 LTS Release: 24.04 Codename: noble ``` ## How to reproduce Make a new directory and download the installer: ``` cd ~ mkdir ~/pangolin cd ~/pangolin wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.0.0-beta.12/installer_linux_amd64" && chmod +x ./installer ``` Run the installer, taking the defaults: ``` sudo ./installer === Basic Configuration === Enter your base domain (no subdomain e.g. example.com): example.com Enter the domain for the Pangolin dashboard (default: pangolin.example.com): Enter email for Let's Encrypt certificates: admin@example.com Do you want to use Gerbil to allow tunned connections (yes/no) (default: yes): === Admin User Configuration === Enter admin user email (default: admin@example.com): Create admin user password: Confirm admin user password: === Security Settings === Disable signup without invite (yes/no) (default: yes): Disable users from creating organizations (yes/no) (default: no): === Email Configuration === Enable email functionality (yes/no) (default: no): Would you like to install and start the containers? (yes/no) (default: yes): Starting containers... Using 'docker compose' command to pull containers... [+] Pulling 3/3 ✘ gerbil Error context canceled 0.2s ✘ traefik Error context canceled 0.2s ✘ pangolin Error manifest for fosrl/pangolin:replaceme not found: manifest unknown: mani... 0.2s Error response from daemon: manifest for fosrl/pangolin:replaceme not found: manifest unknown: manifest unknown Installation complete! ``` It looks like the installer script ought to have replaced "replaceme" with a relevant tag like "latest", as it's used across a couple of files. ``` find . -type f | xargs grep replaceme ./docker-compose.yml: image: fosrl/pangolin:replaceme ./docker-compose.yml: image: fosrl/gerbil:replaceme ./config/traefik/traefik_config.yml: version: "replaceme" grep: ./installer: binary file matches ``` ## Workaround Manually changing the resultant `./docker-compose.yml` and `./config/traefik/traefik_config.yml` files and then running `docker compose` from the `pangolin` directory resolves the issue: ``` sed -i 's/pangolin\:replaceme/pangolin\:v1.0.0-beta.12/' ./docker-compose.yml sed -i 's/gerbil\:replaceme/gerbil\:v1.0.0-beta.3/' ./docker-compose.yml sed -i 's/replaceme/v1.0.0-beta.3/' ./config/traefik/traefik_config.yml docker compose up -d [+] Running 4/4 ✔ Network pangolin Created 0.2s ✔ Container pangolin Healthy 8.6s ✔ Container gerbil Started 8.0s ✔ Container traefik Started 8.7s docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS gerbil fosrl/gerbil:latest "/entrypoint.sh --re…" gerbil 3 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:51820->51820/udp, :::51820->51820/udp pangolin fosrl/pangolin:latest "docker-entrypoint.s…" pangolin 3 minutes ago Up 3 minutes (healthy) traefik traefik:v3.3.3 "/entrypoint.sh --co…" traefik 3 minutes ago Up 3 minutes ```
Author
Owner

@miloschwartz commented on GitHub (Feb 8, 2025):

Yep this was a bug in a latest installer in the release because it wasn't run through CICD. Just fixed!

@miloschwartz commented on GitHub (Feb 8, 2025): Yep this was a bug in a latest installer in the release because it wasn't run through CICD. Just fixed!
Author
Owner

@lesservehicle commented on GitHub (Feb 8, 2025):

Wow thanks, just pulled and it works!

@lesservehicle commented on GitHub (Feb 8, 2025): Wow thanks, just pulled and it works!
Author
Owner

@d1same commented on GitHub (Feb 8, 2025):

sorry, so I have to run the wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.0.0-beta.12/installer_linux_amd64" && chmod +x ./installer again?

@d1same commented on GitHub (Feb 8, 2025): sorry, so I have to run the wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.0.0-beta.12/installer_linux_amd64" && chmod +x ./installer again?
Author
Owner

@lesservehicle commented on GitHub (Feb 8, 2025):

sorry, so I have to run the wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.0.0-beta.12/installer_linux_amd64" && chmod +x ./installer again?

Remove the installer, the ./docker-compose.yml file and the entire ./config/ directory it creates, then download and run the installer again from the releases.

@lesservehicle commented on GitHub (Feb 8, 2025): > sorry, so I have to run the wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.0.0-beta.12/installer_linux_amd64" && chmod +x ./installer again? Remove the installer, the `./docker-compose.yml` file and the entire `./config/` directory it creates, then download and run the installer again from the releases.
Author
Owner

@miloschwartz commented on GitHub (Feb 8, 2025):

sorry, so I have to run the wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.0.0-beta.12/installer_linux_amd64" && chmod +x ./installer again?

You don't have to run the installer again. You can set the latest versions in the config files. Replace the "replaceme" text. Sorry for the inconvenience!

In docker compose:
Pangolin: 1.0.0-beta.12
Gerbil: 1.0.0-beta.3

In config/traefik/traefik_config.yml:
Badger: v1.0.0-beta.3

@miloschwartz commented on GitHub (Feb 8, 2025): > sorry, so I have to run the wget -O installer "https://github.com/fosrl/pangolin/releases/download/1.0.0-beta.12/installer_linux_amd64" && chmod +x ./installer again? You don't _have_ to run the installer again. You can set the latest versions in the config files. Replace the "replaceme" text. Sorry for the inconvenience! In docker compose: Pangolin: 1.0.0-beta.12 Gerbil: 1.0.0-beta.3 In config/traefik/traefik_config.yml: Badger: v1.0.0-beta.3
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#70