Skip to content
This repository was archived by the owner on Jun 29, 2025. It is now read-only.
This repository was archived by the owner on Jun 29, 2025. It is now read-only.

🐛 Bug Report: Unable to connect to localhost #810

@itsTingu

Description

@itsTingu

👟 Reproduction steps

Hello, thank you creating this beautiful application. I have tried running the docker container on docker desktop and it is running fine.

Intalling the container on a VPS running Almalinux

Background: I have installed Pangolin which serves as first line of defense to authenticate the users before accessing the Pingvin application. However, I have encountered issues in exposing the Pingvin service alongside Pangolin.

The docker-compose file I am using is as follows:

Details
name: pangolin
services:
 pangolin:
   image: fosrl/pangolin:1.2.0
   container_name: pangolin
   restart: unless-stopped
   volumes:
     - ./config:/app/config
   healthcheck:
     test: ["CMD", "curl", "-f", "http://localhost:3001/api/v1/"]
     interval: "3s"
     timeout: "3s"
     retries: 5

 gerbil:
   image: fosrl/gerbil:1.0.0
   container_name: gerbil
   restart: unless-stopped
   depends_on:
     pangolin:
       condition: service_healthy
   command:
     - --reachableAt=http://gerbil:3003
     - --generateAndSaveKeyTo=/var/config/key
     - --remoteConfig=http://pangolin:3001/api/v1/gerbil/get-config
     - --reportBandwidthTo=http://pangolin:3001/api/v1/gerbil/receive-bandwidth
   volumes:
     - ./config/:/var/config
   cap_add:
     - NET_ADMIN
     - SYS_MODULE
   ports:
     - 51820:51820/udp
     - 443:443 # Port for traefik because of the network_mode
     - 80:80 # Port for traefik because of the network_mode

 traefik:
   image: traefik:v3.3.3
   container_name: traefik
   restart: unless-stopped

   network_mode: service:gerbil # Ports appear on the gerbil service

   depends_on:
     pangolin:
       condition: service_healthy
   command:
     - --configFile=/etc/traefik/traefik_config.yml
   volumes:
     - ./config/traefik:/etc/traefik:ro # Volume to store the Traefik configuration
     - ./config/letsencrypt:/letsencrypt # Volume to store the Let's Encrypt certificates
     - ./config/traefik/logs:/var/log/traefik # Volume to store Traefik logs

 pingvin-share:
   image: stonith404/pingvin-share # or ghcr.io/stonith404/pingvin-share
   restart: unless-stopped
   depends_on:
     pangolin:
       condition: service_healthy
   ports:
     - 3000:3000
   environment:
     - TRUST_PROXY=true # Set to true if a reverse proxy is in front of the container
     - BACKEND_PORT=8080:8087
     - API_URL=http://localhost:8080
     - CADDY_DISABLED=true
   volumes:
     - "./data:/opt/app/backend/data"
     - "./data/images:/opt/app/frontend/public/img"
 #      - "./config.yaml:/opt/app/config.yaml" # Add this line, if you want to configure pingvin-share via config file and not via UI

 # To add ClamAV, to scan your shares for malicious files,
 # see https://stonith404.github.io/pingvin-share/setup/integrations/#clamav-docker-only

networks:
 default:
   driver: bridge
   name: pangolin

I have read a github issues page here where you need to change the localhost to 127.0.0.1 or the other way around with no success.

  • I have changed the service port to map to 3000:3007 and the port did not map as expected.
  • I have disabled caddy to make sure it doesn't conflict with Pangolin's Traefik container

Appreciate any support as I am inexperienced in troubleshooting

P.S: logs show no errors, but I'll share them if requested.

👍 Expected behavior

Expose the instance to the domain configured and show the WEB UI

executing the command curl -l http://localhost:8080 should show an API output

👎 Actual Behavior

$ curl -l http://localhost:8080 curl: (7) Failed to connect to localhost port 8080: Connection refused

📜 Logs

curl: (7) Failed to connect to localhost port 8080: Connection refused

Docker compose up output

