|
|
|
DOCKER_PREFIX=sudo
|
|
|
|
IMAGE_NAME=unixvoid/seedpod
|
|
|
|
WEB_THEME=https://github.com/Secretmapper/combustion/archive/v0.6.2.tar.gz
|
|
|
|
ALPINE_FS=https://cryo.unixvoid.com/bin/filesystem/alpine/linux-latest-amd64.rootfs.tar.gz
|
|
|
|
OS_PERMS=sudo
|
|
|
|
|
|
|
|
|
|
|
|
all: docker_build_web
|
|
|
|
|
|
|
|
build_filesystem:
|
|
|
|
mkdir -p filesystem.tmp/
|
|
|
|
cd filesystem.tmp/ && \
|
|
|
|
wget -O rootfs.tar.gz $(ALPINE_FS) && \
|
|
|
|
tar -xzf rootfs.tar.gz && \
|
|
|
|
rm -f rootfs.tar.gz
|
|
|
|
cp deps/filesystem_setup.sh filesystem.tmp/
|
|
|
|
$(OS_PERMS) systemd-nspawn -D filesystem.tmp/ /filesystem_setup.sh
|
|
|
|
rm -rf filesystem.tmp/filesystem_setup.sh
|
|
|
|
cd filesystem.tmp/ && \
|
|
|
|
tar -czf rootfs.tar.gz *
|
|
|
|
mv filesystem.tmp/rootfs.tar.gz deps/
|
|
|
|
|
|
|
|
aci_build:
|
|
|
|
cd deps/ && \
|
|
|
|
mkdir -p stage.tmp/seedpod-layout/
|
|
|
|
|
|
|
|
docker_build:
|
|
|
|
cd deps/ && \
|
|
|
|
$(DOCKER_PREFIX) docker build -t $(IMAGE_NAME) .
|
|
|
|
|
|
|
|
docker_build_web:
|
|
|
|
cd deps/ && \
|
|
|
|
mkdir -p stage.tmp/theme && \
|
|
|
|
wget -O stage.tmp/theme.tar.gz $(WEB_THEME) && \
|
|
|
|
tar -xzf stage.tmp/theme.tar.gz -C stage.tmp/theme --strip-components 1 && \
|
|
|
|
$(DOCKER_PREFIX) docker build -t $(IMAGE_NAME) -f Dockerfile.web .
|
|
|
|
|
|
|
|
docker_run:
|
|
|
|
$(DOCKER_PREFIX) docker run \
|
|
|
|
-d \
|
|
|
|
--name seedpod \
|
|
|
|
--cap-add=NET_ADMIN \
|
|
|
|
--cap-add=NET_RAW \
|
|
|
|
--device=/dev/net/tun \
|
|
|
|
--dns=8.8.8.8 \
|
|
|
|
-p 9091:9091 \
|
|
|
|
-v ~/Downloads/transmission/downloads:/transmission/downloads:rw \
|
|
|
|
-v ~/Downloads/transmission/incomplete:/transmission/incomplete:rw \
|
|
|
|
$(IMAGE_NAME)
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -rf deps/stage.tmp
|
|
|
|
@if [ -d "filesystem.tmp/" ]; then \
|
|
|
|
$(OS_PERMS) rm -rf filesystem.tmp; \
|
|
|
|
fi
|