-
-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
46 lines (44 loc) · 1.79 KB
/
docker-compose.yml
File metadata and controls
46 lines (44 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Borg Backup Server — Docker Compose
#
# Quick start:
# 1. Copy .env.example to .env and edit it:
# cp .env.example .env
# 2. Set APP_URL to this machine's hostname or IP (required for agents to connect)
# 3. Start the container:
# docker compose up -d
# 4. View admin credentials:
# docker compose logs bbs
#
# All data (database, repositories, SSH keys) is stored in the bbs-data volume.
services:
bbs:
image: marcpope/borgbackupserver:latest
# build: . # uncomment to build locally instead of pulling from Docker Hub
container_name: bbs
ports:
- "${WEB_PORT:-8080}:80" # Web UI
- "${SSH_PORT:-2222}:22" # SSH for borg agent connections
environment:
- APP_URL=${APP_URL:-http://localhost:8080}
- SSH_PORT=${SSH_PORT:-2222}
# Map the app user (www-data) to your host user's UID/GID. Fixes permission
# issues with bind mounts, especially on btrfs filesystems (e.g. Synology).
# Changing these after first run triggers an automatic ownership migration.
# Find your values with: id -u && id -g
# - PUID=${PUID:-33}
# - PGID=${PGID:-33}
# Advanced: remap MariaDB / ClickHouse UIDs too (see .env.example)
# - MYSQL_PUID=${MYSQL_PUID:-100}
# - MYSQL_PGID=${MYSQL_PGID:-100}
# - CH_PUID=${CH_PUID:-999}
# - CH_PGID=${CH_PGID:-999}
# Admin password — only used on first run. Omit to auto-generate (shown in logs).
# - ADMIN_PASS=${ADMIN_PASS}
volumes:
- bbs-data:/var/bbs
# To store backups on a specific disk or path instead of Docker's internal storage,
# replace the line above with a bind mount:
# - /mnt/backups:/var/bbs
restart: unless-stopped
volumes:
bbs-data: # Remove this 'volumes' section entirely if using a bind mount above