Initial commit
This commit is contained in:
13
Dockerfile
Normal file
13
Dockerfile
Normal file
@@ -0,0 +1,13 @@
|
||||
FROM alpine
|
||||
|
||||
# Install SSH & borg CLI
|
||||
RUN apk update
|
||||
RUN apk add openssh
|
||||
RUN apk add borgbackup
|
||||
|
||||
# Create host keys to allow SSHD to start
|
||||
RUN ssh-keygen -A
|
||||
|
||||
COPY ./entrypoint.sh /entrypoint.sh
|
||||
|
||||
CMD ["/entrypoint.sh"]
|
||||
19
README.md
Normal file
19
README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# borgbackup
|
||||
|
||||
This repository contains the `Dockerfile` and `docker-compose.yml` files for running borg in a docker container.
|
||||
|
||||
## Usage
|
||||
|
||||
To use this container, run the supplied `docker-compose.yml` and substitute the `SSH_PASSWORD` environment variable for one of your choice (This is not your borg passphrase that is used to encrypt your backup).
|
||||
|
||||
### Create your first repository
|
||||
|
||||
Create your first repository against the container using:
|
||||
|
||||
```
|
||||
borg init -e repokey borg@<containter ip>:/opt/borg/<repository name>
|
||||
```
|
||||
|
||||
If you have selected another port other than 22, you can change the port used by borg by running `export BORG_RSH="ssh -p <port>"` on the client running the backup command.
|
||||
|
||||
From here you should follow the usage documentation provided on [borgbackup.readthedocs.io](https://borgbackup.readthedocs.io/en/stable/usage/general.html).
|
||||
9
docker-compose.yml
Normal file
9
docker-compose.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
services:
|
||||
borg:
|
||||
image: git.jrdn.dev/jordanwalster/borgbackup:latest
|
||||
ports:
|
||||
- 22:22
|
||||
volumes:
|
||||
- ./borg:/opt/borg
|
||||
environment:
|
||||
- SSH_PASSWORD=value
|
||||
19
entrypoint.sh
Executable file
19
entrypoint.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Create backup user
|
||||
echo "Creating borg backup user"
|
||||
adduser -D borg
|
||||
|
||||
# Set ssh password
|
||||
echo "Updating password..."
|
||||
echo "borg:$SSH_PASSWORD" | chpasswd
|
||||
|
||||
# Change borg folder ownership to be owned by borg
|
||||
echo "Setting file ownership"
|
||||
chown -R borg:borg /opt/borg
|
||||
|
||||
# Set default login path to /opt/borg
|
||||
echo 'cd /opt/borg' >> /home/borg/.profile
|
||||
|
||||
# Start SSHD
|
||||
/usr/sbin/sshd -D
|
||||
Reference in New Issue
Block a user