-
-
Notifications
You must be signed in to change notification settings - Fork 391
🐛 Bug Report: Unable to connect to localhost #810
Description
👟 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:3007and 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"
]
}
}
}
}
]