[](https://github.com/$GITHUB_USERNAME/$GITHUB_REPONAME) --- [](https://hub.docker.com/repository/docker/griefed/$DOCKERHUB_REPONAME) [](https://hub.docker.com/repository/docker/griefed/$DOCKERHUB_REPONAME) [](https://hub.docker.com/repository/docker/griefed/$DOCKERHUB_REPONAME) [](https://hub.docker.com/repository/docker/griefed/$DOCKERHUB_REPONAME) [](https://github.com/Griefed/$GITHUB_REPONAME2) [](https://github.com/Griefed/$GITHUB_REPONAME2) $GITHUB_REPONAME $DESCRIPTION [](https://github.com/$CREATOR_USERNAME2/$CREATOR_REPONAME2) --- Creates a Container which runs [$CREATOR_USERNAME2's](https://github.com/$CREATOR_USERNAME2) [$CREATOR_REPONAME2](https://github.com/$CREATOR_USERNAME2/$CREATOR_REPONAME2), a fork of [$CREATOR_USERNAME1's](https://github.com/$CREATOR_USERNAME1) [$CREATOR_REPONAME1](https://github.com/$CREATOR_USERNAME1/$CREATOR_REPONAME1) with [$BASE_IMAGE](https://hub.docker.com/r/$BASE_IMAGE) as the base image. The [$BASE_IMAGE](https://hub.docker.com/r/$BASE_IMAGE) image is a custom base image built with [Alpine linux](https://alpinelinux.org/) and [S6 overlay](https://github.com/just-containers/s6-overlay). Using this image allows us to use the same user/group ids in the container as on the host, making file transfers much easier ## Deployment ### Pre-built images ```docker-compose.yml version: '3.6' services: $DOCKERHUB_REPONAME: container_name: $DOCKERHUB_REPONAME image: griefed/$DOCKERHUB_REPONAME restart: unless-stopped volumes: - ./path/to/config:/config environment: - TZ=Europe/Berlin - PUID=1000 # User ID - PGID=1000 # Group ID - DOMAIN=www.example.com - PROTOCOL=https ports: - 80:$CONTAINER_PORT - $CONTAINER_PORT2 ``` ## Raspberry Pi To run this container on a Raspberry Pi, use the `arm`-tag. I've tested it on a Raspberry Pi 3B. `griefed/$DOCKERHUB_REPONAME:arm` ## Configuration Configuration | Explanation ------------ | ------------- [Restart policy](https://docs.docker.com/compose/compose-file/#restart) | "no", always, on-failure, unless-stopped config volume | Contains config files and logs. data volume | Contains your/the containers important data. TZ | Timezone PUID | for UserID PGID | for GroupID DOMAIN | The address of the device this container is running on. Can be an IP or sub.domain.tld. PROTOCOL | The protocol used to access this container. Either HTTP or HTTPS. ports | The port where the service will be available at. ### Apps Add your apps by editing apps.json: { "apps" : [ {"name":"Name of app 1","hostname":"sub1.example.com","port":80,"href":"https://sub1.example.com" ,"icon":"icon-name"}, {"name":"Name of app 2","hostname":"sub2.example.com""port":8080,"href":"https://sub1.example.com" ,"icon":"icon-name"} ] } Please note: - No `,` at the end of the last app's line - Find the names of icons to use at [Material Design Icons](https://materialdesignicons.com/) ### Bookmarks Add your bookmarks by editing links.json: ``` { "bookmarks":[ { "category":"Category1", "links":[ { "name":"Link1", "url":"http://example.com" }, { "name":"Link2", "url":"http://example.com" } ] }, { "category":"Category2", "links":[ { "name":"Link1", "url":"http://example.com" }, { "name":"Link2", "url":"http://example.com" } ] } ] } ``` Add names for the categories you wish to define and add the bookmarks for each category. Please note: - No `,` at the end of the last bookmark in a category and at the end of the last category ## User / Group Identifiers When using volumes, permissions issues can arise between the host OS and the container. [Linuxserver.io](https://www.linuxserver.io/) avoids this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic. In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below: ``` $ id username uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup) ``` ### Building the image yourself Use the [Dockerfile](https://github.com/Griefed/$GITHUB_REPONAME/Dockerfile) to build the image yourself, in case you want to make any changes to it #### docker-compose.yml ```docker-compose.yml version: '3.6' services: $DOCKERHUB_REPONAME: container_name: $DOCKERHUB_REPONAME build: ./$GITHUB_REPONAME/ restart: unless-stopped volumes: - ./path/to/config/files:/config environment: - TZ=Europe/Berlin - PUID=1000 # User ID - PGID=1000 # Group ID - DOMAIN=www.example.com - PROTOCOL=https ports: - 8080:$CONTAINER_PORT - $CONTAINER_PORT2 ``` 1. Clone the repository: `git clone https://github.com/Griefed/$GITHUB_REPONAME.git ./$GITHUB_REPONAME` 1. Prepare docker-compose.yml file as seen above 1. `docker-compose up -d --build $DOCKERHUB_REPONAME` 1. Visit IP.ADDRESS.OF.HOST:8080 1. ??? 1. Profit!