GithubHelp home page GithubHelp logo

rrroyal / harbour Goto Github PK

View Code? Open in Web Editor NEW
552.0 12.0 22.0 40.6 MB

Docker/Portainer management app for iOS, iPadOS and macOS.

Home Page: https://harbour.shameful.xyz

License: GNU Affero General Public License v3.0

Swift 99.31% Ruby 0.51% Shell 0.18%
swiftui ios-app docker-client ios-swift ios ipados ipados-app ios18 macos macos-app

harbour's Introduction

Harbour App Icon

Harbour

Docker/Portainer management app for iOS, iPadOS and macOS.

Features

  • Multiple Servers and Endpoints
  • Widgets
  • App Intents and Shortcuts
  • Handoff
  • Background Notifications
  • Spotlight Integration
  • Link-backs to Portainer
  • No Telemetry

Containers

  • Displaying Details (Health, Environment, Labels, Mounts, Networks)
  • Inspecting Logs
  • Managing State
  • Deploying New Containers
  • Editing Existing Containers
  • Removing Containers

Stacks

  • Displaying Details
  • Managing State
  • Deploying New Stacks
  • Editing Existing Stacks
  • Removing Stacks

Installation

Download on the App Store

Alternative Methods

  • Sideload .ipa from releases
  • Build it yourself

harbour's People

Contributors

rrroyal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

harbour's Issues

Self-Signed Certificates support

I run Portainer with a self-signed SSL certificate. Would be handy to have an option (defaulted to "off") for ignoring certificate validation errors. I can't currently use Harbour because of this.

Log search

Is your feature request related to a problem? Please describe.
Find specific logs

Describe the solution you'd like
Ability to search in logs by word

Better Portainer Switching

It would be great if there was an easier way to switch between Portainer instances. Currently switching Portainer hosts can only be done in settings and when doing so it's quite easy to accidentally hit "delete" instead of "use".

I'd love to have the ability to select which to use from the "local" dropdown on the main screen.

... Thanks for this app, it makes managing containers so much easier!

Can not load endpoints after login.

Describe the bug
Can not load endpoints after login. Same issue after every attempt. It looks as if the results returned by the endpoints interface cannot be parsed.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Log in' page
  2. Enter the correct url, credentials.
  3. Click on 'Log in'
  4. See error

Expected behavior
A dashboard page of all endpoints after login.

Details:

  • Device: iPhone 11
  • OS: iOS 15.3
  • Harbour version v2.0.0#5
  • Portainer version 2.11.0

Additional context
In my portainer instance there are three endpoints :

Endpoints interface return :

