Giter Club home page Giter Club logo

docker-organizr-v2's Introduction

Fork of the LSIO Organizr Docker container to include the Organizr v2 master branch.

organizrTools/docker-organizr-v2

Feel free to submit Pull Requests and report any Issues that you may have found.

Organizr

Build Status

An HTPC/Homelab services organizer that is written in PHP.

Organizr

Usage

docker create \
  --name=organizr \
  -v <path to data>:/config \
  -e PGID=<gid> -e PUID=<uid>  \
  -p 80:80 \
  organizrtools/organizr-v2

Parameters

The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side. For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container. So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 and http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.

  • -p 80 - The port(s)
  • -v /config - Mapping the config files for Organizr
  • -e PGID Used for GroupID - see below for explanation
  • -e PUID Used for UserID - see below for explanation

It is based on Alpine Linux with an s6 overlay.

User / Group Identifiers

Sometimes when using data volumes (-v flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user PUID and group PGID. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" โ„ข.

In this instance PUID=1001 and PGID=1001. To find yours use id user as below:

  $ id <dockeruser>
    uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)

Image Tags

  • The latest tag will get you the original Organizr v2 image.
  • The php-fpm tag includes the implementation of PHP-FPM within the container instead of the default FastCGI. PHP-FPM is much more efficient, especially in terms of memory, and will include the recommended PM changes for the www.conf file that we recommend to users that are just getting started. One thing to note is that, if you mounted the /etc/php7/php-fpm.d/ directory for the container to your Host, you MUST recreate your container WITHOUT that mount. You will also want to remove the /path/to/Org/config/php directory from your Docker Host as that can cause issues as well. This is designed as a drop-in to get PHP-FPM working without having to mount extra directories, etc.
  • The plex tag will get you the original Organizr v2 image, but with some changes found in the plex-theme branch of the GitHub repo to accommodate the Plex Theme for Organizr v2 by Burry.
  • The armhf tag is an adaptation of the php-fpm image for ArmHF platforms like the RaspberryPi.
  • The arm64 tag is an adaptation of the php-fpm image for Arm64 platforms like the ASRock64.

NOTE: Switching to OR from the php-fpm or dev-php-fpm tags to/from ANY other tag will result in an error as they use a socket for the PHP-FPM connection. You will need to backup and then rename/remove your /config/nginx/site-confs/default and /config/php/www.conf files, then restart the container.

Setting up the application

Setup accounts, service tabs, etc. via the webUI. More info can be found on the official Organizr GitHub repository.

Info

  • Shell access whilst the container is running: docker exec -it organizr /bin/bash
  • To monitor the logs of the container in realtime: docker logs -f organizr
  • Container version number: docker inspect -f '{{ index .Config.Labels "build_version" }}' organizr
  • Image version number: docker inspect -f '{{ index .Config.Labels "build_version" }}' organizrtools/docker-organizr-v2

docker-organizr-v2's People

Contributors

chbmb avatar gilbn avatar j0nnymoe avatar roxedus avatar sparklyballs avatar tronyx avatar

Stargazers

 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

docker-organizr-v2's Issues

arm64 option

Hi!

I am currently running organizr-v2 in an arm64 environment, just by using lsiobase/alpine.nginx.arm64:3.8 as a base. Do you thing it would be possible to add it as a tag?

Thanks for the awesome work!

/Xtract

After resolving the DNS resolution issue by changing ndots to 1, now I get this...

rancher@k8s1:~$ docker logs 1e97e188c228
[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] 10-adduser: executing... 

-------------------------------------
GID/UID
-------------------------------------

User uid:    996
User gid:    996
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 20-config: executing... 
[cont-init.d] 20-config: exited 0.
[cont-init.d] 30-install: executing... 
-----------------------
|  Updating Organizr  |
-----------------------
**fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
sed: /config/www/Dashboard/api/config/config.php: No such file or directory**
[cont-init.d] 30-install: exited 0.
[cont-init.d] 30-keygen: executing... 
generating self-signed keys in /config/keys, you can replace these with your own keys if required
Generating a RSA private key
.....................................................+++++
.+++++
writing new private key to '/config/keys/cert.key'
-----
[cont-init.d] 30-keygen: exited 0.
[cont-init.d] 50-debug: executing... 
-----------------------
|     Kernel Info     |
-----------------------
Linux organizr-846df49745-nms8b 4.15.0-66-generic #75-Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019 x86_64 GNU/Linux
[cont-init.d] 50-debug: exited 0.
[cont-init.d] 60-config: executing... 
--------------------------------------
|      Backing up www.conf file      |
--------------------------------------
--------------------------------------
|       Copying www.conf file        |
--------------------------------------
--------------------------------------
|      Backing up default file       |
--------------------------------------
--------------------------------------
|      Copying default site file     |
--------------------------------------
[cont-init.d] 60-config: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.

Any help ???

armhf exec format error

Since the latest commit a1c3430 the armhf and dev-armhf cannot be started anymore due to an exec format error.

# uname -a
Linux odroid 4.14.47-132 #1 SMP PREEMPT Sun Jun 3 22:33:16 UTC 2018 armv7l armv7l armv7l GNU/Linux
        organizr:
                container_name: organizr
                restart: unless-stopped
                volumes:
                        - '/mnt/sd/docker/config/organizr:/config'
                ports:
                        - '82:80'
                image: organizrtools/organizr-v2:armhf
# docker-compose logs -f organizr
Attaching to organizr
organizr        | standard_init_linux.go:190: exec user process caused "exec format error"
organizr        | standard_init_linux.go:190: exec user process caused "exec format error"
organizr        | standard_init_linux.go:190: exec user process caused "exec format error"
organizr        | standard_init_linux.go:190: exec user process caused "exec format error"
organizr        | standard_init_linux.go:190: exec user process caused "exec format error"
organizr        | standard_init_linux.go:190: exec user process caused "exec format error"
organizr        | standard_init_linux.go:190: exec user process caused "exec format error"
organizr        | standard_init_linux.go:190: exec user process caused "exec format error"
organizr exited with code 1

Docker container wont stop - process s6-sync stuck

Cannot stop, restart or kill docker container. All other containers respond fine so dont think this is an issue with docker itself. When trying to stop organizr container, it just hangs indefinatly, trying stop and kill from cmd doesnt help. Looking at container, it appears to be stuck with only process left running s6-sync

only option is to restart docker, but this is far from ideal since all other containers will restart

Any help would be greatly appreciated

Synology DSM 6.2 (Docker Version: 17.05.0-0400)

crond[352]: USER root pid 613 cmd run-parts /etc/periodic/15min
[26-Mar-2019 16:45:25] NOTICE: Terminating ...
[26-Mar-2019 16:45:25] NOTICE: exiting, bye-bye!
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] syncing disks.

no

Thanks, Tronyx

Support multi-arch deploys with Manifests

Currently Organizr tags it's separate architecture images differently.

The latest tag is only amd64, to use this image on ARM, you have to point it to an architecture specific tag like arm64 or armhf.

This complicates deployment and causes unnecessary user friction.

Nextcloud for example, does this correctly. Their latest tag supports a whole slew of architectures.

Take a look at https://hub.docker.com/_/nextcloud/?tab=tags vs https://hub.docker.com/r/organizrtools/organizr-v2/tags to see what I mean.

If Organizr could use docker manifests the way Nextcloud does, I wouldn't have to do things like this in my ansible code:

    image: organizrtools/organizr-v2:{{ 'armhf' if arm else 'latest' }}

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.