Details
 ✔ Container pangolin                  Created                                                                                                                                                                                   0.0s
 ✔ Container pangolin-pingvin-share-1  Recreated                                                                                                                                                                                 0.1s
 ✔ Container gerbil                    Created                                                                                                                                                                                   0.0s
 ✔ Container traefik                   Created                                                                                                                                                                                   0.0s
Attaching to gerbil, pangolin, pingvin-share-1, traefik
pangolin         |
pangolin         | > @fosrl/pangolin@0.0.0 start
pangolin         | > NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
pangolin         |
pangolin         | Starting migrations from version 1.2.0
pangolin         | Migrations to run:
pangolin         | All migrations completed successfully
pangolin         | 2025-04-07T23:51:23.819Z [info]: API server is running on http://localhost:3000
pangolin         | 2025-04-07T23:51:23.827Z [info]: Internal server is running on http://localhost:3001
pangolin         | 2025-04-07T23:51:25.929Z [info]: Next.js server is running on http://localhost:3002
pingvin-share-1  | Creating user and group...
pingvin-share-1  | Caddy is disabled. Skipping...
gerbil           | INFO: 2025/04/07 23:51:27 Fetching remote config from http://pangolin:3001/api/v1/gerbil/get-config
gerbil           | INFO: 2025/04/07 23:51:27 Created WireGuard interface wg0
gerbil           | INFO: 2025/04/07 23:51:27 Assigned IP address xxx.xxx.xxx.x/24 to interface wg0
gerbil           | INFO: 2025/04/07 23:51:27 Attempting to delete existing MSS clamping rule for chain INPUT
gerbil           | INFO: 2025/04/07 23:51:27 Attempting to delete existing MSS clamping rule for chain OUTPUT
gerbil           | INFO: 2025/04/07 23:51:27 Attempting to delete existing MSS clamping rule for chain FORWARD
gerbil           | INFO: 2025/04/07 23:51:27 Adding MSS clamping rule for chain INPUT
gerbil           | INFO: 2025/04/07 23:51:27 Successfully added and verified MSS clamping rule for chain INPUT
gerbil           | INFO: 2025/04/07 23:51:27 Adding MSS clamping rule for chain OUTPUT
gerbil           | INFO: 2025/04/07 23:51:27 Successfully added and verified MSS clamping rule for chain OUTPUT
gerbil           | INFO: 2025/04/07 23:51:27 Adding MSS clamping rule for chain FORWARD
gerbil           | INFO: 2025/04/07 23:51:27 Successfully added and verified MSS clamping rule for chain FORWARD
gerbil           | INFO: 2025/04/07 23:51:27 WireGuard interface wg0 created and configured
gerbil           | INFO: 2025/04/07 23:51:27 Starting server on :3003
traefik          | 2025-04-07T23:51:28Z INF Traefik version 3.3.3 built on 2025-01-31T14:55:01Z version=3.3.3
traefik          | 2025-04-07T23:51:28Z INF
traefik          | Stats collection is disabled.
traefik          | Help us improve Traefik by turning this feature on :)
traefik          | More details on: https://doc.traefik.io/traefik/contributing/data-collection/
traefik          |
traefik          | 2025-04-07T23:51:28Z INF Loading plugins... plugins=["badger"]
traefik          | 2025-04-07T23:51:29Z INF Plugins loaded. plugins=["badger"]
traefik          | 2025-04-07T23:51:29Z INF Starting provider aggregator *aggregator.ProviderAggregator
traefik          | 2025-04-07T23:51:29Z INF Starting provider *file.Provider
traefik          | 2025-04-07T23:51:29Z INF Starting provider *traefik.Provider
traefik          | 2025-04-07T23:51:29Z INF Starting provider *http.Provider
traefik          | 2025-04-07T23:51:29Z INF Starting provider *acme.ChallengeTLSALPN
traefik          | 2025-04-07T23:51:29Z INF Starting provider *acme.Provider
traefik          | 2025-04-07T23:51:29Z INF Testing certificate renew... acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=letsencrypt.acme
pingvin-share-1  |   ▲ Next.js 14.2.26
pingvin-share-1  |   - Local:        http://localhost:3333
pingvin-share-1  |   - Network:      http://0.0.0.0:3333
pingvin-share-1  |
pingvin-share-1  |  ✓ Starting...
pingvin-share-1  |
pingvin-share-1  | > pingvin-share-backend@1.11.1 prod
pingvin-share-1  | > prisma migrate deploy && prisma db seed && node dist/src/main
pingvin-share-1  |
pingvin-share-1  |  ✓ Ready in 5.4s
pingvin-share-1  | Environment variables loaded from prisma/.env
pingvin-share-1  | Prisma schema loaded from prisma/schema.prisma
pingvin-share-1  | Datasource "db": SQLite database "pingvin-share.db" at "file:../data/pingvin-share.db"
pingvin-share-1  |
pingvin-share-1  | 24 migrations found in prisma/migrations
pingvin-share-1  |
pingvin-share-1  |
pingvin-share-1  | No pending migrations to apply.
pingvin-share-1  | Environment variables loaded from prisma/.env
pingvin-share-1  | Running seed command `ts-node prisma/seed/config.seed.ts` ...
pingvin-share-1  |
pingvin-share-1  | 🌱  The seed command has been executed.
pingvin-share-1  | ┌─────────────────────────────────────────────────────────┐
pingvin-share-1  | │  Update available 6.4.1 -> 6.5.0                        │
pingvin-share-1  | │  Run the following to update                            │
pingvin-share-1  | │    npm i --save-dev prisma@latest                       │
pingvin-share-1  | │    npm i @prisma/client@latest                          │
pingvin-share-1  | └─────────────────────────────────────────────────────────┘
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG Showing log, warn, error, fatal messages
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [NestFactory] Starting Nest application... +31ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] PrismaModule dependencies initialized +202ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] JwtModule dependencies initialized +23ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] JwtModule dependencies initialized +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] ThrottlerModule dependencies initialized +1ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] DiscoveryModule dependencies initialized +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] CacheModule dependencies initialized +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] ScheduleModule dependencies initialized +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] AppModule dependencies initialized +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [PrismaService] Connected to the database
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] EmailModule dependencies initialized +41ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] ClamScanModule dependencies initialized +21ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] ConfigModule dependencies initialized +9ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] JobsModule dependencies initialized +8ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] ReverseShareModule dependencies initialized +29ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] FileModule dependencies initialized +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] UserModule dependencies initialized +1ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] OAuthModule dependencies initialized +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] AuthModule dependencies initialized +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [InstanceLoader] ShareModule dependencies initialized +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RoutesResolver] AppController {/api}: +149ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/health, GET} route +42ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RoutesResolver] AuthController {/api/auth}: +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/signUp, POST} route +6ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/signIn, POST} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/signIn/totp, POST} route +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/resetPassword/:email, POST} route +6ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/resetPassword, POST} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/password, PATCH} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/token, POST} route +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/signOut, POST} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/totp/enable, POST} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/totp/verify, POST} route +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/auth/totp/disable, POST} route +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RoutesResolver] OAuthController {/api/oauth}: +1ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/oauth/available, GET} route +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/oauth/status, GET} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/oauth/auth/:provider, GET} route +6ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/oauth/callback/:provider, GET} route +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/oauth/unlink/:provider, POST} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RoutesResolver] UserController {/api/users}: +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/users/me, GET} route +1ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/users/me, PATCH} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/users/me, DELETE} route +12ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/users, GET} route +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/users, POST} route +9ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/users/:id, PATCH} route +5ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/users/:id, DELETE} route +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RoutesResolver] FileController {/api/shares/:shareId/files}: +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/shares/:shareId/files, POST} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/shares/:shareId/files/zip, GET} route +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/shares/:shareId/files/:fileId, GET} route +5ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/shares/:shareId/files/:fileId, DELETE} route +5ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RoutesResolver] ReverseShareController {/api/reverseShares}: +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/reverseShares, POST} route +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/reverseShares/:reverseShareToken, GET} route +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/reverseShares, GET} route +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/reverseShares/:reverseShareId, DELETE} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RoutesResolver] ShareController {/api/shares}: +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:51:59 PM     LOG [RouterExplorer] Mapped {/api/shares/all, GET} route +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares, GET} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares/:id, GET} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares/:id/from-owner, GET} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares/:id/metaData, GET} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares, POST} route +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares/:id/complete, POST} route +4ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares/:id/complete, DELETE} route +16ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares/:id, DELETE} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares/isShareIdAvailable/:id, GET} route +5ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/shares/:id/token, POST} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RoutesResolver] ConfigController {/api/configs}: +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/configs, GET} route +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/configs/admin/:category, GET} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/configs/admin, PATCH} route +2ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/configs/admin/testEmail, POST} route +1ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [RouterExplorer] Mapped {/api/configs/admin/logo, POST} route +3ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [ConfigService] Config.yaml is not set. Falling back to UI configuration.
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [NestApplication] Nest application successfully started +358ms
pingvin-share-1  | [Nest] 41  - 04/07/2025, 11:52:00 PM     LOG [ClamScanService] ClamAV is not active