[
  {
    "Id": 1,
    "Name": "hass.io",
    "Type": 1,
    "URL": "unix:///var/run/docker.sock",
    "GroupId": 1,
    "PublicURL": "",
    "TLSConfig": {
      "TLS": false,
      "TLSSkipVerify": false
    },
    "Extensions": [],
    "AzureCredentials": {
      "ApplicationID": "",
      "TenantID": "",
      "AuthenticationKey": ""
    },
    "TagIds": [],
    "Status": 1,
    "Snapshots": [
      {
        "Time": 1643508346,
        "DockerVersion": "20.10.9",
        "Swarm": false,
        "TotalCPU": 2,
        "TotalMemory": 2076291072,
        "RunningContainerCount": 14,
        "StoppedContainerCount": 0,
        "HealthyContainerCount": 0,
        "UnhealthyContainerCount": 0,
        "VolumeCount": 0,
        "ImageCount": 23,
        "ServiceCount": 0,
        "StackCount": 0,
        "DockerSnapshotRaw": {
          "Containers": null,
          "Volumes": null,
          "Networks": null,
          "Images": null,
          "Info": null,
          "Version": null
        },
        "NodeCount": 0
      }
    ],
    "UserAccessPolicies": {},
    "TeamAccessPolicies": {},
    "EdgeKey": "",
    "EdgeCheckinInterval": 5,
    "Kubernetes": {
      "Snapshots": [],
      "Configuration": {
        "UseLoadBalancer": false,
        "UseServerMetrics": false,
        "StorageClasses": [],
        "IngressClasses": [],
        "RestrictDefaultNamespace": false
      }
    },
    "ComposeSyntaxMaxVersion": "3.9",
    "SecuritySettings": {
      "allowBindMountsForRegularUsers": true,
      "allowPrivilegedModeForRegularUsers": true,
      "allowVolumeBrowserForRegularUsers": false,
      "allowHostNamespaceForRegularUsers": true,
      "allowDeviceMappingForRegularUsers": true,
      "allowStackManagementForRegularUsers": true,
      "allowContainerCapabilitiesForRegularUsers": true,
      "allowSysctlSettingForRegularUsers": true,
      "enableHostManagementFeatures": false
    },
    "LastCheckInDate": 0,
    "AuthorizedUsers": null,
    "AuthorizedTeams": null,
    "Tags": null
  },
  {
    "Id": 4,
    "Name": "cloud",
    "Type": 4,
    "URL": "http://127.0.0.1:0",
    "GroupId": 1,
    "PublicURL": "xxx.xxx",
    "TLSConfig": {
      "TLS": false,
      "TLSSkipVerify": false
    },
    "Extensions": [],
    "AzureCredentials": {
      "ApplicationID": "",
      "TenantID": "",
      "AuthenticationKey": ""
    },
    "TagIds": [],
    "Status": 1,
    "Snapshots": [
      {
        "Time": 1643450007,
        "DockerVersion": "20.10.12",
        "Swarm": false,
        "TotalCPU": 1,
        "TotalMemory": 2083811328,
        "RunningContainerCount": 4,
        "StoppedContainerCount": 1,
        "HealthyContainerCount": 0,
        "UnhealthyContainerCount": 0,
        "VolumeCount": 2,
        "ImageCount": 8,
        "ServiceCount": 0,
        "StackCount": 1,
        "DockerSnapshotRaw": {
          "Containers": null,
          "Volumes": null,
          "Networks": null,
          "Images": null,
          "Info": null,
          "Version": null
        },
        "NodeCount": 0
      }
    ],
    "UserAccessPolicies": {},
    "TeamAccessPolicies": {},
    "EdgeID": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx",
    "EdgeKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "EdgeCheckinInterval": 5,
    "Kubernetes": {
      "Snapshots": [],
      "Configuration": {
        "UseLoadBalancer": false,
        "UseServerMetrics": false,
        "StorageClasses": [],
        "IngressClasses": [],
        "RestrictDefaultNamespace": false
      }
    },
    "ComposeSyntaxMaxVersion": "3.9",
    "SecuritySettings": {
      "allowBindMountsForRegularUsers": true,
      "allowPrivilegedModeForRegularUsers": true,
      "allowVolumeBrowserForRegularUsers": false,
      "allowHostNamespaceForRegularUsers": true,
      "allowDeviceMappingForRegularUsers": true,
      "allowStackManagementForRegularUsers": true,
      "allowContainerCapabilitiesForRegularUsers": true,
      "allowSysctlSettingForRegularUsers": true,
      "enableHostManagementFeatures": true
    },
    "LastCheckInDate": 1643508545,
    "AuthorizedUsers": null,
    "AuthorizedTeams": null,
    "Tags": null
  },
  {
    "Id": 5,
    "Name": "nas",
    "Type": 2,
    "URL": "tcp://192.168.2.225:9001",
    "GroupId": 1,
    "PublicURL": "192.168.2.225",
    "TLSConfig": {
      "TLS": true,
      "TLSSkipVerify": true
    },
    "Extensions": [],
    "AzureCredentials": {
      "ApplicationID": "",
      "TenantID": "",
      "AuthenticationKey": ""
    },
    "TagIds": [],
    "Status": 1,
    "Snapshots": [
      {
        "Time": 1643508346,
        "DockerVersion": "20.10.3",
        "Swarm": false,
        "TotalCPU": 2,
        "TotalMemory": 10272227328,
        "RunningContainerCount": 7,
        "StoppedContainerCount": 4,
        "HealthyContainerCount": 1,
        "UnhealthyContainerCount": 0,
        "VolumeCount": 1,
        "ImageCount": 11,
        "ServiceCount": 0,
        "StackCount": 0,
        "DockerSnapshotRaw": {
          "Containers": null,
          "Volumes": null,
          "Networks": null,
          "Images": null,
          "Info": null,
          "Version": null
        },
        "NodeCount": 0
      }
    ],
    "UserAccessPolicies": {},
    "TeamAccessPolicies": {},
    "EdgeKey": "",
    "EdgeCheckinInterval": 5,
    "Kubernetes": {
      "Snapshots": [],
      "Configuration": {
        "UseLoadBalancer": false,
        "UseServerMetrics": false,
        "StorageClasses": [],
        "IngressClasses": [],
        "RestrictDefaultNamespace": false
      }
    },
    "ComposeSyntaxMaxVersion": "3.9",
    "SecuritySettings": {
      "allowBindMountsForRegularUsers": true,
      "allowPrivilegedModeForRegularUsers": true,
      "allowVolumeBrowserForRegularUsers": false,
      "allowHostNamespaceForRegularUsers": true,
      "allowDeviceMappingForRegularUsers": true,
      "allowStackManagementForRegularUsers": true,
      "allowContainerCapabilitiesForRegularUsers": true,
      "allowSysctlSettingForRegularUsers": true,
      "enableHostManagementFeatures": false
    },
    "LastCheckInDate": 0,
    "AuthorizedUsers": null,
    "AuthorizedTeams": null,
    "Tags": null
  }
]

