From e6dfa15cfc50c7a7b8be9f42bb84dad2e90d6efd Mon Sep 17 00:00:00 2001
From: anima
Date: Tue, 25 Jun 2024 00:32:27 +0200
Subject: [PATCH] inital version
---
.env.sample | 2 ++
README.md | 53 ++++++++++++++++++++++++++++++++++++++++++++--
docker-compose.yml | 26 +++++++++++++++++++++++
3 files changed, 79 insertions(+), 2 deletions(-)
create mode 100644 .env.sample
create mode 100644 docker-compose.yml
diff --git a/.env.sample b/.env.sample
new file mode 100644
index 0000000..a41b065
--- /dev/null
+++ b/.env.sample
@@ -0,0 +1,2 @@
+BASEDIR=
+INTRANET=
\ No newline at end of file
diff --git a/README.md b/README.md
index 8b35c22..54da200 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,52 @@
-# compose-homepage
+# Homepage Dashboard
+* can be run on single node setup or in swarm
-Homepage Dashboard
\ No newline at end of file
+## howto
+### single node
+#### start container
+```bash
+docker compose up -d
+```
+
+#### stop container (and remove)
+```bash
+docker compose down
+```
+
+#### view logs
+```bash
+docker compose logs -f
+```
+
+#### reload config
+```bash
+docker compose restart
+```
+
+### swarm
+#### start aka deploy
+hint: drone fails to start until git auth source is created and set in vars
+```bash
+docker stack deploy -c docker-compose.yml homepage
+```
+
+#### stop container aka service
+```bash
+docker stack rm homepage
+```
+
+#### view logs
+```bash
+docker service logs homepage -f
+```
+
+#### reload config (no downtime if replica 2 or more)
+```bash
+docker service update hoempage --force
+```
+
+## example caddy config
+```
+git.example.com {
+ reverse_proxy homepage:3000
+}
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..acb892c
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,26 @@
+services:
+ homepage:
+ image: ghcr.io/gethomepage/homepage:latest
+ container_name: homepage
+ restart: unless-stopped
+ env_file:
+ - .env
+ ports:
+ - 3000:3000
+ deploy:
+ replicas: 1
+ placement:
+ max_replicas_per_node: 1
+ update_config:
+ parallelism: 1
+ delay: 10s
+ volumes:
+ - ${basepath:-.}/files:/app/config
+ - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations
+ networks:
+ - backend
+
+networks:
+ backend:
+ name: ${INTRANET:-backend}
+ external: true
\ No newline at end of file