USER darkhttpd
-ENTRYPOINT ["darkhttpd","/www/"]
+ENTRYPOINT ["darkhttpd","/www/", "--no-listing"]
--- /dev/null
+FROM alpine as qemu
+
+ARG QEMU_VERSION="v4.2.0-7"
+
+RUN wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-arm-static && chmod +x qemu-arm-static
+
+FROM arm32v7/alpine:3.11
+
+COPY --from=qemu qemu-arm-static /usr/bin/
+COPY ./ /www/
+
+ENV USER darkhttpd
+ENV GROUP darkhttpd
+ENV GID 911
+ENV UID 911
+
+RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \
+ apk add -U darkhttpd && \
+ rm /usr/bin/qemu-arm-static
+
+USER darkhttpd
+
+ENTRYPOINT ["darkhttpd","/www/","--no-listing"]
--- /dev/null
+FROM alpine as qemu
+
+ARG QEMU_VERSION="v4.2.0-7"
+
+RUN wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-aarch64-static && chmod +x qemu-aarch64-static
+
+FROM arm64v8/alpine:3.11
+
+COPY --from=qemu qemu-aarch64-static /usr/bin/
+COPY ./ /www/
+
+ENV USER darkhttpd
+ENV GROUP darkhttpd
+ENV GID 911
+ENV UID 911
+
+RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \
+ apk add -U darkhttpd && \
+ rm /usr/bin/qemu-aarch64-static
+
+USER darkhttpd
+
+ENTRYPOINT ["darkhttpd","/www/","--no-listing"]
# Homer
+
A dead simple static **HOM**epage for your serv**ER** to keep your services on hand, from a simple `yaml` configuration file.
**Check out the live demo [here](https://homer-demo.netlify.app).**
## Roadmap
-- [ ] Colors / theme customization
-- [ ] Enable PWA support (making possible to "install" - add to homescreen - it)
-- [ ] Improve maintenability (external library import & service workers cached file list.)
+* [ ] Colors / theme customization
+* [ ] Enable PWA support (making possible to "install" - add to homescreen - it)
+* [ ] Improve maintainability (external library import & service workers cached file list.)
## Installation
**How to build / install it?** There is no build system (😱), use it like that! It's meant to be stupid simple & zero maintenance required. Just copy the static files somewhere, and visit the `index.html`.
-
## Configuration
Title, icons, links, colors, and services can be configured in the `config.yml` file, using [yaml](http://yaml.org/) format.
-
```yaml
---
# Homepage configuration
- name: "ansible"
icon: "fab fa-github"
url: "https://github.com/xxxxx/ansible/"
- target: '_blank' # optionnal html a tag target attribute
+ target: '_blank' # optional html a tag target attribute
- name: "Wiki"
icon: "fas fa-book"
url: "https://wiki.xxxxxx.com/"
subtitle: "Continuous integration server"
tag: "CI"
url: "#"
- target: '_blank' # optionnal html a tag target attribute
+ target: '_blank' # optional html a tag target attribute
- name: "RabbitMQ Management"
logo: "/assets/tools/rabbitmq.png"
subtitle: "Manage & monitor RabbitMQ server"
```json
{
- "style": null,
- "title": "Lorem ipsum 42",
- "content": "LA LA LA Lorem ipsum dolor sit amet, ....."
+ "style": null,
+ "title": "Lorem ipsum 42",
+ "content": "LA LA LA Lorem ipsum dolor sit amet, ....."
}
```
this.checkOffline();
try {
this.config = await this.getConfig();
- document.title = this.config.title + ' | Homer';
+ document.title = this.config.title + ' | ' + this.config.subtitle;
} catch (error) {
this.offline = true;
}
- name: "ansible"
icon: "fab fa-github"
url: "https://github.com/bastienwirtz/homer"
- target: '_blank' # optionnal html a tag target attribute
+ target: '_blank' # optional html a tag target attribute
- name: "Wiki"
icon: "fas fa-book"
url: "https://www.wikipedia.org/"
subtitle: "Continuous integration server"
tag: "CI"
url: "https://jenkins.io/"
- target: '_blank' # optionnal html a tag target attribute
+ target: '_blank' # optional html a tag target attribute
- name: "RabbitMQ Management"
logo: "assets/tools/rabbitmq.png"
subtitle: "Manage & monitor RabbitMQ server"
--- /dev/null
+#!/bin/bash
+
+docker manifest push --purge b4bz/homer:latest
+docker manifest create b4bz/homer:latest b4bz/homer:latest-amd64 b4bz/homer:latest-arm32v7 b4bz/homer:latest-arm64v8
+docker manifest annotate b4bz/homer:latest b4bz/homer:latest-arm32v7 --os linux --arch arm
+docker manifest annotate b4bz/homer:latest b4bz/homer:latest-arm64v8 --os linux --arch arm64 --variant v8
+docker manifest push --purge b4bz/homer:latest
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+
+# Update to docker-ee 18.x for manifests
+apt-get -y update
+apt-get -y --only-upgrade install docker-ee
+# Register qemu-*-static for all supported processors except the
+# current one, but also remove all registered binfmt_misc before
+docker run --rm --privileged multiarch/qemu-user-static:register --reset
\ No newline at end of file