diff --git a/Cargo.lock b/Cargo.lock index 1def6bb..c30e568 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -350,7 +350,7 @@ dependencies = [ [[package]] name = "cup" -version = "2.2.1" +version = "2.2.2" dependencies = [ "bollard", "chrono", diff --git a/Cargo.toml b/Cargo.toml index 67615a4..6db6ee6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cup" -version = "2.2.1" +version = "2.2.2" edition = "2021" [dependencies] diff --git a/docs/assets/350767810-42eccc89-bdfd-426a-a113-653abe7483d8.png b/docs/assets/350767810-42eccc89-bdfd-426a-a113-653abe7483d8.png new file mode 100644 index 0000000..2fc2f3a Binary files /dev/null and b/docs/assets/350767810-42eccc89-bdfd-426a-a113-653abe7483d8.png differ diff --git a/docs/assets/358304960-e9f26767-51f7-4b5a-8b74-a5811019497b.jpeg b/docs/assets/358304960-e9f26767-51f7-4b5a-8b74-a5811019497b.jpeg new file mode 100644 index 0000000..f8ed960 Binary files /dev/null and b/docs/assets/358304960-e9f26767-51f7-4b5a-8b74-a5811019497b.jpeg differ diff --git a/docs/pages/docs/_meta.json b/docs/pages/docs/_meta.json index 0323668..c2da5cd 100644 --- a/docs/pages/docs/_meta.json +++ b/docs/pages/docs/_meta.json @@ -11,6 +11,9 @@ "usage": { "title": "Usage" }, + "community-resources": { + "title": "Community Resources" + }, "nightly": { "title": "Using the latest version" } diff --git a/docs/pages/docs/community-resources/docker-compose.mdx b/docs/pages/docs/community-resources/docker-compose.mdx new file mode 100644 index 0000000..896bcbd --- /dev/null +++ b/docs/pages/docs/community-resources/docker-compose.mdx @@ -0,0 +1,23 @@ +# Docker Compose + +Many users find it useful to run Cup with Docker Compose, as it enables them to have it constantly running in the background and easily control it. Cup's lightweight resource usae makes it ideal for this use case. + +There have been requests for an official Docker Compose file, but I believe you should customize it to your needs. + +Here is an example of what I would use (by [@ioverho](https://github.com/ioverho)): + +```yaml +services: + cup: + image: ghcr.io/sergi0g/cup:latest + container_name: cup # Optional + restart: unless-stopped + command: -c /config/cup.json serve + ports: + - 8000:8000 + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./cup.json:/config/cup.json +``` + +This can be customized further of course, if you choose to use a different port, another config location, or would like to change something else. Have fun! \ No newline at end of file diff --git a/docs/pages/docs/community-resources/homepage-widget.mdx b/docs/pages/docs/community-resources/homepage-widget.mdx new file mode 100644 index 0000000..46f1798 --- /dev/null +++ b/docs/pages/docs/community-resources/homepage-widget.mdx @@ -0,0 +1,75 @@ +import Image from 'next/image'; +import widget1 from '../../../assets/350767810-42eccc89-bdfd-426a-a113-653abe7483d8.png' +import widget2 from '../../../assets/358304960-e9f26767-51f7-4b5a-8b74-a5811019497b.jpeg' + +# Homepage Widget + +Some users have asked for a homepage widget. + +## Docker Compose with the widget configured via labels: + +```yaml +services: + cup: + image: ghcr.io/sergi0g/cup + container_name: cup + command: -c /config/cup.json serve -p 8000 + volumes: + - ./config/cup.json:/config/cup.json + - /var/run/docker.sock:/var/run/docker.sock + ports: + - 8000:8000 + restart: unless-stopped + labels: + homepage.group: Network + homepage.name: Cup + homepage.icon: /icons/cup-with-straw.png + homepage.href: http://myserver:8000 + homepage.ping: http://myserver:8000 + homepage.description: Checks for container updates + homepage.widget.type: customapi + homepage.widget.url: http://myserver:8000/json + homepage.widget.mappings[0].label: Monitoring + homepage.widget.mappings[0].field.metrics: monitored_images + homepage.widget.mappings[0].format: number + homepage.widget.mappings[1].label: Up to date + homepage.widget.mappings[1].field.metrics: up_to_date + homepage.widget.mappings[1].format: number + homepage.widget.mappings[2].label: Updates + homepage.widget.mappings[2].field.metrics: update_available + homepage.widget.mappings[2].format: number +``` +Preview: + + +Credit: [@agrmohit](https://github.com/agrmohit) + +## Widget in Homepage's config file format: + +```yaml +widget: + type: customapi + url: http://:9000/json + refreshInterval: 10000 + method: GET + mappings: + - field: + metrics: monitored_images + label: Monitored images + format: number + - field: + metrics: up_to_date + label: Up to date + format: number + - field: + metrics: update_available + label: Available updates + format: number + - field: + metrics: unknown + label: Unknown + format: number +``` +Preview: + +Credit: [@remussamoila](https://github.com/remussamoila) \ No newline at end of file