Giter Club home page Giter Club logo

docker-baseimage-alpine's Introduction

linuxserver.io

Contact information:-

Type Address/Details
Discord Discord
IRC libera at #linuxserver.io more information at:- IRC
Forum LinuxServer.io forum

   

A custom base image built with Alpine linux and S6 overlay..

The following line is only in this repo for loop testing:

  • { date: "01.01.50:", desc: "I am the release message for this internal repo." }

docker-baseimage-alpine's People

Contributors

alex-phillips avatar aptalca avatar chbmb avatar drizuid avatar ghostserverd avatar j0nnymoe avatar nemchik avatar roxedus avatar sparklyballs avatar thelamer avatar thespad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-baseimage-alpine's Issues

MIRROR env is not working

linuxserver.io


Expected Behavior

I want to override this env to change apk repo
https://github.com/linuxserver/docker-baseimage-alpine/blob/master/Dockerfile#L8

using mirror

Current Behavior

not using

Steps to Reproduce

services:
  nginx:
    image: linuxserver/swag
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - URL=xxxxxx
      - MIRROR=https://mirrors.aliyun.com/alpine
      - DOCKER_MODS=linuxserver/mods:swag-auto-reload
    volumes:
      - ./nginx/config:/config
    ports:
      - 80:80
      - 443:443
    restart: always

Environment

OS: ubuntu 22
CPU architecture: x86_64
How docker service was installed: via get.docker.com

Command used to create docker container (run/create/compose/screenshot)

docker compose up -d

Docker logs

[mod-init] Curl/JQ was not found on this system for Docker mods installing
fetch http://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz

[FEAT]

Sorry, made a mistake

[FEAT] Improved loading times when "/config" volume has a lot of files

Is this a new feature request?

  • I have searched the existing issues

Wanted change

I am running a linuxserver image (jellyfin) based on this one. After running: docker compose up -d it usually took between 10 minutes to 30 minutes to launch.
The system where I am running this has RAM and CPU enough to the point where I was sure those where not the bottleneck.
I/O shouldn't be a problem as well: i was running this in a fast NVME.
After a very long time, I found the issue:
https://github.com/linuxserver/docker-baseimage-alpine/blob/master/root/etc/s6-overlay/s6-rc.d/init-adduser/run#L8
The line:
usermod -o -u "$PUID" abc
Took a very long time to execute.
Reading man usermod:

-u
[...]
	The user's mailbox, and any files which the user owns and which are located in the user's home directory will have the file user ID changed automatically

So, that usermod was doing a recursive chown to the /config volume, where i have over 100k files. Those files were already owned by the correct id, so no chown was needed. But the recursive operation took a very long time just to list the files.

Also at man usermod I read:

-u
[...]
	The change of the user ownership of files inside of the user's home directory is also not done if the home dir owner uid is different from the current or new user id

So I did this:
sudo chown root volumes/library/
And my issue was solved. Instead of 10 to 30 minutes, it now takes less than 10 seconds.
The volumes/library/ is (for me) the local path that is mouted as /config in the container (the home of the abc user).
By having that directory owned by root, but everything recursively under that owned by $PUID (1000 for me), everything keeps working.

I'd like to suggest a change at https://github.com/linuxserver/docker-baseimage-alpine/blob/master/root/etc/s6-overlay/s6-rc.d/init-adduser/run#L8 so that usermod doesn't take so long to run

Reason for change

Waiting for more than 10 minutes for a container to start, just because it is recursively listing files, should not happen.
The initial setup time of a container should be as low as possible.

Proposed code change

I am not sure if it would work or not, and I don't know how to test it.
Perhaps by adding a not recursive chown before the chmod the issue could be solved:

https://github.com/linuxserver/docker-baseimage-alpine/blob/master/root/etc/s6-overlay/s6-rc.d/init-adduser/run#L8

    #!/usr/bin/with-contenv bash
    # shellcheck shell=bash
    
    PUID=${PUID:-911}
    PGID=${PGID:-911}

+   chown root /config

    groupmod -o -g "$PGID" abc
    usermod -o -u "$PUID" abc

+   chown "$PUID" /config

[BUG] Logrotate doesn't run since change to busybox cron

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

logrotate just never runs (since the changes to cron). From what I've found out, it seems like in busybox cron periodic tasks in /etc/periodic aren't implemented -> these are just ignored. Probably something like https://github.com/linuxserver/fanart-nginx/blob/8945d091bfa0318c5f4dc509c022992a8d2256aa/root/etc/crontabs/root#L4 should be able to fix the issue.

