tangled
alpha
login
or
join now
tangled.org
/
knot-docker
90
fork
atom
Community maintained Docker config for the knot server
90
fork
atom
overview
issues
3
pulls
1
pipelines
try to do docker in nixery in docker
knotbin.com
6 months ago
5d41b551
84352122
+29
1 changed file
expand all
collapse all
unified
split
.tangled
workflows
publish.yml
+29
.tangled/workflows/publish.yml
···
11
- coreutils
12
- gnused
13
- gnugrep
0
14
15
steps:
0
0
0
0
0
0
0
0
16
- name: "Extract version from Dockerfile"
17
command: |
0
0
0
0
18
export TAG=$(grep -iE '^arg TAG=' Dockerfile | sed -E "s/arg TAG='?([^']+)'?/\1/i")
0
0
0
0
0
0
19
echo "Detected TAG=$TAG"
20
if [ -n "$TANGLED_ENV_FILE" ]; then
21
echo "TAG=$TAG" >> "$TANGLED_ENV_FILE"
···
23
24
- name: "Log in to Docker Hub"
25
command: |
0
0
0
0
0
26
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
27
28
- name: "Build Docker image"
29
command: |
0
0
0
0
0
30
docker build --build-arg TAG="$TAG" -t "$DOCKER_USERNAME/$DOCKER_REPO:$TAG" .
31
docker tag "$DOCKER_USERNAME/$DOCKER_REPO:$TAG" "$DOCKER_USERNAME/$DOCKER_REPO:latest"
32
···
11
- coreutils
12
- gnused
13
- gnugrep
14
+
- bash
15
16
steps:
17
+
- name: "Check Docker availability"
18
+
command: |
19
+
echo "Checking Docker availability..."
20
+
which docker || echo "Docker not found in PATH"
21
+
docker --version || echo "Docker version check failed"
22
+
docker info || echo "Docker daemon not running"
23
+
ls -la /var/run/docker.sock || echo "Docker socket not found"
24
+
25
- name: "Extract version from Dockerfile"
26
command: |
27
+
if [ ! -f "Dockerfile" ]; then
28
+
echo "ERROR: Dockerfile not found"
29
+
exit 1
30
+
fi
31
export TAG=$(grep -iE '^arg TAG=' Dockerfile | sed -E "s/arg TAG='?([^']+)'?/\1/i")
32
+
if [ -z "$TAG" ]; then
33
+
echo "ERROR: Could not extract TAG from Dockerfile"
34
+
echo "Dockerfile content:"
35
+
cat Dockerfile
36
+
exit 1
37
+
fi
38
echo "Detected TAG=$TAG"
39
if [ -n "$TANGLED_ENV_FILE" ]; then
40
echo "TAG=$TAG" >> "$TANGLED_ENV_FILE"
···
42
43
- name: "Log in to Docker Hub"
44
command: |
45
+
if [ -z "$DOCKER_USERNAME" ] || [ -z "$DOCKER_PASSWORD" ]; then
46
+
echo "ERROR: DOCKER_USERNAME or DOCKER_PASSWORD not set"
47
+
exit 1
48
+
fi
49
+
echo "Logging in as: $DOCKER_USERNAME"
50
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
51
52
- name: "Build Docker image"
53
command: |
54
+
if [ -z "$TAG" ]; then
55
+
echo "ERROR: TAG variable not set"
56
+
exit 1
57
+
fi
58
+
echo "Building image: $DOCKER_USERNAME/$DOCKER_REPO:$TAG"
59
docker build --build-arg TAG="$TAG" -t "$DOCKER_USERNAME/$DOCKER_REPO:$TAG" .
60
docker tag "$DOCKER_USERNAME/$DOCKER_REPO:$TAG" "$DOCKER_USERNAME/$DOCKER_REPO:latest"
61