External stacks not visible

Describe the bug
Portainer offers limited functionality for managing "external" stacks, which were spun up with docker-compose. I can see the individual containers in the main view, but the stacks view reports "No Containers". I can confirm that stacks set up from Portainer do show up in the UI

To Reproduce
Steps to reproduce the behavior:

  1. Spin up a docker-compose.yml (outside of Portainer)
  2. Check the Portainer UI - the stack should show up there
  3. Check Harbour - the stack doesn't show up there

Expected behavior
Stacks created outside Portainer should be visible

Details (please complete the following information):

  • Device: iPhone 13
  • OS: iOS 17.0.1
  • Harbour version: 4.0.0
  • Portainer version: 2.19.1

iOS 14?

Been using Harbour on my iPhone 11 Pro before it was even released as a TestFlight beta (sideloaded from github source). Love this project and happy to see that it's moving towards an app store release. One question though - I'm still on iOS 14 for work reasons, and cannot upgrade to iOS 15 yet. Is there any reason why the TestFlight build requires iOS 15 as the minimum compatible version? Any chance for iOS 14 being supported?

Unable to login in the App to Portainer

Describe the bug
Unable to login into the app.

To Reproduce
Steps to reproduce the behavior:

On LAN, after installing from TestFlight and trying to authenticate I provide Portainer URL (https://192.168.0.100:9000) the portainer admin username and password and all I get is a spinning loader. No error no login.

Access to Portainer using same credentials and url works fine from a lan browser.
Expected behavior
Able to login!

Details (please complete the following information):

  • Device: iPhone 12Pro Max
  • OS: iOS 15.1.1
  • Harbour version: latest from TestFlight
  • Portainer version: latesr

Container create command (if applicable):
e.g. docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Additional context
Add any other context about the problem here.

Screenshots
If applicable, add screenshots to help explain your problem.

Update/pull images

Describe the solution you'd like
The ability to manually update/recreate/repull images.

Describe alternatives you've considered
Using the Portainer UI on mobile, which is definitely not ideal.

Allow deployment of containers

Is your feature request related to a problem? Please describe.
I cannot deploy any containers from the app period.

Describe the solution you'd like
A way to use the app templates feature of the portainer web ui to deploy containers.

Describe alternatives you've considered
Obvioudly the web ui works, but the point of the app is to not use the web ui

Edit variables and labels

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
For stopped container add the possibility of edit/add environment variables and or labels.
Describe alternatives you've considered

If portainer API allows it

Additional context
Add any other context or screenshots about the feature request here.

ANSI Console Colors in Container Logs

The Container logs are printed raw into the UI.

If logs contains ANSI Console Colors they are printed, instead the should be colored in the color of the color code.

Ohne Titel

normally it should by like this
Bildschirmfoto 2022-03-30 um 17 59 55

Container details for type 2 do not load properly.

Describe the bug
Container details for type 2 do not load properly, only the log tab loads properly.

Details:

  • Device: iPhone 11
  • OS: iOS 15.3
  • Harbour version v2.0.0#6
  • Portainer version 2.11.1

Screenshots

image

Add container health outout

Hi,

First of all, awesome app! I really do enjoy it! It helps me alot managing my docker containers on the fly.

However, I am missing one small thing, and that is being able to check the container health and its output. For example, I have a container that continously pings and uses that for its health status. Is this possible to display in the app too?

Again, awesome job!

Keychain errors when sideloading

Failed to load token: KeychainKit.Keychain.SecError(status: -34018)

The above is the error I am seeing in the logs. I can add the credentials just fine, but whenever I close the app and reopen it, the credentials go blank. Obviously we want to keep the credentials on the device so that the user can come back without having to add them often.

To Reproduce
Steps to reproduce the behavior:

  1. Install latest version
  2. Add portainer instance using URL and ptr key.
  3. Close app, remove from history
  4. Open app

Expected behavior
To be able to connect properly even when opening the app again.

view container IP address

I run docker containers exclusively using macvlan networks and the ‘ports’ section is understandably empty.

I’d like to see the ‘ports’ section as a ‘networks’ section and see the ip address(es) of the containers.

Support for Instances behind reverse-proxy

Is your feature request related to a problem? Please describe.
For me it's not possible to connect to a portainer instance behind a reverse-proxy like Cloudflare. When I try to use my Domain like https://portainer.mydomain.de it will internally forward my request to the specific host and port like localhost:9001. This works well when you try to access the portainer instance on mobile devices or on a different network.

Describe the solution you'd like
I would like to see a solution to connect to instances behind a reverse-proxy. Additionally a separated debug mode to see possible detailed error messages when connecting would be nice because I only see "Unknown Error".
Another great feature would be to make it possible to add custom headers to the connection. For example external used tokes to authenticate to Cloudflare access or other firewall solutions to bypass them.

Additional Info
I can provide you with a test-portainer instance with reverse proxy to test on if you like to.

The log cannot be displayed in Chinese

Describe the bug

The log cannot be displayed in Chinese.

Details (please complete the following information):

  • Device: iPhone13
  • OS: ios16.beta6
  • Harbour version v2.0.0
  • Portainer version 2.9.2

Container create command (if applicable):
e.g. docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Screenshots
image

SSL needed to connect to Portainer

Bought this app, looks great but I can’t use it.

Is your feature request related to a problem? Please describe.
Can’t connect to Portainer instance without SSL. I connect through local network (with or without VPN).

Describe the solution you'd like
I would like to be able to connect to my portainer instance without HTTPS (or reverse proxy)

Describe alternatives you've considered
Refund, because I just can’t use it.

Crashing on Launch

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Install from IPA using Trollstore
  2. (Try) to open app
    Expected behavior
    The app opens

Details (please complete the following information):

  • Device: [iPhone 12 Pro]
  • OS: [iOS 15.4]
  • Harbour version [v3.0.0#6]
  • Portainer version [NA]

Additional context
Opening does not open the app.

Install Harbour

How to get the redeem link to use the app on test flight ??

Question about notifications

Hi,

I’m just trying to understand some of the notifications I receive from this app. I have successfully connected it to Portainer where I have about 20 running containers.

But I only get the notification I’m referencing about Plex.

Here’s what it says…

D:I:Plexdows and D:R:Plexdows changed their states.
D:I:Plexdows: Up 29 hours
D:R:Plexdows: Unknown

Plexdows is just what I called the container.

But why are there two listed? I only have one container for Plex. And what does changed states mean? I check the logs for Plex and don’t see anything going on. And I don’t get these notifications for any other containers.
Also what do D:I and D:R mean?

Im relatively new at Docker so apologies if I should know what these things mean.

Thanks

iPadOS Widgets don't open container

Describe the bug
On my iPhone, it works as expected. If I tap a container in a widget, it opens in the harbour app. If I tap a container in a widget on iPad OS, it shows a yellow caution sign.

This happens on all widgets (1, 2, and 4 containers)

To Reproduce

  1. Add widget to iPad home screen.
  2. Add containers to widget.
  3. Tap container in widget.

Expected behavior
It's expected to operate as it does on IOS where the specific container that was tapped opens up in harbour

Details (please complete the following information):

  • Device: iPad Pro 11" (3rd Generation)
  • OS: iPadOS 17.4.1
  • Harbour version: v4.1.0
  • Portainer version: 2.19.4

Container create command (if applicable):
n/a

Additional context
none

Screenshots
none

Stuck at loading

Describe the bug
Harbour is stuck at loading. When logging off and on again, all working fine. When the app is closed some time and want to reopen, it does not open. Stuck at loading , and on top “refreshing”

Expected behavior
A working refresh and login

Details (please complete the following information):

  • Device: iPhone 12 Pro
  • OS: ios 15.1
  • Harbour version 2.0.0(4)
  • Portainer version: 2.11.0

The data couldn't be read because it is missing

Describe the bug
App show an error but there aren't any error
error: Error! The data couldn't be read because it is missing

Details

  • Device: 13,2 (12)
  • OS: 15.6
  • Harbour version v2.0.0#7
  • Portainer version [e.g. 2.9.2]

**Container create command **:
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v portainer_data:/data portainer/portainer-ce

Screenshots
IMG_364313A309FF-1
IMG_81559436CAC1-1

App reset after closing

Describe the bug
When closing the app from app switcher and restart the app all settings are gone and I need to relogin (which needs to create a new token each time)

To Reproduce
Steps to reproduce the behavior:

  1. Start app and do the setup
  2. Close the app from app switcher
  3. Restart app

Expected behavior
Settings should be saved

Details (please complete the following information):

  • Device: iPhone 12
  • OS: iOS 16.4
  • Harbour version: 3.0.0
  • Portainer version: 2.18.3

Container create command (if applicable):
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Additional context
I sideloaded the app via Signulous. But I tried on TestFlight as well, same issue.

Beta Expired

Hi, the current version in TestFlight is expired.

Could you create a new build.

Expire TestFlight IOS

Hi,

Hopefully you are already aware but the TestFlight version is going to expire in 9 days.

Is there maybe a new version with lots of goodies?

Many thanks

Renew iOS TestFlight

Would it be possible to push a new build of the TestFlight on iOS? The other one has expired. Love the app!

Error "Invalid URL" with correct Portainer URL

Describe the bug
I am entering my Portainer endpoint which is located at https://my.domain.com/portainer/ (trailing slash is important here) and add my credentials to login. I get the error message "Invalid URL" even though the endpoint works and I can login at that URL in the browser.

To Reproduce
Steps to reproduce the behavior:
Login with an external HTTPS Portainer URL and subpath e.g. /portainer/ that ends in a trailing slash

Expected behavior
I should be able to login with my external URL

Details (please complete the following information):

  • Device: iPhone 12 Pro
  • OS: iOS 15.3.1
  • Harbour version v2.0.0#5
  • Portainer version 2.11.1

Additional context
If I enter the address without "https://" I get an endlessly spinning circle.
If I enter my internal Container IP address and Port http://xxx.xxx.xxx.xxx:9000 I can login.

The Container is deployed normally with a docker compose file and exposed via Traefik. Though my current setup explicitly needs the URL to end in /portainer/ with the trailing slash.

Filter Stacks by Environment

The stacks button shows all stacks across all Environments on my Portainer. Could you please consider only showing stacks for the currently selected environment.

I have three separate docker servers (not running in swarm mode) and some of them have the same stack names; when I select stacks in Harbour it shows the same stack three times, filtering this list will only show stacks of relevance for the environment I'm working in at the time.

Thanks!

iOS 16 and lower compatibility

Is there a reason why the app will only be available for iOS 17? It was working well in iOS 16 before. And I don't think I will be the only one not upgrading to 17 in the foreseeable future.

V4 Testflight

Not sure if this is just me but I’m still stuck on v3 in TestFlight and it expires in 3 days.

Has v4 been pushed to TestFlight yet?

No Issue but....

I just want to say this app is becoming one the best apps I tried to manage containers. It's maturing very nicely.
Job well done @rrroyal 🎉🙌

Multiple Portainer

Hello

Coudl you ease multiple portainer selection (something near settings maybe ?)

Awesome APP

Beta Expired

Beta expired message. App no longer showing in TestFlight for me.

Link on the readme shows they TestFlight is full.

User agent

Is your feature request related to a problem? Please describe.

Accessing the server with local ip is fine for when I'm home, but I'd kind of like to allow Harbour to bypass certain rules in my waf on cloudflare. Currently the user agent seems to be reported as Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1

(I'm not sure if this is accurate, it's difficult to pinpoint the right log)

Describe the solution you'd like

I was wondering if you could add something to the user agent/change it, so that it could be used to identify Harbour.

Widgets for container status

Is your feature request related to a problem? Please describe.
Not related to any problem.

Describe the solution you'd like
Widgets that show container status (online, stopped, crashed, whatever portainer knows)

Unrelated
Not sure if it's on the feature list, but ram/cpu usage per container as well

Selecting an option for a container only works briefly

First off thanks for making this open source! The design is fantastic, it feels more useful, in a lot of ways, than Portainer because it's less intimidating and has a very crisp UI.

Describe the bug
Whenever I select a container, then select one of the four options near the top (Mounts, Config, Network, or Logs), it successfully loads that screen, but after 1-5 seconds it kicks me out of that screen, back to the container view. Here's a screen recording of the behavior That link seems broken, try this instead

Additionally, and this is much more minor, but in the settings menu, when I click on the first option, which is the dropdown with my server name, it shows two identical instances of the server, and shows that they're both "in use". Screenshot

To Reproduce
Steps to reproduce the behavior:

  1. Select any active container from the main menu
  2. Select either "Mounts", "Network", "Config", or "Logs"
  3. Wait

Expected behavior
Allow browsing of these menus

Details (please complete the following information):

  • Device: iPhone 12 Pro Max
  • OS: iOS 15.4.1
  • Harbour version v2.0.0#7 (Tried both TestFlight and Sideloaded)
  • Portainer version 2.14.1

App Does Nothing After Setup

Describe the bug
After setting up the app, I cannot pick an endpoint, even after refreshing the page and restarting the app.

The logs are empty and I get no error messages.

Any help would be great :)

Screenshots

image
image

"At-A-Glance" Type Views

The default container view of all stopped/running containers does not give the viewer any sense of context. Are all services healthy? Are all services up (i.e. 1/1, 3/3, or 9/9)? Is the environment good?

In the container world, I don't care about containers. Kittens vs Cattle. I want to know the environment is healthy, if the stacks are running, if the services are fully scheduled. That's "green" to me.

If I care about a container or diving deep, then let me drill down, but I feel my first layer view should tell me all the things I need to know. Seeing a list of containers, both stopped and running is confusing to know if "my environment is healthy or not". A list of containers is only useful when I have less than 5 containers and I know and care for all of them (kittens). In a "cattle" environment, I care about stacks, services, and health checks. I can't remember the names of all 36 of my running containers.

The stack details view has all the information I need to know I'm good.

image

All of my services are fully scheduled (1/1 and 3/3), and the last update was what I expected it to be. I don't need to look at any container because I know everything is up.

I recently put Authentik in front of my Portainer URL for added security. But now Harbour cannot access. Is there a URL that I need to whitelist in Authentik?

Title basically says it. I have an NGINX Proxy Manager URL that I use to access Portainer but began to realize how insecure that is so I put Authentik in front of it.

But now I can’t use Harbour. I know there’s a feature in Authentik to not require authentication on a specific path for instances like this. Any idea what I should try?

thanks

Unable to connect to server (404 error)

Good morning.

I am having trouble connecting to my Portainer container.
I have the correct URL and API key as I can make the API calls via curl and get a response.

I am using Portainer BE 2.19 and App Store version of Harbour.
I am connecting on port 9443 which is using a self signed certificate.

All I get from the debug logs is:
Error: PortainerKit.Portainer.PortainerError.responseCodeUnacceptable(404)

Docker swarm “container not found”

Describe the bug
Basically when using harbour with docker swarm, i get overview of all containers present, but when clicking on one container seems to work 1 time out of 3 (maybe because i have 3 hosts)

To Reproduce
Steps to reproduce the behavior:

  1. Go to your portainer endpoint
  2. Click on any container
  3. See error “container not found” (1 time out of host count?)

Expected behavior
See container description and buttons to view logs, etc.

Details (please complete the following information):

  • Device: iPhone Mini 13
  • OS: iOS 17.2.1
  • Harbour version v4.0.0 (#34)
  • Portainer version 2.19.4

Screenshots:

IMG_4198

TestFlight expired

The TestFlight has expired. Rejoining the test doesn’t work either. It would be great to get access to the app again.

Thanks for all the work on this great app!

Ability to sort containers based on status or uptime

Is your feature request related to a problem? Please describe.
Ability to sort docker containers based on status and uptime

Describe the solution you'd like
An option to sort containers based on status and uptime

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.