Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/griefed/docker-app-collection
A bundle of apps. Previously available as separate containers, now bundled into one.
https://github.com/griefed/docker-app-collection
composerize dcc-web docker forks hacktoberfest linuxserver lsiobase nginx nginxconfig raspberry-pi status sui texture-generation tgen triangulator
Last synced: 2 months ago
JSON representation
A bundle of apps. Previously available as separate containers, now bundled into one.
- Host: GitHub
- URL: https://github.com/griefed/docker-app-collection
- Owner: Griefed
- License: lgpl-3.0
- Created: 2020-10-25T16:05:38.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-08-04T10:39:12.000Z (over 1 year ago)
- Last Synced: 2024-10-04T15:51:23.449Z (3 months ago)
- Topics: composerize, dcc-web, docker, forks, hacktoberfest, linuxserver, lsiobase, nginx, nginxconfig, raspberry-pi, status, sui, texture-generation, tgen, triangulator
- Language: Dockerfile
- Homepage:
- Size: 2.02 MB
- Stars: 14
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![docker-App-Collection](https://i.griefed.de/images/2020/11/18/docker-App-Collection_header.png)](https://github.com/Griefed/docker-App-Collection)
[![Homepage](https://img.shields.io/badge/Griefed.de-Homepage-c0ffee?style=for-the-badge&labelColor=325358&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAACylBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v6OsnIvAAAA7XRSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiQlJicoKSorLC0uLzAxMjU2Nzg5Ojs8Pj9AQUJERUZHSElLTE9QUVJTVFVWV1hZXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6Cio6WmqKmqq6ytrrCxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jKy8zNzs/Q0dLT1NXW2Nrb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f4O/wLaAAAGUklEQVR42o3WBVsb2xoF4G9PQqgXubktUnd3d3fFqjjHQt2Vg9Xd3TXU3d1b3KEugczM+g8nY5VAmrxYZGaxtj1A9jgfcoS1SdKTUx73gg2kYZzOTcdIYQjKeVWZnPJ7a91bh2zc6/SJWbNj16F9G+aNa12VkXGjBYU+5FTTz0DqmPphB9MsIjRCgXnRXRH42pSc6lQCgLdCIYoifsL3IqcG8FB8e34sISpkUnjUjKRj2VpeIDmjmweFdYeRkcr/mtYjK9CNfstnt1pAyFxmJA3XIi5VUDucqEeOsV5p6u2v5tbl6Cecb9RtC2T5Qxk5wE35rN5u8uPKhHuMPPZB/FgClEzXUbl0s3jg6S3+Ubgnlati1w1XB74ExPhyJ4KbzQNHasQHVyeHdH56nxQpoZwOLIyHuLkC6ciJSrtEiNMZ2ev3BdjgTi6ouAsoGUJ2amUCh9zJJZVSgHy71XQ7CDzwJhf5vQRO/DqR4wR87qYn1+gS7gHi0gGdmvp5cKSv4tOsd1A68PaaH7loAg8bvuTz23s+lPS66BsvAhDX66rWlDlt4vEYitIgojbZULzvwqSH/OOPy8iZCBGyPQYiFmSB7GgFBpuNNPrtWfOZW2bzlcvmlFtnzGdvms3XLppTbqeYz18/15YkXq8heVObbAwb5DjLCJID4qjfmTBDyNTuxpi/vHtOCTGEhrarE/FX1cGTR1eMiuxxsTVJYgWp7GiSGe/A5rYHMVy68eGU35wddXc3o/EJ7u4rxlKLXXVYxHx91Y0DqNv2/7E5C5QOflIFoSkpZktPIhkxPMzNB7AzpHdYjcjh3XsOifl/aO+QOlPHtRs84E/vqL6jmwZP6HFO6sDNlyr8STJ2GECqLxHDLTmgcINpxZNZplPHTbOeJps23ZlhOn/AtOD5UtOua7GxZxMfMCKql8UDpxhJKmdCFOI4Iia+KCoGYO5rZ/qGn591Ihtu+V4euVVJ0qwUqZdakM3UE6mb41Lj2pOdfn9TGcYa6bC2JMkwEfv8dSQJmBDtYSZyJYDYGWAUSf4BlpAiIMJ/4R0XA2g1MJMkiUCUFrCs34bnrgaYgLVyle0QA7SAwMAGZlcDJgC75YC9EMdqAXcXBDxyNWA8cJBsdCeBUC1gZijnuIFnTVVFkgQAR8iGOwxEawHjfUPPkL1mJ+/0JKKW36C6TpIQYA9JtgLztYB1AcnvyE717LeFX5sT9YMmlyR/qZNIC4Et3xs0DCjToGeSu25KZNmARO0XBwKXOTVgaQAzk53aNYn07ewDdLWOAQEkac8jx9+oBFyOL2cVmPxJjd6LqtPSjFzOBt9emdwi8IeXccoQRraxazDYpAqqvnqnagoRFy8ARZ4k4S4AQmY9ZRlbL3hFP2Ol0ERDk0PklwbgPEeymQCEeZwUMKNt/INfA/DdPz/NAYsW8OMItRYBvPKTAoKm+JpdCfC4A5s7RpKNldKEWCng2Sy7SWQiNFHQZNAoC2zE9QayqZMKyStPooA/ovVyA6Yh0w5VfOWl2sNhFY9DZglkRIZ9kAnh0ip4RF8gonioSgc9hKpggADVo24foMhuQxRiheJxdWkrrywmohS7gds9zN8oAhD5r4WvEsnn3tvPJcofyxBbg7bDU5wHfLr2EcgO7NnUp7KeuOq+TTr2TxCB+/G6gFUjmAsBeUNKIQTSz9wvAGm1KeDE2vHSKqyHih/5GqqPnZ/nqi6mAUfc6BdN3gKXqgSMH9DNTETBO1RrqoZrDxdzpKpyGciuTXbGWYGDocv7xWcQUS40fQRompOi0gHg2wCyxy0EkBXhP/cWEeVD0w/ftSIbHVXeBwjRjMrQrxOBq9OMV3SOAzwmJPifBwR1OHbc1wJIH5q2sWvFcofQwivyCX/3NSAu0VO59AutgNUifji2f+O/cbL5VYLiFPHJM16LkFj+5sgBbtxbyCx3on79f52rP/+12iVvMCPHGp8TIRNS/22hI40xLku9XTxel37LMDUPCvGKP6k4n708FEvdyJlgEYqis2tmhE+dGDZr/dl0KxR8f3KqN49yCTyAkg7kVLNvgHh72YViAd9Z81JMLcakAp+bkFM+RbCsMxLn1Wnism1Hjh/YsSp2ZMtqjIjq7LW+9SWnqrzODjCQijFGPxiC71Ynp/RJrZnjehzZ+Q9fNggLmTcf8AAAAABJRU5ErkJggg==)](https://www.griefed.de)
[![Blog](https://img.shields.io/badge/Griefed.de-Blog-c0ffee?style=for-the-badge&labelColor=325358&logo=wordpress)](https://blog.griefed.de)
[![Fleet](https://img.shields.io/badge/Griefed.de-Fleet-c0ffee?style=for-the-badge&labelColor=325358&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABiVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8XJWL///8gNCTuAAAAgXRSTlMAAgMEBQYHCAkLDA4PEBESFhgZGh0eISIlKC8zNDU3OT0+P0BBQkhKS01QU1RVVltcXWJjZGlrbG1wcnN0eHl6e4CBhYyOkJWWmZ6foaKkqaqsrrKztLe8vsHExcbHy8zNz9DT1NXX2Nna293e3+Tm5+nq7O3u7/Hy9fb4+fr7/f4zgtRAAAABWklEQVR42mKgHhCFMbg0dHW1xNGlBcw5wTS7tkcJoNV5UJItBoMA3GPjcm3btm3btq1+8s1JxijuV0p+X5NzVcfNRoT4O26ClEZykdydI5ddCHDt+EfqthiwYoXfRH++yb9r8IZ+o/CpeB1hE/zMtXf0KYKkP9p8ZSaCfq1S2ddDU84zrsuXYXZjYy0VcBxQKYVmgQ9slS8HhUbxSP+kNAPB+kIyO1ggr5mn9GoX70wKydA4/RNQQSVPvGspZEHQ5ZKHK5lu8UymUi/enRQuxYjcN5LPH+RTQfcVlQ4AbfJ1n4JKRusG0ErpzCn3vjFMe8g9/eUU2himHEAilc+Vq6XJ4Zyx6eXTk3f6/IOww7i2oOliXNXQ/H5kHBcWSO2MowyKJc4VU/BLOGcMm04EJF3FyHsQImkvMj/tQBhrz0to+rwSUf70XvjT23VWxKLLaBkYGuqr+Y8f9Q3q0fzzGED8cgAAAABJRU5ErkJggg==)](https://fleet.griefed.de)
[![GitHub](https://img.shields.io/badge/Griefed.de-Github-c0ffee?style=for-the-badge&labelColor=325358&logo=github)](https://github.com/Griefed)
[![DockerHub](https://img.shields.io/badge/Griefed.de-DockerHub-c0ffee?style=for-the-badge&labelColor=325358&logo=docker&logoColor=white)](https://hub.docker.com/u/griefed)
[![Discord](https://img.shields.io/badge/Griefed.de-Discord-c0ffee?style=for-the-badge&labelColor=325358&logo=discord&logoColor=white)](https://discord.griefed.de)---
# Sources, GitHub, GitLab and Mirroring and all that good stuff
Repositories on GitHub are now for issues only. I've set up my own installation of GitLab and moved all my repositories over to [Git.Griefed.de](https://git.griefed.de/users/Griefed/projects). Make sure to check there first for the latest code before opening an issue on GitHub.
For questions, you can always join my [Discord server](https://discord.griefed.de) and talk to me there.
---
# docker-App-Collection[![Docker Pulls](https://img.shields.io/docker/pulls/griefed/app-collection?style=for-the-badge&logo=Docker&labelColor=325358&color=c0ffee&logoColor=white)](https://hub.docker.com/repository/docker/griefed/app-collection)
[![Docker Cloud Automated build](https://img.shields.io/docker/cloud/automated/griefed/app-collection?label=Docker%20build&style=for-the-badge&logo=Docker&labelColor=325358&color=c0ffee&logoColor=white)](https://hub.docker.com/repository/docker/griefed/app-collection)
[![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/griefed/app-collection?label=Docker%20build&style=for-the-badge&logo=Docker&labelColor=325358&color=c0ffee&logoColor=white)](https://hub.docker.com/repository/docker/griefed/app-collection)
[![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/griefed/app-collection?label=Image%20size&sort=date&style=for-the-badge&logo=Docker&labelColor=325358&color=c0ffee&logoColor=white)](https://hub.docker.com/repository/docker/griefed/app-collection)
[![GitHub Repo stars](https://img.shields.io/github/stars/Griefed/docker-App-Collection?label=GitHub%20Stars&style=for-the-badge&logo=Github&labelColor=325358&color=c0ffee)](https://github.com/Griefed/docker-App-Collection)
[![GitHub forks](https://img.shields.io/github/forks/Griefed/docker-App-Collection?label=GitHub%20Forks&style=for-the-badge&logo=Github&labelColor=325358&color=c0ffee)](https://github.com/Griefed/docker-App-Collection)App-Collection is, as the name implies, a collection of various apps which I have previously released in separate Docker Containers and am now moving/collecting into one single container.
Please keep in mind that the first start of the container may take a while.
That is due to the apps and how they are installed on first run as they are not part of the image itself.
Especially Composerize can take a couple of minutes to finish.Current applications:
Creator | Repository
--------|------------
[lukaszmn](https://github.com/lukaszmn) | [active-forks](https://github.com/lukaszmn/active-forks), a fork of [techgaun's](https://github.com/techgaun) [active-forks](https://github.com/techgaun/active-forks)
[magicmark](https://github.com/magicmark) | [composerize](https://github.com/magicmark/composerize)
[bucherfa](https://github.com/bucherfa) | [Griefed's](https://github.com/Griefed) [dcc-web](https://github.com/Griefed/dcc-web), a fork of [bucherfa's](https://github.com/bucherfa) [dcc-web](https://github.com/bucherfa/dcc-web)
[digitalocean](https://github.com/digitalocean) | [nginxconfig.io](https://github.com/digitalocean/nginxconfig.io)
[ThreadR-r](https://github.com/ThreadR-r) | [sui-dashboard-status](https://github.com/ThreadR-r/sui-dashboard-status), a fork of [jeroenpardon's](https://github.com/jeroenpardon) [sui](https://github.com/jeroenpardon/sui)
[maeglin89273](https://github.com/maeglin89273) | [triangulator](https://github.com/maeglin89273/triangulator)
[schalkt](https://github.com/schalkt) | [tgen](https://github.com/schalkt/tgen)
[RundesBalli](https://github.com/RundesBalli) | [Griefed's](https://github.com/Griefed) [php-noise.com](https://github.com/Griefed/php-noise.com), a fork of [RundesBalli's](https://github.com/RundesBalli) [php-noise.com](https://github.com/RundesBalli/php-noise.com)
[RundesBalli](https://github.com/RundesBalli) | [php-noise](https://github.com/RundesBalli/php-noise)App-Collection | Screenshots
------|------
[![active-forks](https://i.griefed.de/images/2020/11/19/docker-App-Collection_forks_screenshot.png)](https://github.com/lukaszmn/active-forks) | [![composerize](https://i.griefed.de/images/2020/11/19/docker-App-Collection_composerizescreenshot.png)](https://github.com/magicmark/composerize)
[![dcc-web](https://i.griefed.de/images/2020/11/19/docker-App-Collection_dcc_screenshot.png)](https://github.com/bucherfa/dcc-web) | [![nginxconfig.io](https://i.griefed.de/images/2020/11/19/docker-App-Collection_nginxconfig.io_screenshot.png)](https://github.com/digitalocean/nginxconfig.io)
[![sui-dashboard-status](https://i.griefed.de/images/2020/11/19/docker-App-Collection_screenshot.png)](https://github.com/ThreadR-r/sui-dashboard-status) | [![triangulator](https://i.griefed.de/images/2020/11/19/docker-App-Collection_triangulator_screenshot.png)](https://github.com/maeglin89273/triangulator)
[![tgen](https://i.griefed.de/images/2020/11/28/docker-App-Collection_tgen_screenshot.png)](https://github.com/schalkt/tgen) | [![php-noise](https://i.griefed.de/images/2021/01/22/docker-App-Collection_noise_screenshot.png)](https://github.com/RundesBalli/php-noise.com)[[_TOC_]]
---
Creates a Container which runs [Griefed's](https://github.com/Griefed) [docker-App-Collection](https://github.com/Griefed/docker-App-Collection), with [lsiobase/nginx](https://hub.docker.com/r/lsiobase/lsiobase/nginx) as the base image, similar to https://apps.griefed.de.
The [lsiobase/nginx](https://hub.docker.com/r/lsiobase/nginx) 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
Tags | Description
-----|------------
`latest` | Using the `latest` tag will pull the latest image for linux/amd64,linux/arm/v7,linux/arm64.
`develop` | The latest image of, if existent, the in-dev version of this container. Use at your own risk!Using GitHub Workflows, images for this container are multi-arch. Simply pulling `:latest` should retrieve the correct image for your architecture.
Images are available for linux/amd64,linux/arm/v7,linux/arm64.## Pre-built images
using docker-compose:
```docker-compose.yml
version: "2"
services:
app-collection:
image: griefed/app-collection:latest
container_name: app-collection
restart: unless-stopped
environment:
- TZ=Europe/Berlin # Timezone
- PUID=1000 # User ID
- PROTOCOL=https # The protocol used to access this container. Either HTTP or HTTPS.
- PGID=1000 # Group ID
- INSTALL_TRIANGULATOR=true # Whether to install triangulator. Either true or false.
- INSTALL_TGEN=true # Whether to install tgen. Either true or false.
- INSTALL_NGINXCONFIG_IO=true # Whether to install NGINXConfig.io. Either true or false.
- INSTALL_DCC=true # Whether to install dcc. Either true or false.
- INSTALL_COMPOSERIZE=true # Whether to install composerize. Either true or false.
- INSTALL_ACTIVE_GITHUB_FORKS=true # Whether to install Active GitHub Forks. Either true or false.
- INSTALL_PHP_NOISE=true # Whether to install php-noise. Either true or false.
- DOMAIN=www.example.com # The address of the device this container is running on. Can be an IP or sub.domain.tld.
volumes:
- /host/path/to/config:/config # Contains all application data and base-image config files
ports:
- 443:443 # https
- 80:80 # http
```Using CLI:
```bash
docker create \
--name=app-collection \
-e TZ=Europe/Berlin \
-e PUID=1000 \
-e PROTOCOL=https \
-e PGID=1000 \
-e INSTALL_TRIANGULATOR=true \
-e INSTALL_TGEN=true \
-e INSTALL_NGINXCONFIG_IO=true \
-e INSTALL_DCC=true \
-e INSTALL_COMPOSERIZE=true \
-e INSTALL_ACTIVE_GITHUB_FORKS=true \
-e INSTALL_PHP_NOISE=true \
-e DOMAIN=www.example.com \
-v /host/path/to/config:/config \
-p 443:443 \
-p 80:80 \
--restart unless-stopped \
griefed/app-collection:latest
```# 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.
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.
INSTALL_DCC | Either `true` or `false`.
INSTALL_COMPOSERIZE | Either `true` or `false`.
INSTALL_NGINXCONFIG_IO | Either `true` or `false`.
INSTALL_TGEN | Either `true` or `false`.
INSTALL_TRIANGULATOR | Either `true` or `false`.
INSTALL_ACTIVE_GITHUB_FORKS | Either `true` or `false`.
INSTALL_PHP_NOISE | Either `true` or `false`.
ports | The port where the service will be available at.## INSTALL and .lock files
If `INSTALL_`-variable is set to `false`, App-Collection will not install that app during boot. If set to `true`, App-Collection will install the corresponding app and place a `appname.lock` file in the `/config/www/` folder.
If at any point you wish to reinstall one of the apps, make sure the corresponding `appname.lock` file is deleted.
If at any point you wish to uninstall one of the apps:
1. Stop the container with `docker stop app-collection`
1. Set the `INSTALL_`-variable for the app you do not want to install to `false`
1. Edit your apps.json and remove entries no longer available.
1. Optionally, if you didn't edit your apps.json, delete the folder you specified in `volumes:` so App-Collection will generate a fresh one.
1. Run `docker-compose up -d app-collection`## 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/docker-App-Collection/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:
app-collection:
build: ./docker-App-Collection/
container_name: app-collection
restart: unless-stopped
environment:
- TZ=Europe/Berlin # Timezone
- PUID=1000 # User ID
- PROTOCOL=https # The protocol used to access this container. Either HTTP or HTTPS.
- PGID=1000 # Group ID
- INSTALL_TRIANGULATOR=true # Whether to install triangulator. Either true or false.
- INSTALL_TGEN=true # Whether to install tgen. Either true or false.
- INSTALL_NGINXCONFIG_IO=true # Whether to install NGINXConfig.io. Either true or false.
- INSTALL_DCC=true # Whether to install dcc. Either true or false.
- INSTALL_COMPOSERIZE=true # Whether to install composerize. Either true or false.
- INSTALL_ACTIVE_GITHUB_FORKS=true # Whether to install Active GitHub Forks. Either true or false.
- INSTALL_PHP_NOISE=true # Whether to install php-noise. Either true or false.
- DOMAIN=www.example.com # The address of the device this container is running on. Can be an IP or sub.domain.tld.
volumes:
- /host/path/to/config:/config # Contains all application data and base-image config files
ports:
- 443:443 # https
- 80:80 # http
```1. Clone the repository: `git clone https://github.com/Griefed/docker-App-Collection.git ./docker-App-Collection`
1. Prepare docker-compose.yml file as seen above
1. `docker-compose up -d --build app-collection`
1. Visit IP.ADDRESS.OF.HOST:8080
1. ???
1. Profit!# App Information
## Active GitHub Forks
* works after providing a **personal GitHub token**. It is used only to increase the limits to query to API. The token is stored in Local Storage only, not sent anywhere except for the GitHub API.
* include the **original repository** in the list, marked in bold
* after expanding **Options**, it is possible to increase the **maximum amount of forks** to retrieve and to utilize some kind of caching
* retrieve **commits of each fork** and show the differences
* click on box in the **Diff** column to see the commits**Optimizations**
Because this version retrieves commits from every fork which is slow and uses your quota (it resets every hour, don't worry), I added two options for caching results:
* **Same size** - if a fork has the same size as a fork that has already been read, it is assumed to be the same and contain the same commits.
* **Same Push Date** - same but looks at the Last Push date.
If both are selected, both conditions have to be satisfied at the same time.
If the condition is satisfied, commits for the second fork are not retrieved but assumed to be the same as in the first fork.## Composerize
**IMPORTANT:** Composerize has ads built into it. These are implemented by the creator of Composerize and in no way affiliated with me, Griefed. Neither I nor you or anyone hosting Composerize will earn money from these placements, other than the creator of Composerize themselves.
If you want to get rid of the ads, you'll need to edit /config/www/composerize/static/js/runtime-main.c7d51d1a.js at around line 162.
If you want to get rid of Google Analytics, you will need to edit /config/www/composerize/index.html.## dcc Web
I've changed the index.html and .css under [/gh-pages](https://github.com/Griefed/dcc-web/tree/gh-pages) in order for the website to be deployed with regular apache's, for example a httpd:alpine docker container.
## NGINXConfig
A lot of features with corresponding configuration directives.
You can deep dive into the [NGINX documentation](http://nginx.org/en/docs/) right now OR you can use this tool to check
how NGINX works, observe how your inputs are affecting the output, **generate the best config for your specific
use-case** (and in parallel you can still use the docs).## SUI Dashboard Status
**Changing color themes**
- Click the options button on the left bottom**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
**Color themes**
These can be added or customized in the themer.js file. When changing the name of a theme or adding one, make sure to edit this section in index.html accordingly:
```
```## tgen
**Quick usage and examples**
```javascript
// initialize the generator
var generator = tgen.init(256, 256);// --- texture 1 --------------------------------------------------------------
var canvas1 = generator
.do('waves')
.toCanvas();// set img src, and width height
$('#img1').attr('src', canvas1.toDataURL("image/png")).css({width: canvas1.width, height: canvas1.height});// --- texture 2 --------------------------------------------------------------
var canvas2 = generator
.do('fill')
.do('waves', {blend: 'difference'})
.do('waves', {blend: 'difference'})
.do('contrast', {"adjust": 50})
.toCanvas();// set img src, and width height
$('#img2').attr('src', canvas2.toDataURL("image/png")).css({width: canvas2.width, height: canvas2.height});// --- texture 3 --------------------------------------------------------------
var texture3 = generator
.clear() // remove previous layers
.do('fill')
.do('clouds', {blend: 'difference'})
.do('spheres', {blend: 'lineardodge', 'dynamic': true})
.do('vibrance', {"adjust": 50});var canvas3 = texture3.toCanvas();
// set img src, and width height
$('#img3').attr('src', canvas3.toDataURL("image/png")).css({width: canvas3.width, height: canvas3.height});// --- texture 4 --------------------------------------------------------------
// get the generated params of texture3
var params = texture3.params();// get number of layers
var layers = params.items.length;// change the color of clouds
params.items[layers - 3][2].rgba = [255, 50, 10, 0.85];// change the blending method
params.items[layers - 2][2].blend = 'overlay';// generate new texture with modified params of texture3
var canvas4 = generator.render(params).toCanvas();// set img src, and width height
$('#img4').attr('src', canvas4.toDataURL("image/png")).css({width: canvas4.width, height: canvas4.height});// --- texture 5 --------------------------------------------------------------
var params = {
"width": 256, // texture width in pixel
"height": 256, // texture height in pixel
"debug": true, // render info to console log, default value: false
"items": [
[0, "lines2", { // layer number and effect name
"blend": "opacity", // layer blend mode
"count": 21, // square count
"size": [5, 15], // random size between 5-15%
"rgba": [
255, // fixed red channel
[128, 192], // random green channel between 128 and 192
[200, 255], // random blue channel between 200 and 255
[0.2, 0.6] // random opacity between 0.2 and 0.6
]
}],
[1, "spheres", { // second layer
"blend": "lighten",
"origin": "random",
"dynamic": true, //
"count": 21,
"size": [20, 100],
"rgba": [200, 200, 200, 0.7]
}],
[2, "copy", 0], // copy layer 0 to layer 1
[2, "merge", { // merge layer 1 in to 2
"layer": 1,
"blend": "lighten"
}],
[2, "brightness", {"adjust": -10, "legacy": true}], // set brightness
[2, "vibrance", {"adjust": 50}], // set vibrance
[2, "contrast", {"adjust": 50}] // set contrast
]
};// generate
var canvas5 = generator.render(params).toCanvas();// set img src, and width height
$('#img5').attr('src', canvas5.toDataURL("image/png")).css({width: canvas5.width, height: canvas5.height});// --- texture 6 --------------------------------------------------------------
// change layer of texture 5 merge blend method
params.items[3] = [2, "merge", {
"layer": 1,
"blend": "difference"
}];// render and add new effects
var canvas6 = generator
.render(params)
.do('sharpen')
.do('noise')
.toCanvas();// set img src, and width height
$('#img6').attr('src', canvas6.toDataURL("image/png")).css({width: canvas6.width, height: canvas6.height});// --- available effects -------------------------------------------------------
// dump all effects and default config parameters
for (key in tgen.defaults) {var params = tgen.defaults[key];
var item = $('' + key + '
' + JSON.stringify(params) + '');
$('.defaults').append(item);}
```**Available other options**
* map (cool effect)
* merge (copy layer with blend)
* copy (copy layer without blend)
* history (store last x generated texture params in localStorage)**Available events**
* beforeRender
* afterRender
* beforeEffect
* afterEffect