Discord support thread: https://discord.com/channels/354974912613449730/1188173818070573138

Expected Behavior

logrotate should be called daily

Steps To Reproduce

use an nginx based container. wait until your fs is full of uncompressed logs

Environment

- OS: Ubuntu 22.04
- How docker service was installed: According to official docker docs (NOT snap)

Docker creation

doesn't matter

Container logs

none regarding this issue

hardcoded UID & GID causes problems for downstream containers

abc user is created with UID of 911 and GID of 1000.

downstream images like linuxserver/plexpy and linuxserver/sickrage recursively change permissions of their mounted volumes to this uid:gid.

PUID & GUID are no longer honored as explained in the README's for those containers.

abc-user member of several groups (IDs) in the container

See discussion first on your discourse:
https://discourse.linuxserver.io/t/abc-user-member-of-several-groups-ids-in-the-container/2024/3

What I finally need is to have the abc-user member of several groups (IDs) in the container.
For example PGID=1001;1002;1003
The first one 1001 would be used as GID, but the others 1002 1003 would then be extra groups the abc-user is member of.
By this I can decide in detail what the user abc has rights to…
Or have an extra variable besides PGID by which I can define the extra group memberships of the abc-user.

I think the file in question that actually does the work is:
https://github.com/linuxserver/docker-baseimage-alpine/blob/master/root/etc/cont-init.d/10-adduser

I was asked to continue the discussion here...
/T

High PUID causes abc user to be unusable

Setting PUID and PGID to high values results in the abc user being unusable. I haven't gone through ranges to see exactly where the issue starts but it seems to be in the billions. Here is a reproduction example with Docker Compose:

test:
    image: lsiobase/alpine
    environment:
      PGID: 2246050305
      PUID: 2246052396

Host OS: Synology DSM 6.2.1-23824 Update 6
Log:

2019-05-12 14:50:12,stdout,[services.d] done.
2019-05-12 14:50:12,stdout,[services.d] starting services
2019-05-12 14:50:12,stdout,[cont-init.d] done.
2019-05-12 14:50:12,stdout,[cont-init.d] 10-adduser: exited 1.
2019-05-12 14:50:12,stderr,chown: invalid user: ‘abc:abc’
2019-05-12 14:50:12,stderr,chown: invalid user: ‘abc:abc’
2019-05-12 14:50:12,stderr,chown: invalid user: ‘abc:abc’
2019-05-12 14:50:12,stderr,id: ‘abc’: no such user
2019-05-12 14:50:12,stdout,
2019-05-12 14:50:12,stdout,-------------------------------------
2019-05-12 14:50:12,stdout,User gid:    
2019-05-12 14:50:12,stdout,User uid:    
2019-05-12 14:50:12,stdout,
2019-05-12 14:50:12,stderr,id: ‘abc’: no such user
2019-05-12 14:50:12,stdout,-------------------------------------
2019-05-12 14:50:12,stdout,GID/UID
2019-05-12 14:50:12,stdout,-------------------------------------
2019-05-12 14:50:12,stdout,https://www.linuxserver.io/donate/
2019-05-12 14:50:12,stdout,We gratefully accept donations at:
2019-05-12 14:50:12,stdout,Brought to you by linuxserver.io
2019-05-12 14:50:12,stdout,
2019-05-12 14:50:12,stdout,
2019-05-12 14:50:12,stdout,         |_| |___/ |_|  \__/
2019-05-12 14:50:12,stdout,         | | \__ \ | | | () |
2019-05-12 14:50:12,stdout,         | | / __| | |  /  \ 
2019-05-12 14:50:12,stdout,         | |  ___   _    __
2019-05-12 14:50:12,stdout,          _         ()
2019-05-12 14:50:12,stdout,-------------------------------------
2019-05-12 14:50:12,stdout,
2019-05-12 14:50:12,stderr,usermod: user 'abc' does not exist
2019-05-12 14:50:12,stdout,[cont-init.d] 10-adduser: executing... 
2019-05-12 14:50:12,stdout,[cont-init.d] executing container initialization scripts...
2019-05-12 14:50:12,stdout,[fix-attrs.d] done.
2019-05-12 14:50:12,stdout,[fix-attrs.d] applying ownership & permissions fixes...
2019-05-12 14:50:12,stdout,[s6-init] ensuring user provided files have correct perms...exited 0.
2019-05-12 14:50:12,stdout,[s6-init] making user provided files available at /var/run/s6/etc...exited 0.

