Ctrl K
ComunidadGuías…

Containerfile.pkg.j2

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
ARG BASE_VERSION=15.1
FROM ghcr.io/daemonless/base-exec:${BASE_VERSION}

ARG FREEBSD_ARCH=amd64
ARG PACKAGES="tailscale"
ARG UPSTREAM_URL="https://api.github.com/repos/tailscale/tailscale/releases/latest"
ARG UPSTREAM_JQ=".tag_name"

# --- Metadata (Injected by Generator) ---
LABEL org.opencontainers.image.title="{{ title }}" \
      org.opencontainers.image.description="{{ description }}" \
      org.opencontainers.image.source="{{ repo_url }}" \
      org.opencontainers.image.url="{{ web_url }}" \
      org.opencontainers.image.documentation="https://tailscale.com/kb/" \
      org.opencontainers.image.licenses="BSD-3-Clause" \
      org.opencontainers.image.vendor="daemonless" \
      org.opencontainers.image.authors="daemonless" \
      io.daemonless.category="{{ category }}" \
{%- if ports %}
      io.daemonless.port="{{ ports[0].port }}" \
{%- endif %}
{%- if volumes %}
      io.daemonless.volumes="{{ volumes | map(attribute='path') | join(',') }}" \
{%- endif %}
{%- if mlock %}
      org.freebsd.jail.allow.mlock="required" \
{%- endif %}
      io.daemonless.arch="${FREEBSD_ARCH}" \
      io.daemonless.pkg-source="pkg" \
      io.daemonless.upstream-url="${UPSTREAM_URL}" \
      io.daemonless.upstream-jq="${UPSTREAM_JQ}" \
      io.daemonless.healthcheck-url="tailscale-status" \
      io.daemonless.packages="${PACKAGES}"

# Install Tailscale from FreeBSD packages
RUN pkg update && \
    pkg install -y ${PACKAGES} && \
    mkdir -p /app && pkg info tailscale | sed -n 's/.*Version.*: *//p' > /app/version && \
    pkg clean -ay && \
    rm -rf /var/cache/pkg/* /var/db/pkg/repos/*

# Create config and runtime directories
RUN mkdir -p /config /var/run/tailscale && \
    chmod 700 /config

# Copy service definition and init scripts
COPY root/ /
RUN chmod +x /daemonless/libexec/tailscaled /daemonless/init.d/*

CMD ["/daemonless/libexec/tailscaled"]

# Make scripts executable
RUN chmod +x /healthz

# --- Expose (Injected by Generator) ---
{%- if ports %}
EXPOSE {{ ports | map(attribute='port') | join(' ') }}
{%- endif %}

# --- Volumes (Injected by Generator) ---
{%- if volumes %}
VOLUME {{ volumes | map(attribute='path') | join(' ') }}
{%- endif %}