Initial commit
Signed-off-by: Jacob Kiers <code@kiers.eu>
This commit is contained in:
commit
80cd767e4a
7
cloudron-headscale/.dockerignore
Normal file
7
cloudron-headscale/.dockerignore
Normal file
@ -0,0 +1,7 @@
|
||||
.dockerignore
|
||||
.git
|
||||
.gitignore
|
||||
docker-compose.yml
|
||||
node_modules
|
||||
helpers/*
|
||||
runner/*
|
5
cloudron-headscale/.gitignore
vendored
Normal file
5
cloudron-headscale/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
.env
|
||||
runner/.env
|
||||
secrets.txt
|
||||
.tags
|
||||
.vscode/*
|
17
cloudron-headscale/CloudronManifest.json
Normal file
17
cloudron-headscale/CloudronManifest.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"version": "0.0.1",
|
||||
"id": "com.github.juanfont.headscale",
|
||||
"icon": "file://logo.png",
|
||||
"healthCheckPath": "/",
|
||||
"httpPort": 8000,
|
||||
"addons": {
|
||||
"localstorage": {}
|
||||
},
|
||||
"manifestVersion": 2,
|
||||
"website": "https://github.com/juanfont/headscale",
|
||||
"title": "Headscale",
|
||||
"author": "Headscale developers",
|
||||
"tagline": "Self-hosted tailscale control plane",
|
||||
"tags": [ "golang", "vpn", "wireguard" ],
|
||||
"documentationUrl": "https://github.com/juanfont/headscale/tree/main/docs"
|
||||
}
|
19
cloudron-headscale/Dockerfile
Normal file
19
cloudron-headscale/Dockerfile
Normal file
@ -0,0 +1,19 @@
|
||||
FROM cloudron/base:4.0.0@sha256:31b195ed0662bdb06a6e8a5ddbedb6f191ce92e8bee04c03fb02dd4e9d0286df
|
||||
|
||||
ENV HS_VERSION 0.20.0
|
||||
EXPOSE 8000
|
||||
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSfL \
|
||||
https://github.com/juanfont/headscale/releases/download/v${HS_VERSION}/headscale_${HS_VERSION}_linux_amd64 \
|
||||
-o /bin/headscale \
|
||||
&& chmod +x /bin/headscale
|
||||
|
||||
RUN sed -e 's,^logfile=.*$,logfile=/run/supervisord.log,' -i /etc/supervisor/supervisord.conf
|
||||
COPY supervisor-headscale-server.conf /etc/supervisor/conf.d/
|
||||
|
||||
|
||||
COPY start.sh /app/pkg/
|
||||
|
||||
WORKDIR /app/data
|
||||
|
||||
CMD [ "/app/pkg/start.sh" ]
|
5
cloudron-headscale/README.md
Normal file
5
cloudron-headscale/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Cloudron Headscale
|
||||
|
||||
This is the repository to create a headscale server for cloudron.
|
||||
|
||||
|
BIN
cloudron-headscale/logo.png
Normal file
BIN
cloudron-headscale/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 49 KiB |
50
cloudron-headscale/start.sh
Executable file
50
cloudron-headscale/start.sh
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
|
||||
random_string() {
|
||||
LC_CTYPE=C tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c32
|
||||
}
|
||||
|
||||
|
||||
if [ ! -e /app/data/config.yaml ]; then
|
||||
cat <<-EOF > "/app/data/config.yaml"
|
||||
---
|
||||
server_url: $CLOUDRON_APP_ORIGIN
|
||||
listen_addr: 0.0.0.0:8000
|
||||
|
||||
disable_check_updates: true
|
||||
|
||||
db_type: sqlite3
|
||||
db_path: /app/data/db.sqlite
|
||||
|
||||
## Use already defined certificates:
|
||||
tls_cert_path: ""
|
||||
tls_key_path: ""
|
||||
|
||||
# Path to a file containg ACL policies.
|
||||
# ACLs can be defined as YAML or HUJSON.
|
||||
# https://tailscale.com/kb/1018/acls/
|
||||
acl_policy_path: ""
|
||||
|
||||
private_key_path: /app/data/private.key
|
||||
noise:
|
||||
private_key_path: /app/data/noise_private.key
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -e /app/data/README.md ]; then
|
||||
cat <<-'EOF' > "/app/data/README.md"
|
||||
# Hey there!
|
||||
|
||||
Configuration for headscale is stored in the file called ``. After you have made changes to it you can restart just drone-server by running `supervisorctl restart drone-server`.
|
||||
|
||||
To work with drone you need to configure a provider in your `.env` file. See https://docs.drone.io/server/overview/ for instructions.
|
||||
EOF
|
||||
fi
|
||||
|
||||
echo "=> Ensure permissions"
|
||||
chown -R cloudron:cloudron /run /app/data
|
||||
|
||||
exec /usr/bin/supervisord --configuration /etc/supervisor/supervisord.conf --nodaemon -i headscale-server
|
10
cloudron-headscale/supervisor-headscale-server.conf
Normal file
10
cloudron-headscale/supervisor-headscale-server.conf
Normal file
@ -0,0 +1,10 @@
|
||||
[program:headscale-server]
|
||||
command=/bin/headscale --config /app/data/config.yaml serve
|
||||
directory=/app/data
|
||||
user=cloudron
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
Loading…
Reference in New Issue
Block a user