Synology seems to create these high UID/GID values when syncing with Active Directory, presumably to avoid any conflicts with local users/groups.

This issue does not occur with the lsiobase\ubuntu package so I assume the underlying issue might be in alpine shadow. However, perhaps a workaround would be sufficient as suggested in this StackOverflow post. I've confirmed fixing the UID/GID manually in /etc/passwd and /etc/group resolves the issue.

Allow for setting a custom registry url for DOCKER_MODS

linuxserver.io

We run a local registry (harbor and quay) and it would be great if we could use these to host mods for internal apps (and for development).

Desired Behavior

Define an environment variables for the base urls related to the registry: AUTH_URL and MANIFEST_URL

Example:

FILENAME="${USERNAME}.${REPO}.${TAG}"
AUTH_URL="${REGISTRY_AUTH_URL:-https://auth.docker.io/token}?service=${REGISTRY_AUTH_SERVICE:-registry.docker.io}&scope=${REGISTRY_AUTH_SCOPE:-repository}:${ENDPOINT}:pull"
MANIFEST_URL="${REGISTRY_URL:-https://registry-1.docker.io/v2}/${ENDPOINT}/manifests/${TAG}"
BLOB_URL="${REGISTRY_URL}/${ENDPOINT}/blobs/"

Edit: I did a little research (hacked the mods script locally) and found that for harbor it acts like docker with 1 exception, the manifest json file matches what ghcr returns.

My "hack" changed the MODE= below the lines above to

[[ $AUTH_URL == *"harbor"* ]] && MODE="ghcr" || MODE="dockerhub" 

Current Behavior

No ability to use custom registries

Alternatives Considered

Edit: Here is a gist that has it working for harbor (assumes harbor is in the url for now)

update s6 to latest version, doesn't sync disks on container shutdown.

linuxserver.io

