Rafael Calleja commited on
Commit
d724875
·
1 Parent(s): 4ab3312

add build

Browse files
Files changed (2) hide show
  1. Dockerfile +45 -0
  2. Makefile +18 -1
Dockerfile ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # syntax=docker/dockerfile:1.4-labs
2
+ FROM ubuntu:24.04 as base
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+ ENV ROOTFS=/tmp/restore
5
+
6
+ RUN --mount=type=bind,source=./,target=/var/tmp/restic,rw --security=insecure \
7
+ apt update && apt install -yq wget bzip2 make time && \
8
+ wget -qO - https://raw.githubusercontent.com/cupcakearmy/autorestic/master/install.sh | bash && \
9
+ autorestic --version && \
10
+ mkdir -p ${ROOTFS} && \
11
+ cd /var/tmp/restic; make restore
12
+
13
+ WORKDIR ${ROOTFS}
14
+ RUN --security=insecure \
15
+ mkdir -p ${ROOTFS}/proc && \
16
+ mkdir -p ${ROOTFS}/dev && \
17
+ mkdir -p ${ROOTFS}/dev/pts && \
18
+ mkdir -p ${ROOTFS}/sys && \
19
+ mkdir -p ${ROOTFS}/run && \
20
+ mount --bind /proc ${ROOTFS}/proc && \
21
+ mount --bind /dev ${ROOTFS}/dev && \
22
+ mount --bind /sys ${ROOTFS}/sys && \
23
+ mount --bind /run ${ROOTFS}/run && \
24
+ mount -t devpts devpts ${ROOTFS}/dev/pts && \
25
+ mkdir -p ${ROOTFS}/home/eggs/.overlay && \
26
+ mount -t tmpfs tmpfs ${ROOTFS}/home/eggs/.overlay/ && \
27
+ mkdir -p ${ROOTFS}/home/eggs/.overlay/{upperdir,workdir} && \
28
+ mkdir -p ${ROOTFS}/home/eggs/.mnt/filesystem.squashfs/var && \
29
+ mkdir -p ${ROOTFS}/home/eggs/.overlay/lowerdir/var && \
30
+ mkdir -p ${ROOTFS}/home/eggs/.overlay/upperdir/var && \
31
+ mkdir -p ${ROOTFS}/home/eggs/.overlay/workdir/var && \
32
+ mount -t overlay overlay -o lowerdir=${ROOTFS}/home/eggs/.overlay/lowerdir/var,upperdir=${ROOTFS}/home/eggs/.overlay/upperdir/var,workdir=${ROOTFS}/home/eggs/.overlay/workdir/var ${ROOTFS}/home/eggs/.mnt/filesystem.squashfs/var || dmesg && \
33
+ chroot ${ROOTFS} /bin/bash -c "rm /etc/resolv.conf && \
34
+ echo nameserver 8.8.8.8 > /etc/resolv.conf && \
35
+ cd /tmp && \
36
+ /usr/bin/git clone https://github.com/pieroproietti/get-eggs && \
37
+ cd get-eggs && \
38
+ ./get-eggs.sh && \
39
+ rm -rf /*is-merged && \
40
+ eggs calamares -i -r -v && \
41
+ SUDO_USER=ubuntu eggs produce --max --nointeractive --noicon --excludes=static,homes -v --release" && \
42
+ cp $(find ${ROOTFS}/home/eggs -name "*.iso" -type f -printf "%T@ %p\n" | sort -n | tail -1 | cut -d' ' -f2) /tmp/distro-live.iso
43
+
44
+ FROM alpine
45
+ COPY --from=base /tmp/distro-live.iso /distro-live.iso
Makefile CHANGED
@@ -1,4 +1,9 @@
1
- REPOSITORY ?= github.com/rafaelcalleja/distrostore
 
 
 
 
 
2
  GOPASS_FILE ?= .autorestic.yml
3
  GOPASS_KEY ?= $(REPOSITORY)/$(GOPASS_FILE)
4
  CURRENT_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
@@ -27,3 +32,15 @@ load:
27
 
28
  show-cron:
29
  @cat $(CURRENT_DIR)/.cron | sed "s|CURRENT_DIR|$(CURRENT_DIR)|g"
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ IMAGE_PROVIDER ?= docker.io
2
+ IMAGE_NAME ?= rafaelcalleja/distrostore
3
+ IMAGE_TAG ?= ubuntu-24.04
4
+ IMAGE ?= $(IMAGE_NAME):$(IMAGE_TAG)
5
+
6
+ REPOSITORY ?= github.com/$(IMAGE_NAME)
7
  GOPASS_FILE ?= .autorestic.yml
8
  GOPASS_KEY ?= $(REPOSITORY)/$(GOPASS_FILE)
9
  CURRENT_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
 
32
 
33
  show-cron:
34
  @cat $(CURRENT_DIR)/.cron | sed "s|CURRENT_DIR|$(CURRENT_DIR)|g"
35
+
36
+ build:
37
+ docker run -it --rm --privileged -e BUILDKITD_FLAGS="--allow-insecure-entitlement security.insecure" \
38
+ -v $(CURRENT_DIR):/tmp/work \
39
+ --entrypoint buildctl-daemonless.sh \
40
+ moby/buildkit:master \
41
+ build \
42
+ --frontend dockerfile.v0 \
43
+ --local context=/tmp/work \
44
+ --local dockerfile=/tmp/work \
45
+ --allow security.insecure \
46
+ --output type=image,name=$(IMAGE_PROVIDER)/$(IMAGE),push=true