Skip to content

Commit 27a3ed2

Browse files
committed
chore: add .env.example, ShellCheck workflow, enhance README with badges
1 parent 2877a1f commit 27a3ed2

4 files changed

Lines changed: 62 additions & 9 deletions

File tree

.env.example

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Docker Compose environment variables
2+
# Copy this to .env and adjust values for your setup
3+
4+
# Timezone for containers (e.g., Europe/Budapest, America/New_York)
5+
TZ=UTC
6+
7+
# Kopia Web UI credentials
8+
KOPIA_USERNAME=admin
9+
10+
# Healthchecks secret key (change for production!)
11+
SECRET_KEY=change-me-to-random-string

.github/workflows/shellcheck.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: ShellCheck
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- '**.sh'
8+
- '.github/workflows/shellcheck.yml'
9+
pull_request:
10+
branches: [main]
11+
paths:
12+
- '**.sh'
13+
- '.github/workflows/shellcheck.yml'
14+
15+
jobs:
16+
shellcheck:
17+
name: Lint Shell Scripts
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
23+
- name: Run ShellCheck
24+
uses: ludeeus/action-shellcheck@master
25+
with:
26+
scandir: './scripts'
27+
severity: warning
28+
format: gcc

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ secrets/
77
*.pem
88
.env
99
.env.*
10+
!.env.example
1011

1112
# Data, dumps, caches, generated artifacts
1213
/data/

README.md

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
````markdown
12
# Debian Kopia Backup Stack
23

4+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5+
[![Template](https://img.shields.io/badge/repo-template-blue)](https://github.com/elightsys/debian-kopia-backup-stack/generate)
6+
[![ShellCheck](https://github.com/elightsys/debian-kopia-backup-stack/actions/workflows/shellcheck.yml/badge.svg)](https://github.com/elightsys/debian-kopia-backup-stack/actions/workflows/shellcheck.yml)
7+
[![Shell](https://img.shields.io/badge/shell-bash-green.svg)](https://www.gnu.org/software/bash/)
8+
39
Production-ready backup template for **Debian 12 + Docker**:
410

511
- 🔐 **Kopia** repository (encrypted, deduplicated) with **Web UI**
@@ -17,25 +23,32 @@ Production-ready backup template for **Debian 12 + Docker**:
1723

1824
## Quick start (local test)
1925

20-
1. Clone the repo and prepare secrets:
26+
1. **Clone and prepare secrets**:
2127
```bash
28+
git clone https://github.com/elightsys/debian-kopia-backup-stack.git
29+
cd debian-kopia-backup-stack
2230
cp -r secrets.example secrets
23-
# edit the two files and set strong passwords
31+
# Edit secrets/kopia_repo_password.txt and secrets/kopia_ui_password.txt
2432
```
25-
2. (Optional) Adjust timezone/user in `.env`:
26-
```env
27-
TZ=America/New_York
28-
KOPIA_USERNAME=admin
33+
34+
2. **Configure environment**:
35+
```bash
36+
cp .env.example .env
37+
# Edit .env: set TZ (e.g., Europe/Budapest) and KOPIA_USERNAME
2938
```
30-
3. Start services (Kopia, Apprise, Healthchecks):
39+
40+
3. **Start services** (Kopia, Apprise, Healthchecks):
3141
```bash
3242
make up
3343
```
34-
4. Trigger your first backup:
44+
45+
4. **Trigger your first backup**:
3546
```bash
3647
make backup
3748
```
38-
5. Open the **Kopia Web UI** at `http://<server>:51515` → login with `KOPIA_USERNAME` and the password you placed in `secrets/kopia_ui_password.txt`.
49+
50+
5. **Open the Kopia Web UI** at `http://<server>:51515`
51+
→ login with your `KOPIA_USERNAME` and the password from `secrets/kopia_ui_password.txt`.
3952

4053
### What gets snapshotted by default?
4154
- `./data/docker/` → put your Docker configs/volumes you want to include

0 commit comments

Comments
 (0)