Thanks, team linuxserver.io

  • newest release of the overlay doesn't sync disks on shutdown of container.

  • https://github.com/just-containers/s6-overlay#upgrade-notes

  • should help with some timeouts of container not shutting app down before/after sync (don't know order) but the s6 overlay readme mentions something along the lines of.

  • pastebin here https://pastebin.com/G4squTjF shows no sync stage using the latest overlay vs the current one at the bottom

  • relevant lines for each containers exit are 33 for latest s6 and 85 for older version. no sync on the newer one.

  • something @anoma was bitching about iirc...

  • of course this applies to ubuntu baseimages too.

system time broken on arm32

$ docker run -d --name baseimage-alpine ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.13
$ docker exec -it baseimage-alpine date
Thu Jan 1 00:00:00 UTC 1970

$ uname -a

Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux

$ docker info 2>&1 | grep Archite
Architecture: armv7l

$ date
Sun Apr 11 18:10:22 CEST 2021

Expected Behavior

System time match to provided from host.

Current Behavior

exactly zero epoch.

Steps to Reproduce

  1. Run any application container based on this one (amongst these are baseimage-nginx, therefore Grocy and so on)
  2. Check unixtime inside container

Environment

OS: Linux (both 5.10.17-v8+ and 5.4.51-v7l+ builds were checked)

CPU architecture: arm32

Docker: docker-ce from official repository, both 20.10.5 and 19.03.12 versions had been tested

Command used to create docker container (run/create/compose/screenshot)

docker run -d --name baseimage-alpine ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.13

Docker logs

$ docker logs baseimage-alpine
docker logs baseimage-alpine
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing...
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing...
usermod: no changes


      _         ()
     | |  ___   _    __
     | | / __| | |  /  \ 
     | | \__ \ | | | () |
     |_| |___/ |_|  \__/

Brought to you by linuxserver.io

To support LSIO projects visit:
https://www.linuxserver.io/donate/

GID/UID

User uid: 911
User gid: 911

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Your DockerHost is most likely running an outdated version of libseccomp

To fix this, please visit https://docs.linuxserver.io/faq#libseccomp

Some apps might not behave correctly without this

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 99-custom-files: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-files: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

exec format error on armv7


Expected Behavior

container should start up

Current Behavior

standard_init_linux.go:211: exec user process caused "exec format error"

Steps to Reproduce

docker run -it --rm --name test lsiobase/alpine
leads to the error
docker run -it --rm --name test lsiobase/alpine:arm32v7-3.8
works
So I believe the arch is detected falsely. As I understand that alpine without tag is an multiarch image?

Environment

OS: Raspbian
cat /etc/*-release output:

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

CPU architecture: armv7
uname -a output:
Linux kapi3 4.19.57-v7+ #1244 SMP Thu Jul 4 18:45:25 BST 2019 armv7l GNU/Linux
Docker version:

Client: Docker Engine - Community
 Version:           19.03.1
 API version:       1.40
 Go version:        go1.12.5
 Git commit:        74b1e89
 Built:             Thu Jul 25 21:33:17 2019
 OS/Arch:           linux/arm
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.1
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.5
  Git commit:       74b1e89
  Built:            Thu Jul 25 21:27:09 2019
  OS/Arch:          linux/arm
  Experimental:     false
 containerd:
  Version:          1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Hope this helps.
If not let me know.

GUID of abc group

It's not a real issue; it's more a suggestion about a little detail who's bugging me.

but before proposing a PR
I see two ways of doing it

1. we could replace the line 35

groupadd -g 911 abc
useradd -g 911 -u 911 -d /config -s /bin/false abc

so the group abc have the same id of the user abc GID == UID

2. we omit the group by replacing the line 35 with :

useradd -g users -u 911 -N -d /config -s /bin/false abc

[BUG] custom-init doesn't run before docker mods applies

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

custom-init scripts run after docker mods

Expected Behavior

custom-init scripts run before all

Steps To Reproduce

  1. mount init scripts to /custom-cont-init.d
  2. start container
  3. see logs. I add HERE 1 and HERE 2 markers

HERE 1 is at beginning, it says no scripts found. And HERE 2 is after docker mods it says found some scripts and executed.

Environment

- OS: any
- How docker service was installed: get from docker.com

Docker creation

-compose.yml
services:
  nginx:
    image: linuxserver/nginx
    volumes:
      - ./init.d:/custom-cont-init.d:ro
      - ./repositories:/etc/apk/repositories
    environment:
      - DOCKER_MODS=linuxserver/mods:swag-auto-reload

Container logs

[custom-init] No custom services found, skipping...  <--- HERE 1
[mod-init] Attempting to run Docker Modification Logic
[mod-init] Applying linuxserver/mods:swag-auto-reload files to container
[mod-init] linuxserver/mods:swag-auto-reload applied to container
[migrations] started
[migrations] 01-nginx-site-confs-default: skipped
[migrations] done
usermod: no changes

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    911
User gid:    911
-------------------------------------

using keys found in /config/keys
**** Adding swag-auto-reload deps to package install list ****
[mod-init] **** Installing all mod packages ****
fetch http://mirrors.aliyun.com/alpine/v3.17/main/x86_64/APKINDEX.tar.gz
fetch http://mirrors.aliyun.com/alpine/v3.17/community/x86_64/APKINDEX.tar.gz
(1/2) Installing inotify-tools-libs (3.22.6.0-r0)
(2/2) Installing inotify-tools (3.22.6.0-r0)
Executing busybox-1.35.0-r29.trigger
OK: 144 MiB in 180 packages
[custom-init] Files found, executing <--- HERE 2
[custom-init] 00-hello.sh: executing...
hello world!
[custom-init] 00-hello.sh: exited 0
MOD Auto-reload: Watching the following files/folders for changes (excluding .sample and .md files):
/config/nginx
[ls.io-init] done.

NPM running with incorrect uid/gid within container/failing to look up correct user/group to run scripts

Expected Behavior

I built a docker image using this base image which runs a chat self-hosted chat server. You can see the docker repo here. After building the image, a cont-init.d script 50-config checks the container ENV variables, installs a downloadeed AdonisJS app using NPM, checks the database endpoint and migrates it (if necessary), and then serves the AdonisJS app.

Current Behavior

The container works fine on my unRAID server, but other users, both on unRAID and not, are running into problems where the NPM commands are not being run by the correct uid/gid. The NPM command should be run by base image uid/gid (911/911), however, the 50-config script is reporting the following errors for some users:

npm ERR! code EUIDLOOKUP
npm ERR! lifecycle could not get uid/gid
npm ERR! lifecycle [ 'nobody', 0 ]
npm ERR! lifecycle

npm ERR! Failed to look up the user/group for running scripts.

npm ERR! Try again with a different --user or --group settings, or
npm ERR! run with --unsafe-perm to execute scripts as root.

Container logs report that the uid/gid is 99/100 and the 10-adduser script runs without error.

This errors seems to be related to a conflict between the docker user nobody/users and the container user/group, but I'm not sure why this would be occurring, nor why I am not having the same issue when I build this container, either on unRAID or manually on my Macbook.

Steps to Reproduce

  1. Build the the docker container using the template in unRAID Community Apps, with a docker run command, or with docker-compose using the variables listed in the Github repo.
  2. See if the container initialization script 50-config runs correctly or not.

Environment

OS: unRAID and Ubuntu
CPU architecture: x86_64
How docker service was installed:

This issue been found by a user who installed my docker image via unRAID's Community Apps and by a user who installed it using a docker-compose.yaml.

Command used to create docker container (run/create/compose/screenshot)

docker run --name='ferdi-server' -e 'NODE_ENV'='development' -e 'DB_CONNECTION'='mysql' -e 'DB_HOST'='10.66.0.10' -e 'DB_PORT'='3306' -e 'DB_USER'='ferdi' -e 'DB_PASSWORD'='password' -e 'DB_DATABASE'='adonis' -e 'IS_CREATION_ENABLED'='true' -e 'CONNECT_WITH_FRANZ'='true' -p '3333:80' -v '/mnt/cache/appdata/ferdi-server/recipes':'/usr/src/app/recipes' -v '/mnt/cache/appdata/ferdi-server':'/config' -v '/mnt/cache/appdata/ferdi-server/database':'/usr/src/app/database' 'xthursdayx/ferdi-server-docker'

Docker logs

https://xbb.wl7r.com/woVe8/JOCoDOQEgO531.txt

S6 v3 broke some of linuxserver.io's images

linuxserver.io


Expected Behavior

Running a fresh pull of syslog-ng:3.30.1 should continue running syslog-ng as it had before.

Current Behavior

After moving from syslog-ng:3.30.1-r4-ls38 to syslog-ng:3.30.1-r4-ls39, syslog-ng is unable to run.

Steps to Reproduce

  1. Start a container from an affected linuxserver.io image built after #93 shipped, for example syslog-ng.
    docker run --rm \
      -e PUID=1000 \
      -e PGID=1000 \
      -e TZ=Etc/UTC \
      lscr.io/linuxserver/syslog-ng:3.30.1-r4-ls39
  2. Check its logs.

Environment

OS: macOS, Raspberry Pi OS
CPU architecture: x86_64 and arm64
How docker service was installed:

Docker Desktop on macOS; from the repository on Linux

Command used to create docker container (run/create/compose/screenshot)

docker run -d --name syslog-ng --rm \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  lscr.io/linuxserver/syslog-ng:3.30.1-r4-ls39

Docker logs

% docker logs syslog-ng 
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service 00-legacy: starting
s6-rc: info: service 00-legacy successfully started
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/01-envfile
cont-init: info: /etc/cont-init.d/01-envfile exited 0
cont-init: info: running /etc/cont-init.d/01-migrations
[migrations] started
[migrations] no migrations found
cont-init: info: /etc/cont-init.d/01-migrations exited 0
cont-init: info: running /etc/cont-init.d/02-tamper-check
cont-init: info: /etc/cont-init.d/02-tamper-check exited 0
cont-init: info: running /etc/cont-init.d/10-adduser

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

cont-init: info: /etc/cont-init.d/10-adduser exited 0
cont-init: info: running /etc/cont-init.d/50-config
cont-init: info: /etc/cont-init.d/50-config exited 0
cont-init: info: running /etc/cont-init.d/90-custom-folders
cont-init: info: /etc/cont-init.d/90-custom-folders exited 0
cont-init: info: running /etc/cont-init.d/99-custom-files
[custom-init] no custom files found exiting...
cont-init: info: /etc/cont-init.d/99-custom-files exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun syslog-ng (no readiness notification)
s6-supervise syslog-ng/log: warning: unable to spawn ./run - waiting 10 seconds
s6-supervise syslog-ng/log (child): fatal: unable to exec run: Permission denied
s6-rc: info: service legacy-services successfully started
s6-rc: info: service 99-ci-service-check: starting
[ls.io-init] done.
s6-rc: info: service 99-ci-service-check successfully started
s6-supervise syslog-ng/log (child): fatal: unable to exec run: Permission denied
s6-supervise syslog-ng/log: warning: unable to spawn ./run - waiting 10 seconds
s6-supervise syslog-ng/log (child): fatal: unable to exec run: Permission denied
s6-supervise syslog-ng/log: warning: unable to spawn ./run - waiting 10 seconds
solvaholic@solvaholics-MacBook-Pro-3 pihole % docker logs syslog-ng | pbcopy
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service 00-legacy: starting
s6-rc: info: service 00-legacy successfully started
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/01-envfile
cont-init: info: /etc/cont-init.d/01-envfile exited 0
cont-init: info: running /etc/cont-init.d/01-migrations
cont-init: info: /etc/cont-init.d/01-migrations exited 0
cont-init: info: running /etc/cont-init.d/02-tamper-check
cont-init: info: /etc/cont-init.d/02-tamper-check exited 0
cont-init: info: running /etc/cont-init.d/10-adduser
cont-init: info: /etc/cont-init.d/10-adduser exited 0
cont-init: info: running /etc/cont-init.d/50-config
cont-init: info: /etc/cont-init.d/50-config exited 0
cont-init: info: running /etc/cont-init.d/90-custom-folders
cont-init: info: /etc/cont-init.d/90-custom-folders exited 0
cont-init: info: running /etc/cont-init.d/99-custom-files
cont-init: info: /etc/cont-init.d/99-custom-files exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun syslog-ng (no readiness notification)
s6-supervise syslog-ng/log: warning: unable to spawn ./run - waiting 10 seconds
s6-supervise syslog-ng/log (child): fatal: unable to exec run: Permission denied
s6-rc: info: service legacy-services successfully started
s6-rc: info: service 99-ci-service-check: starting
s6-rc: info: service 99-ci-service-check successfully started
s6-supervise syslog-ng/log (child): fatal: unable to exec run: Permission denied
s6-supervise syslog-ng/log: warning: unable to spawn ./run - waiting 10 seconds
s6-supervise syslog-ng/log (child): fatal: unable to exec run: Permission denied
s6-supervise syslog-ng/log: warning: unable to spawn ./run - waiting 10 seconds

[FEAT] Add support for Python custom scripts

Is this a new feature request?

  • I have searched the existing issues

Wanted change

custom-cont-init.d scripts run via bash. If I want to use Python instead, I need to use an extra bash script that executes my Python script (like a trampoline). Add support for running Pythong scripts directly within custom-cont-init.d.

Reason for change

It would be nice to just drop a Python script into custom-cont-init.d with Python shebang and have it work out of the box. I find the extra step of adding a bash script to delegate execution to Python as unnecessary.

Proposed code change

No response

[BUG] No access to MagicDNS feature of Tailscale

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When using baseimage-alpine:3.19 with tailscale-docker-mod it is not possible to use MaginDNS feature of Tailscale :

alpinelinux:~# ping nas
ping: bad address 'nas'
alpinelinux:~# tailscale status
# Health check:
#     - dns-os: getting OS base config is not supported
#     - dns: getting OS base config is not supported

Expected Behavior

With a Debian 12 VM and tailscale installed

root@debian:/# ping nas
PING nas.tail[*].net ([IP]) 56(84) bytes of data.
64 bytes from nas.tail[*].net ([IP]): icmp_seq=1 ttl=64 time=29.8 ms
64 bytes from nas.tail[*].net ([IP]): icmp_seq=2 ttl=64 time=1.25 ms
^C
--- nas.tail[*].net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms

Steps To Reproduce

  1. Run baseimage-alpine:3.19 from Docker
  2. cmd tailscale status
  3. see DNS issue

Environment

- OS: alpinelinux (same on baseimage-ubuntu)
- How docker service was installed:

Docker creation

version: "2.1"
services:
  alpinelinux:
    image: ghcr.io/linuxserver/baseimage-alpine:3.19
    container_name: alpinelinux
    environment:
      - DOCKER_MODS=ghcr.io/tailscale-dev/docker-mod:main
      - TAILSCALE_STATE_DIR=/var/lib/tailscale
      - TAILSCALE_USE_SSH=1
      - TAILSCALE_HOSTNAME=alpinelinux
      - TS_ACCEPT_DNS=true
      - TAILSCALE_AUTHKEY=tskey-auth*
    volumes:
      - ./config:/config
      - ./alpinelinux:/var/lib/tailscale

Container logs

NA

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.