_No response_

Docker compose ps output:

Details
curl http://localhost:3000
curl: (52) Empty reply from server
[user@host pangolin_docker]$ docker compose ps
NAME                       IMAGE                      COMMAND                  SERVICE         CREATED          STATUS                          PORTS
gerbil                     fosrl/gerbil:1.0.0         "/entrypoint.sh --re…"   gerbil          36 minutes ago   Up About a minute               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:1.2.0       "docker-entrypoint.s…"   pangolin        36 minutes ago   Up 2 minutes (healthy)
pangolin-pingvin-share-1   stonith404/pingvin-share   "sh ./scripts/docker…"   pingvin-share   2 minutes ago    Up About a minute (unhealthy)   0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp
traefik                    traefik:v3.3.3             "/entrypoint.sh --co…"   traefik         36 minutes ago   Up About a minute

More interesting Docker compose inspect output...

Details
[
    {
        "Id": "ea1ee49c5b41098cc2c443084d2aadca01494c16deef6be189c057b540b866f4",
        "Created": "2025-04-08T15:41:42.974521141Z",
        "Path": "sh",
        "Args": [
            "./scripts/docker/create-user.sh",
            "sh",
            "./scripts/docker/entrypoint.sh"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 175032,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2025-04-08T15:41:55.072680338Z",
            "FinishedAt": "0001-01-01T00:00:00Z",
            "Health": {
                "Status": "unhealthy",
                "FailingStreak": 19,
                "Log": [
                    {
                        "Start": "2025-04-08T21:14:28.798161531+05:30",
                        "End": "2025-04-08T21:14:28.960625522+05:30",
                        "ExitCode": 1,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\ncurl: (7) Failed to connect to localhost port 3000 after 7 ms: Could not connect to server\n"
                    },
                    {
                        "Start": "2025-04-08T21:14:38.962441116+05:30",
                        "End": "2025-04-08T21:14:39.123547027+05:30",
                        "ExitCode": 1,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\ncurl: (7) Failed to connect to localhost port 3000 after 7 ms: Could not connect to server\n"
                    },
                    {
                        "Start": "2025-04-08T21:14:49.12528039+05:30",
                        "End": "2025-04-08T21:14:49.262987412+05:30",
                        "ExitCode": 1,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\ncurl: (7) Failed to connect to localhost port 3000 after 7 ms: Could not connect to server\n"
                    },
                    {
                        "Start": "2025-04-08T21:14:59.264752149+05:30",
                        "End": "2025-04-08T21:14:59.417018112+05:30",
                        "ExitCode": 1,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\ncurl: (7) Failed to connect to localhost port 3000 after 9 ms: Could not connect to server\n"
                    },
                    {
                        "Start": "2025-04-08T21:15:09.418788732+05:30",
                        "End": "2025-04-08T21:15:09.551714401+05:30",
                        "ExitCode": 1,
                        "Output": "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\ncurl: (7) Failed to connect to localhost port 3000 after 9 ms: Could not connect to server\n"
                    }
                ]
            }
        },
        "Image": "sha256:f4877237ae80b5b06642246ba5e006f3d86b67af7001b6a8aacb368cd2919e5f",
        "ResolvConfPath": "/var/lib/docker/containers/ea1ee49c5b41098cc2c443084d2aadca01494c16deef6be189c057b540b866f4/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/ea1ee49c5b41098cc2c443084d2aadca01494c16deef6be189c057b540b866f4/hostname",
        "HostsPath": "/var/lib/docker/containers/ea1ee49c5b41098cc2c443084d2aadca01494c16deef6be189c057b540b866f4/hosts",
        "LogPath": "/var/lib/docker/containers/ea1ee49c5b41098cc2c443084d2aadca01494c16deef6be189c057b540b866f4/ea1ee49c5b41098cc2c443084d2aadca01494c16deef6be189c057b540b866f4-json.log",
        "Name": "/pangolin-pingvin-share-1",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/home/toktok/pangolin_docker/data:/opt/app/backend/data:rw",
                "/home/toktok/pangolin_docker/data/images:/opt/app/frontend/public/img:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "pangolin",
            "PortBindings": {
                "3000/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "3000"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/interrupts",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "ID": "ea1ee49c5b41098cc2c443084d2aadca01494c16deef6be189c057b540b866f4",
                "LowerDir": "/var/lib/docker/overlay2/bf705f133991318d94a7f4dcac6c3dd8662ab49253df94cea6e47ee1c659bbf7-init/diff:/var/lib/docker/overlay2/39d6b7b762ae836d867a3be81aa14dae562cac57b02111e78c705b4a498bc0d9/diff:/var/lib/docker/overlay2/b40e8bf2f4c707ada5e7b43624d66ba7f78afe53dd43d8090e3ec29437d5a54d/diff:/var/lib/docker/overlay2/83689fb0844c85e300cb485282bef5e6cebf2ddbbd2c95e9e664288cae506387/diff:/var/lib/docker/overlay2/11c26dff891fc9f599aab286acb309d341d8a0565f8d174ce08cf3509730a154/diff:/var/lib/docker/overlay2/121c128c540d179c1c5d29c0c375f640c8cb69621fb401eb05f5aa6d13e3e847/diff:/var/lib/docker/overlay2/85cb8dcd7abba3b138edd35ef11d8efd99e4df28958086995dbed8d5cfe81b7e/diff:/var/lib/docker/overlay2/3c39cbd972a91cd2e585696bf9fa99027602ebd2c9843a8260dcb79e31808788/diff:/var/lib/docker/overlay2/4277d66eef13745d301f6535b1c672921745d2dda9d9fd04fbc079d758634fbc/diff:/var/lib/docker/overlay2/e6948a600931d4d6b30a48b644e60e73ac95b48eed3ed173764957b7c58bb3df/diff:/var/lib/docker/overlay2/ec697f8afc0fb080173cfdc02037c0ecf2b7db04997d890ab9e97c0f1c347658/diff:/var/lib/docker/overlay2/10561a4aad57e8539cce57b85a057ca9111e8d94be50eb2b342476e58b9a1441/diff:/var/lib/docker/overlay2/132460ee20b228f35faeb429023b806a0f46a2605c455a0ad794b45a7307a70c/diff:/var/lib/docker/overlay2/cfa0bb63d9c66fe1e0feab6015319f630600bd7baa31d6e363bc66a20642bb63/diff:/var/lib/docker/overlay2/1c5e83804235d3791db75890fed920d1e9ab8d3d4384dc35f54e437a3f6c1dcf/diff:/var/lib/docker/overlay2/23e43255a53a420c88f936651f6a3c84dad5877a49026da48472684e54199a33/diff:/var/lib/docker/overlay2/dd8947fb5061082d239ea40daa5bfc15f3afcdc3331e22d369919f3fae4a6e36/diff:/var/lib/docker/overlay2/70b44b3cd966d09f1725757db21a2c23f5f45d173c7d4b2cf1f7068101e648e9/diff:/var/lib/docker/overlay2/e884ec064fc3c89dfbcb4d91bd3251e6c72942467bc46c9eaefb701ab7271d5a/diff:/var/lib/docker/overlay2/15766269f9dec1431530976adc2cfeebb8c202b60a8bc5002704e80f95133208/diff:/var/lib/docker/overlay2/5e63b76382152fde9c0fb25a7f2805807237da6ddf9f275279bb09ac1583e3f6/diff",
                "MergedDir": "/var/lib/docker/overlay2/bf705f133991318d94a7f4dcac6c3dd8662ab49253df94cea6e47ee1c659bbf7/merged",
                "UpperDir": "/var/lib/docker/overlay2/bf705f133991318d94a7f4dcac6c3dd8662ab49253df94cea6e47ee1c659bbf7/diff",
                "WorkDir": "/var/lib/docker/overlay2/bf705f133991318d94a7f4dcac6c3dd8662ab49253df94cea6e47ee1c659bbf7/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/toktok/pangolin_docker/data",
                "Destination": "/opt/app/backend/data",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/toktok/pangolin_docker/data/images",
                "Destination": "/opt/app/frontend/public/img",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "ea1ee49c5b41",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "3000/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "BACKEND_PORT=8080:8080",
                "API_URL=http://localhost:8080",
                "CADDY_DISABLED=true",
                "TRUST_PROXY=false",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "NODE_VERSION=20.19.0",
                "YARN_VERSION=1.22.22",
                "NODE_ENV=docker"
            ],
            "Cmd": [
                "sh",
                "./scripts/docker/entrypoint.sh"
            ],
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "curl -f http://localhost:3000/api/health || exit 1"
                ],
                "Interval": 10000000000,
                "Timeout": 3000000000
            },
            "Image": "stonith404/pingvin-share",
            "Volumes": null,
            "WorkingDir": "/opt/app",
            "Entrypoint": [
                "sh",
                "./scripts/docker/create-user.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "e4e1747c7a28889759f41067eb1d10667ef0c8ec1d451796c5c7ef0eb55043e2",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "pangolin:service_healthy:false",
                "com.docker.compose.image": "sha256:f4877237ae80b5b06642246ba5e006f3d86b67af7001b6a8aacb368cd2919e5f",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "pangolin",
                "com.docker.compose.project.config_files": "/home/toktok/pangolin_docker/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/home/toktok/pangolin_docker",
                "com.docker.compose.service": "pingvin-share",
                "com.docker.compose.version": "2.34.0",
                "org.opencontainers.image.created": "2025-04-06T18:39:52.509Z",
                "org.opencontainers.image.description": "A self-hosted file sharing platform that combines lightness and beauty, perfect for seamless and efficient file sharing.",
                "org.opencontainers.image.licenses": "BSD-2-Clause",
                "org.opencontainers.image.revision": "4d1ce8aa4979b734391f4729a327aaf1aff060d3",
                "org.opencontainers.image.source": "https://github.com/stonith404/pingvin-share",
                "org.opencontainers.image.title": "pingvin-share",
                "org.opencontainers.image.url": "https://github.com/stonith404/pingvin-share",
                "org.opencontainers.image.version": "v1.11.1"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "dcdc90ddabdf0b2ff89a01d3d507df403a70cb6cf79330d4a0e71d3ac3415d47",
            "SandboxKey": "/var/run/docker/netns/dcdc90ddabdf",
            "Ports": {
                "3000/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "3000"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "3000"
                    }
                ]
            },
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "pangolin": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "pangolin-pingvin-share-1",
                        "pingvin-share"
                    ],
                    "MacAddress": "a6:1e:98:86:05:3f",
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "e1f03fa84ed03c6d7be931019e23ddc2a9c8e5c19b648c0957138d8d709f782f",
                    "EndpointID": "bae25ede04131a7c42c8332a29c463561f8753512605efcba234b20c48785bf1",
                    "Gateway": "172.18.0.1",
                    "IPAddress": "172.18.0.3",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "pangolin-pingvin-share-1",
                        "pingvin-share",
                        "ea1ee49c5b41"
                    ]
                }
            }
        }
    }
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions