Code Monkey home page Code Monkey logo

docker-thelounge's People

Stargazers

 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

docker-thelounge's Issues

can't install themes

When trying to install a theme it complains about spawning npm, can it be added to the next release? Perhaps a persisting themes folder would need to be mapped.

root@helion:~# docker exec -it the-lounge node /app/node_modules/thelounge/index.js --home /config install lounge-theme-solarized
2017-11-21 21:34:33 [WARN] --home is deprecated and will be removed in a future version.
2017-11-21 21:34:33 [WARN] Use the LOUNGE_HOME environment variable instead.
2017-11-21 23:34:33 [WARN] Referring to CSS files in the theme setting of /config/config.js is deprecated and will be removed in a future version.
2017-11-21 23:34:33 [INFO] Retrieving information about the package...
2017-11-21 23:34:33 [INFO] Installing lounge-theme-solarized...
2017-11-21 23:34:33 [ERROR] Error: spawn npm ENOENT

This might need some attention in the future.....

https://github.com/thelounge/thelounge.github.io/blob/master/_docs/getting_started/usage.md#--home

thelounge is changing the way it runs and deprecating --home from v2.5.0

Currently still on v2.4.0 though.

Error: EMFILE: too many open files, watch '/config/packages/package.json' on new container start

linuxserver.io


Expected Behavior

Working instance of thelounge after starting it up from a docker-compose file.

Current Behavior

Loops trough the same error message and doesn't launch.
Error: EMFILE: too many open files, watch '/config/packages/package.json'

Steps to Reproduce

  1. Download the docker-compose code from linuxserver (https://hub.docker.com/r/linuxserver/thelounge)
  2. docker-compose up -d
  3. Error message keeps looping

Environment

OS: Linux (Debian)
CPU architecture: x86_64
How docker service was installed: From the official docker repo

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

---
version: "2.1"
services:
  thelounge:
    image: lscr.io/linuxserver/thelounge
    container_name: thelounge
    networks:
      - proxy
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    volumes:
      - ./config:/config
#    ports:
#      - 9000:9000
    restart: unless-stopped

networks:
  proxy:
    external: true

Docker logs

Attaching to thelounge
thelounge    | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
thelounge    | [s6-init] ensuring user provided files have correct perms...exited 0.
thelounge    | [fix-attrs.d] applying ownership & permissions fixes...
thelounge    | [fix-attrs.d] done.
thelounge    | [cont-init.d] executing container initialization scripts...
thelounge    | [cont-init.d] 01-envfile: executing...
thelounge    | [cont-init.d] 01-envfile: exited 0.
thelounge    | [cont-init.d] 02-tamper-check: executing...
thelounge    | [cont-init.d] 02-tamper-check: exited 0.
thelounge    | [cont-init.d] 10-adduser: executing...
thelounge    |
thelounge    | -------------------------------------
thelounge    |           _         ()
thelounge    |          | |  ___   _    __
thelounge    |          | | / __| | |  /  \
thelounge    |          | | \__ \ | | | () |
thelounge    |          |_| |___/ |_|  \__/
thelounge    |
thelounge    |
thelounge    | Brought to you by linuxserver.io
thelounge    | -------------------------------------
thelounge    |
thelounge    | To support LSIO projects visit:
thelounge    | https://www.linuxserver.io/donate/
thelounge    | -------------------------------------
thelounge    | GID/UID
thelounge    | -------------------------------------
thelounge    |
thelounge    | User uid:    1000
thelounge    | User gid:    1000
thelounge    | -------------------------------------
thelounge    |
thelounge    | [cont-init.d] 10-adduser: exited 0.
thelounge    | [cont-init.d] 30-config: executing...
thelounge    | [cont-init.d] 30-config: exited 0.
thelounge    | [cont-init.d] 90-custom-folders: executing...
thelounge    | [cont-init.d] 90-custom-folders: exited 0.
thelounge    | [cont-init.d] 99-custom-files: executing...
thelounge    | [custom-init] no custom files found exiting...
thelounge    | [cont-init.d] 99-custom-files: exited 0.
thelounge    | [cont-init.d] done.
thelounge    | [services.d] starting services
thelounge    | [services.d] done.
thelounge    | 2022-02-12 14:24:46 [INFO] The Lounge v4.3.0 (Node.js 14.18.1 on linux x64)
thelounge    | 2022-02-12 14:24:46 [INFO] Configuration file: /config/config.js
thelounge    | 2022-02-12 14:24:46 [INFO] Available at http://[::]:9000/ in public mode
thelounge    | internal/fs/watchers.js:251
thelounge    |     throw error;
thelounge    |
thelounge    | Error: EMFILE: too many open files, watch '/config/packages/package.json'
thelounge    |     at FSWatcher.<computed> (internal/fs/watchers.js:243:19)
thelounge    |     at Object.watch (fs.js:1586:34)
thelounge    |     at watchPackages (/usr/lib/node_modules/thelounge/src/plugins/packages/index.js:165:5)
thelounge    |     at Object.loadPackages (/usr/lib/node_modules/thelounge/src/plugins/packages/index.js:161:2)
thelounge    |     at Server.<anonymous> (/usr/lib/node_modules/thelounge/src/server.js:186:12)
thelounge    |     at Object.onceWrapper (events.js:519:28)
thelounge    |     at Server.emit (events.js:400:28)
thelounge    |     at emitListeningNT (net.js:1365:10)
thelounge    |     at processTicksAndRejections (internal/process/task_queues.js:81:21) {
thelounge    |   errno: -24,
thelounge    |   syscall: 'watch',
thelounge    |   code: 'EMFILE',
thelounge    |   path: '/config/packages/package.json',
thelounge    |   filename: '/config/packages/package.json'
thelounge    | }
thelounge    | 2022-02-12 14:24:47 [INFO] The Lounge v4.3.0 (Node.js 14.18.1 on linux x64)
thelounge    | 2022-02-12 14:24:47 [INFO] Configuration file: /config/config.js
thelounge    | 2022-02-12 14:24:47 [INFO] Available at http://[::]:9000/ in public mode
thelounge    | internal/fs/watchers.js:251
thelounge    |     throw error;
thelounge    |     ^

Support Master Branch

Would it be possible to support a tag on Docker Hub for the master branch of TheLounge?

Here's an example Dockerfile:

FROM node:12-alpine

WORKDIR /opt/thelounge

ENV BUILD_TIMESTAMP=$(date +%s)

RUN apk --no-cache add \
    git

# needed to create merge commits
RUN git config --global user.name "Docker" && \
    git config --global user.email "[email protected]"

ENV THELOUNGE_HOME /var/opt/thelounge
VOLUME "${THELOUNGE_HOME}"

# commit SHA, branch, tag, etc.
ARG GIT_REVISION=master
# comma separated list of PRs to try and merge into $GIT_REVISION, will fail silently and continue if automatic merge fails
ARG PULL_REQUESTS=

RUN git clone https://github.com/thelounge/thelounge.git . && \
    git checkout "$GIT_REVISION"

# merge all (optional) pull requests
RUN \
for pr in $(echo $PULL_REQUESTS | tr ',' '\n'); do \
    git fetch origin "refs/pull/$pr/head" && (git merge --no-edit --no-ff FETCH_HEAD || git merge --abort); \
done; \
rm -rf node_modules

RUN yarn && \
    NODE_ENV=production yarn build && \
    yarn install --production && \
    yarn link

ENV NODE_ENV=production

# expose the default port
EXPOSE 9000

CMD ["thelounge", "start"]

Source: https://github.com/williamboman/thelounge-docker-from-source/blob/master/Dockerfile

The master branch is not considered stable always, but it usually is. It's a great way to preview upcoming release features, for sure. It's what runs on the main TheLounge demo site, I believe.

Not sure if supporting something like this is outside of the scope of what linuxserver.io provides, but would be neat.

[ERROR] Unable to load sqlite3 module when starting thelounge

linuxserver.io


Expected Behavior

The container should run without any sqlite3 error messages

Current Behavior

During startup of the container, the module for sqlite3 cannot load

Steps to Reproduce

  1. Use docker-compose.yaml provided and start up container on a machine similar to: Linux 5.15.0-1021-oracle #27-Ubuntu SMP aarch64 GNU/Linux

Environment

OS: Ubuntu 22.04
CPU architecture:/arm64
Docker installed via official instructions https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository:

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

version: '3.8'
services:
  thelounge:
    image: ghcr.io/linuxserver/thelounge
    container_name: thelounge
    environment:
      - TZ=Europe/Berlin
    volumes:
      - /srv/Config/Thelounge/:/config
    restart: unless-stopped

Docker logs

[custom-init] No custom services found, skipping...
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/10-adduser
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
-------------------------------------

cont-init: info: /etc/cont-init.d/10-adduser exited 0
cont-init: info: running /etc/cont-init.d/30-config
cont-init: info: /etc/cont-init.d/30-config exited 0
cont-init: info: running /etc/cont-init.d/99-custom-files
[custom-init] No custom files found, skipping...
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 init-mods: starting
s6-rc: info: service init-mods successfully started
s6-rc: info: service init-mods-package-install: starting
s6-rc: info: service init-mods-package-install successfully started
s6-rc: info: service init-mods-end: starting
s6-rc: info: service init-mods-end successfully started
s6-rc: info: service init-services: starting
s6-rc: info: service init-services successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun thelounge (no readiness notification)
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
2022-10-24 23:28:00 [INFO] Configuration file created at /config/config.js.
2022-10-24 23:28:00 [ERROR] Unable to load sqlite3 module. See https://github.com/mapbox/node-sqlite3/wiki/Binaries
2022-10-24 23:28:00 [INFO] The Lounge v4.3.1 (Node.js 16.17.1 on linux arm64)
2022-10-24 23:28:00 [INFO] Configuration file: /config/config.js
2022-10-24 23:28:00 [INFO] Available at http://[::]:9000/ in public mode
2022-10-24 23:28:00 [INFO] New VAPID key pair has been generated for use with push subscription.
s6-rc: info: service 99-ci-service-check: stopping
s6-rc: info: service 99-ci-service-check successfully stopped
s6-rc: info: service legacy-services: stopping
2022-10-24 23:32:27 [INFO] Exiting...
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service init-services: stopping
s6-rc: info: service 00-legacy: stopping
s6-rc: info: service init-services successfully stopped
s6-rc: info: service init-mods-end: stopping
s6-rc: info: service 00-legacy successfully stopped
s6-rc: info: service init-mods-end successfully stopped
s6-rc: info: service init-mods-package-install: stopping
s6-rc: info: service init-mods-package-install successfully stopped
s6-rc: info: service init-mods: stopping
s6-rc: info: service init-mods successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

unRAID Naming inconsistency

Here we universally use thelounge however somewhere in the chain the unRAID template ends up with the-lounge naming.

This means the examples here wont work out of the box e.g. add user example

sqlite3 module isn't built correctly under armhf

Hey all.

I'm testing your Docker image on a Raspberry Pi 3 B+ with Raspbian (armhf architecture). Logs show that your image doesn't have a working sqlite3 module.

pi@Merida:~/Desktop/merida $ docker-compose up
Creating thelounge
Attaching to thelounge
thelounge    | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
thelounge    | [s6-init] ensuring user provided files have correct perms...exited 0.
thelounge    | [fix-attrs.d] applying ownership & permissions fixes...
thelounge    | [fix-attrs.d] done.
thelounge    | [cont-init.d] executing container initialization scripts...
thelounge    | [cont-init.d] 10-adduser: executing...
thelounge    |
thelounge    | -------------------------------------
thelounge    |           _         ()
thelounge    |          | |  ___   _    __
thelounge    |          | | / __| | |  /  \
thelounge    |          | | \__ \ | | | () |
thelounge    |          |_| |___/ |_|  \__/
thelounge    |
thelounge    |
thelounge    | Brought to you by linuxserver.io
thelounge    | We gratefully accept donations at:
thelounge    | https://www.linuxserver.io/donate/
thelounge    | -------------------------------------
thelounge    | GID/UID
thelounge    | -------------------------------------
thelounge    |
thelounge    | User uid:    1000
thelounge    | User gid:    1000
thelounge    | -------------------------------------
thelounge    |
thelounge    | [cont-init.d] 10-adduser: exited 0.
thelounge    | [cont-init.d] 30-config: executing...
thelounge    | [cont-init.d] 30-config: exited 0.
thelounge    | [cont-init.d] 99-custom-scripts: executing...
thelounge    | [custom-init] no custom scripts found exiting...
thelounge    | [cont-init.d] 99-custom-scripts: exited 0.
thelounge    | [cont-init.d] done.
thelounge    | [services.d] starting services
thelounge    | [services.d] done.
thelounge    | 2019-05-15 16:52:37 [INFO] Configuration file created at /config/config.js.
thelounge    | 2019-05-15 16:52:37 [ERROR] Unable to load sqlite3 module. You might need to install it manually.
thelounge    | 2019-05-15 16:52:39 [INFO] The Lounge v3.0.1 (Node.js 10.14.2 on linux arm)
thelounge    | 2019-05-15 16:52:39 [INFO] Configuration file: /config/config.js
thelounge    | 2019-05-15 16:52:39 [INFO] Available at http://:::9000/ in public mode
thelounge    | 2019-05-15 16:52:39 [INFO] New VAPID key pair has been generated for use with push subscription.
^CGracefully stopping... (press Ctrl+C again to force)
Stopping thelounge ... done

This is my uname -a: Linux Merida 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux

And my docker-compose.yml (running on a random folder at my desktop):

version: '2'
services:
        thelounge:
                image: linuxserver/thelounge:latest
                container_name: thelounge
                environment:
                       - PUID=1000
                       - PGID=1000
                volumes:
                        - ./thelounge:/var/opt/thelounge
                ports:
                        - 9000:9000
                restart: unless-stopped

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.