mirror of
https://github.com/Mo3he/Axis_Cam_Tailscale.git
synced 2026-08-17 12:47:00 +00:00
Merge pull request #15 from MicroTechnology-Services/allarch
Add all arch build
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# example usage:
|
||||
# docker build --build-arg ARCH=armv7hf --build-arg TAILSCALE_VERSION=1.70.0 -t axis_tailscale:latest .
|
||||
# docker cp $(docker create axis_tailscale):/opt/app ./build
|
||||
|
||||
ARG REPO=axisecp
|
||||
ARG SDK=acap-native-sdk
|
||||
ARG VERSION=1.3
|
||||
ARG ARCH=armv7hf
|
||||
ARG UBUNTU_VERSION=22.04
|
||||
|
||||
FROM ${REPO}/${SDK}:${VERSION}-${ARCH}-ubuntu${UBUNTU_VERSION}
|
||||
WORKDIR /opt/app
|
||||
COPY ./app /opt/app/
|
||||
|
||||
ARG ARCH=armv7hf
|
||||
ARG TAILSCALE_VERSION=1.68.1
|
||||
|
||||
# template files
|
||||
RUN sed -i "s/@@ARCH@@/${ARCH}/g" /opt/app/manifest.json \
|
||||
&& sed -i "s/@@TAILSCALE_VERSION@@/${TAILSCALE_VERSION}/g" /opt/app/manifest.json
|
||||
|
||||
# tailscale uses "arm(64)" instead of the more specific arm arch names
|
||||
RUN \
|
||||
if [ "${ARCH}" = "armv7hf" ]; then TAILSCALE_ARCH="arm"; \
|
||||
elif [ "${ARCH}" = "aarch64" ]; then TAILSCALE_ARCH="arm64"; \
|
||||
else TAILSCALE_ARCH="${ARCH}"; fi \
|
||||
&& curl -sS --fail -L -o /tmp/tailscale.tgz https://pkgs.tailscale.com/stable/tailscale_${TAILSCALE_VERSION}_${TAILSCALE_ARCH}.tgz \
|
||||
&& mkdir -p /opt/app/lib \
|
||||
&& tar xzf /tmp/tailscale.tgz -C /opt/app/lib --strip-components=1 --wildcards --no-anchored '*/tailscale' '*/tailscaled' \
|
||||
&& rm /tmp/tailscale.tgz
|
||||
|
||||
RUN . /opt/axis/acapsdk/environment-setup* && acap-build ./
|
||||
@@ -0,0 +1,18 @@
|
||||
# Building
|
||||
|
||||
Set your preferred build parameters via the docker build command.
|
||||
|
||||
* `ARCH` - use the Axis architecture string you can fetch from `/axis-cgi/param.cgi?action=list&group=Properties.System.Architecture`
|
||||
* `TAILSCALE_VERSION` - Specify the version string as it appears on the [Tailscale archive](https://pkgs.tailscale.com/stable/#static)
|
||||
|
||||
Tailscale arm arch strings are different than the axis format. The Dockerfile has some mappings for common strings.
|
||||
|
||||
```
|
||||
docker build --build-arg ARCH=armv7hf --build-arg TAILSCALE_VERSION=1.70.0 -t axis_tailscale:latest .
|
||||
```
|
||||
|
||||
Then copy out the build artifacts:
|
||||
|
||||
```
|
||||
docker cp $(docker create axis_tailscale):/opt/app ./build
|
||||
```
|
||||
@@ -0,0 +1,29 @@
|
||||
BSD 3-Clause License
|
||||
|
||||
Copyright (c) 2020 Tailscale & AUTHORS.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1 @@
|
||||
nop:
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Starting Service"
|
||||
chmod 777 /usr/local/packages/Tailscale_VPN/lib/tailscale
|
||||
chmod 777 /usr/local/packages/Tailscale_VPN/lib/tailscaled
|
||||
/usr/local/packages/Tailscale_VPN/lib/tailscaled --tun=userspace-networking --socket=/usr/local/packages/Tailscale_VPN/tailscaled.sock &
|
||||
echo "Service Started"
|
||||
echo "Scroll to Bottom for link"
|
||||
/usr/local/packages/Tailscale_VPN/lib/tailscale --socket=/usr/local/packages/Tailscale_VPN/tailscaled.sock up
|
||||
wait
|
||||
@@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<head>
|
||||
<h1 style="color:red;">Scroll to the bottom to find authentication URL</h1>
|
||||
<script>
|
||||
function refreshIFrame() {
|
||||
var x = document.getElementById("*Your_iframe_id*");
|
||||
x.contentWindow.location.reload();
|
||||
var t = setTimeout(refreshIFrame, 5000);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="refreshIFrame()">
|
||||
<iframe id="*Your_iframe_id*" src= "/axis-cgi/admin/systemlog.cgi?appname=Tailscale_VPN" style="height:600px;width:100%;border: none;" ></iframe>
|
||||
</body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"schemaVersion": "1.3",
|
||||
"acapPackageConf": {
|
||||
"setup": {
|
||||
"appName": "Tailscale_VPN",
|
||||
"friendlyName": "Tailscale VPN",
|
||||
"vendor": "Tailscale - Packaged by Mo3he",
|
||||
"embeddedSdkVersion": "3.0",
|
||||
"vendorUrl": "https://www.tailscale.com",
|
||||
"runMode": "once",
|
||||
"version": "@@TAILSCALE_VERSION@@",
|
||||
"architecture": "@@ARCH@@"
|
||||
},
|
||||
"configuration": {
|
||||
"settingPage": "index.html"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user