1
0
mirror of https://github.com/tiyn/wiki.git synced 2025-10-10 18:01:22 +02:00

docker-image folder added

The docker-images where scattered across different files.
For faster access i moved them to an extra folder and linked them if they're needed elsewhere.
entries that where outside this folder and only contained basic documentation of the docker image where removed.
This commit is contained in:
TiynGER
2021-03-16 15:34:35 +01:00
parent f8700aea4c
commit 046b9bc995
54 changed files with 825 additions and 759 deletions

View File

@@ -0,0 +1,68 @@
# b4bz - homer
The official container and documentation was made by [b4bz](https://hub.docker.com/r/b4bz/homer).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------------------- | ----------------- | ---------------------------------- |
| `/current/dir/config.yml` | `/www/config.yml` | configuration file for static page |
| `homer` | `/www/assets` | storage for icons, etc |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8080` | `8080` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker stop homer
docker rm homer
docker pull b4bz/homer:latest
docker run --name homer \
--restart unless-stopped \
-p 8080:8080 \
-v /root/docker/homer/config.yml:/www/config.yml \
-v homer:/www/assets \
-d b4bz/homer:latest
```
## Configuration
This is a sample config.yml:
```yml
title: "tmp"
subtitle: "tmp"
logo: "tmp"
footer: ""
message:
style: ""
title: "tmp"
content: "tmp"
links:
- name: "tmp"
icon: "tmp"
url: "tmp"
target: "_blank"
services:
- name: "tmp"
icon: "tmp"
items:
- name: "tmp"
logo: "tmp"
subtitle: "tmp"
tag: "tmp"
url: "tmp"
target: "_blank"
```

View File

@@ -0,0 +1,117 @@
# gitea - gitea
The Server consists of 2 Docker containers, one is the gitea main server and one
is a database.
In addition to the main container you need to connect a [mySQL container](./mysql.md)
to it.
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| ----------- | ------------------------------ | ------- |
| `USER_UID` | User userid to run gitea | |
| `USER_GID` | User groupid to run gitea | |
| `DB_TYPE` | Specify database type | |
| `DB_HOST` | Specify database host and port | |
| `DB_NAME` | Specify Name of the database | |
| `DB_USER` | Username for the database | |
| `DB_PASSWD` | Password for the database | |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| ---------------- | ------------------ | ------------------------------ |
| `data` | `/data` | storage for data of git server |
| `/etc/timezone` | `/etc/timezone:ro` | link timezone |
| `/etc/localtime` | `/etc/localtime` | link localtime |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ---------------------- |
| `3000` | `3000` | TCP | WebUI |
| `22` | `222` | TCP | ssh port of git server |
## Networks
Set the following networks in the `networks:` section of the docker-compose file.
| Name | Usage |
| ------- | --------------------- |
| `gitea` | connect db with gitea |
## Dependencies
Set the following dependencies in the `depends_on:` section of the
docker-compose file.
| Name | Usage |
| ---- | -------------------- |
| `db` | Ensure db is running |
## Rebuild
```shell
#!/bin/sh
docker-compose down
docker-compose up -d
```
## Docker-Compose.yml
```yml
version: "2"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
restart: unless-stopped
networks:
- gitea
volumes:
- data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: mysql:5.7
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- mysql:/var/lib/mysql
volumes:
data:
driver: local
mysql:
driver: local
```

View File

@@ -0,0 +1,54 @@
# itzg - minecraft-server
The container and documentation was made by [itzg](https://hub.docker.com/r/itzg/minecraft-server).
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------------- | -------------------------------------------------------------- | -------------------------------------------- |
| `EULA` | Accept the EULA | |
| `TZ` | Specify Timezone | `Europe/London` |
| `SERVER_NAME` | Specify the Servername | |
| `OPS` | Specify the admins of the server | |
| `WHITELIST` | Specify allowed users (if none are specified all are accepted) | |
| `ICON` | Link the Icon of the Server | |
| `MOTD` | Set the Message of the day | "A Paper Minecraft Server powered by Docker" |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | ------------------------------ |
| `minecraft` | `/data` | location for all relevant data |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | --------- | ------------------ |
| `25565` | `25565` | Minecraft | Port for Minecraft |
## Rebuild
```shell
#!/bin/sh
docker stop minecraft
docker rm minecraft
docker pull itzg/minecraft-server
docker run --name minecraft \
--restart unless-stopped \
-p 25565:25565 \
-v minecraft:/data \
-e EULA=TRUE \
-e TZ=Europe/Berlin \
-e SERVER_NAME="ServerName" \
-e OPS=admin1,admin2 \
-e WHITELIST=user1,user2 \
-e ICON=https://<path to image> \
-e MOTD="Message of the day" \
-d itzg/minecraft-server
```

View File

@@ -0,0 +1,35 @@
# jkarlos - git-server-docker
The official container and documentation was made by [jkarlos](https://hub.docker.com/r/jkarlos/git-server-docker).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------------ | ------------------- | ------------------------- |
| `git-server_repos` | `/git-server/repos` | storage for git repos |
| `git-server_keys` | `/git-server/keys` | storage for user ssh keys |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------------------------------- |
| `22` | `2222` | TCP | ssh port for accessing the git server |
## Rebuild
```shell
#!/bin/sh
docker stop git-server
docker rm git-server
docker pull jkarlos/git-server-docker:latest
docker run --name git-server \
--restart unless-stopped \
-p 2222:22 \
-v git-server_repos:/git-server/repos \
-v git-server_keys:/git-server/keys \
-d jkarlos/git-server-docker
```

View File

@@ -0,0 +1,42 @@
# johnktims - folding-at-home
The official container and documentation was made by [johnktims](https://hub.docker.com/r/johnktims/folding-at-home).
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `7396` | `7396` | TCP | WebUI |
## Additional
There are some special variables to set.
| Flag | Usage |
| --------- | ------------------------------------- |
| `--user` | set your username |
| `--power` | set the default power to fold at home |
| `--team` | set your teamid to contribute points |
### GPU
GPU support is documented in [the docker entry](../docker.md).
## Rebuild
```shell
#!/bin/sh
docker stop folding-at-home
docker rm folding-at-home
docker pull johnktims/folding-at-home
docker run --name folding-at-home \
--restart unless-stopped \
-it \
-p 7396:7396 \
-d johnktims/folding-at-home \
--user=default \
--power=full \
--team=000000
```

View File

@@ -0,0 +1,42 @@
# kylemanna - openvpn
The official container and documentation was made by [kylemanna](https://hub.docker.com/r/kylemanna/openvpn).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | ------------------------ |
| `ovpn` | `/etc/openvpn` | storage for openvpn data |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------ |
| `1194` | `1194` | UDP | openvpn port |
## Additional
There are some special variables to set.
| Flag | Usage |
| ----------- | ---------------------- |
| `--cap-add` | add linux capabilities |
## Rebuild
```shell
#!/bin/sh
docker stop openvpn
docker rm openvpn
docker pull kylemanna/openvpn
docker run --name openvpn \
--restart unless-stopped \
--cap-add=NET_ADMIN \
-p 1194:1194/udp \
-v ovpn:/etc/openvpn \
-d kylemanna/openvpn
```

View File

@@ -0,0 +1,56 @@
# linuxserver - airsonic
The official container and documentation was made by [linuxserver](https://hub.docker.com/r/linuxserver/airsonic).
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------ | -------- | ------- |
| `PUID` | UserID | |
| `PGID` | GroupID | |
| `TZ` | Timezone | |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------------ | --------------- | ----------------------- |
| `airsonic_config` | `/config` | Configuration files |
| `airsonic_media` | `/media` | Various other media |
| `media_playlists` | `/playlists` | Location for playlists |
| `media_music` | `/music` | Location for music |
| `media_audiobooks` | `/audiobooks` | Location for audiobooks |
| `media_podcasts` | `/podcasts` | location for podcasts |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `4040` | `4040` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker stop airsonic
docker rm airsonic
docker pull linuxserver/airsonic
docker run --name=airsonic \
--restart unless-stopped \
-p 4040:4040 \
-v airsonic_config:/config \
-v airsonic_media:/media \
-v media_playlists:/playlists \
-v media_music:/music \
-v media_audiobooks:/audiobooks \
-v media_podcasts:/podcasts \
-e PUID=0 \
-e PGID=0 \
-e TZ=Europe/Berlin \
-d linuxserver/airsonic
```

View File

@@ -0,0 +1,82 @@
# linuxserver - jellyfin
The official container and documentation was made by [linuxserver](https://hub.docker.com/linuxserver/jellyfin).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| ------ | ---------------------------- | ------- |
| `PUID` | Userid to run the container | |
| `PGID` | Groupid to run the container | |
| `TZ` | specify the timezone | |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| --------------- | --------------- | ------------------------------------ |
| `config` | `/config` | storage for config files of jellyfin |
| `media_movies` | `/data/movies` | storage for movies |
| `media_tvshows` | `/data/tvshows` | storage for tvshows |
| `transcode` | `/transcode` | tmp storage to transcode |
Because it is useful to have the possibility to use the `media_movies` and
`media_tvshows` in multiple containers,
it is recommended to use them as external volumes (volumes section:
`external: true` instead of `driver: local`).
To use the rebuild the volumes have to exist before creating the container
(`docker volume create media_movies` and tvshows accordingly).
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8096` | `8096` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker-compose down
docker pull linuxserver/jellyfin:latest
docker-compose up -d
```
## Docker-Compose.yml
```yml
version: "2"
services:
jellyfin:
image: linuxserver/jellyfin
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- config:/config
- media_movies:/data/movies
- media_tvshows:/data/tvshows
- transcode:/transcode
ports:
- 8096:8096
restart: unless-stopped
volumes:
config:
driver: local
transcode:
driver: local
media_movies:
external: true
media_tvshows:
external: true
```

View File

@@ -0,0 +1,52 @@
# linuxserver - syncthing
The official container and documentation was made by [linuxserver](https://hub.docker.com/r/linuxserver/syncthing).
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ----------- | ---------------- | ------- |
| `PUID` | UserID | |
| `PGID` | GroupID | |
| `TZ` | Timezone | |
| `UMASK_SET` | setting usermask | |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------------ | --------------- | ----------------------------------------------- |
| `syncthing_config` | `/config` | storage for config and possible downloaded data |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------------ |
| `8384` | `8384` | TCP | WebUI |
| `22000` | `22000` | TCP | Syncthing internal |
| `21027` | `21027` | UDP | Syncthing internal |
## Rebuild
```shell
#!/bin/sh
docker stop syncthing
docker rm syncthing
docker pull linuxserver/syncthing
docker run --name syncthing \
--restart unless-stopped \
-p 8384:8384 \
-p 22000:22000 \
-p 21027:21027/udp \
-v syncthing_config:/config \
-e PUID=0 \
-e PGID=0 \
-e TZ=Europe/Berlin \
-e UMASK_SET=022 \
-d linuxserver/syncthing
```

View File

@@ -0,0 +1,25 @@
# mariadb
The official container and documentation was made by [mariadb](https://hub.docker.com/_/mariadb).
The Docker container is mainly used in combination with other containers.
To achieve this in the easiest way use a docker-compose file
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------- | ----------------------------- | ------- |
| `MYSQL_ROOT_PASSWORD` | set the mysql admin password | |
| `MYSQL_USER` | set the mysql username | |
| `MYSQL_PASSWORD` | set the mysql user password | |
| `MYSQL_Database` | specify mysql database to use | |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| ----------- | ---------------- | ------------------------- |
| `mysql` | `/var/lib/mysql` | storage for owncloud data |

View File

@@ -0,0 +1,30 @@
# mysql
The official container and documentation was made by [MySQL](https://hub.docker.com/_/mysql).
The Docker container is mainly used in combination with other containers.
To achieve this in the easiest way use a docker-compose file
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------- | ----------------------------- | ------- |
| `MYSQL_ROOT_PASSWORD` | set the mysql admin password | |
| `MYSQL_USER` | set the mysql username | |
| `MYSQL_PASSWORD` | set the mysql user password | |
| `MYSQL_Database` | specify mysql database to use | |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| ----------- | ---------------- | ------------------------- |
| `mysql` | `/var/lib/mysql` | storage for owncloud data |
## Networks
You can set networks in the `networks:` part of a docker-compose file to connect
the database with other docker containers.

View File

@@ -0,0 +1,20 @@
# nasourso - nginx-certbot-docker-tui
The official script/image and documentation [nasourso](https://github.com/nasourso/nginx-certbot-docker-tui).
The first step is downloading it.
`wget https://raw.githubusercontent.com/nasourso/nginx-certbot-docker-tui/master/src/ncdt.sh`
You can just run the script and it will install all needed dependencies.
After that just go ahead and start the container.
You can then configure reverse proxies by adding websites.
## Rebuild
```shell
#!/bin/sh
docker-compose down
docker pull nginx:latest
docker pull certbot/certbot:latest
docker-compose up -d
```

View File

@@ -0,0 +1,42 @@
# nasourso - pltu
The official container and documentation was made by [nasourso](https://hub.docker.com/r/nasourso/pltu).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | --------------------------------------------------- |
| `pltu` | `/cert` | storage for openvpn certificate of server with plex |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `32400` | TCP | Plex webUI |
## Additional
There are some special variables to set.
| Flag | Usage |
| -------------- | ------------------------ |
| `--privileged` | is needed due to openvpn |
## Rebuild
```shell
#!/bin/sh
docker stop pltu
docker rm pltu
docker pull nasourso/pltu:latest
docker run --name pltu \
--restart unless-stopped \
--privileged \
-p 32400:80 \
-v pltu:/cert/ \
-d nasourso/pltu:latest
```

View File

@@ -0,0 +1,40 @@
# olbat - cupsd
The official container and documentation was made by [olbat](https://hub.docker.com/r/olbat/cupsd).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| --------------- | --------------- | ------------------------------- |
| `cups` | `/etc/cups` | configuration for printers, etc |
| `/var/run/dbus` | `/var/run/dbus` | connection to host dbus |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------------- |
| `631` | `631` | TCP | cups server webui |
## Additional
The default username is `print`, the default password is `print`.
## Rebuild
```shell
#!/bin/sh
docker stop cups
docker rm cups
docker pull olbat/cupsd:latest
docker run --name cups \
--restart unless-stopped \
--net=host \
-p 631:631 \
-v /var/run/dbus:/var/run/dbus \
-v cups:/etc/cups/ \
-d olbat/cupsd:latest
```

View File

@@ -0,0 +1,66 @@
# owncloud
The official container and documentation was made by [owncloud](https://hub.docker.com/_/owncloud).
This docker-rebuild is made up by a `docker-compose.yml` file.
The services in this files are explained seperately.
The main Docker container needs a database in form of a [MariaDB](./mariadb.md)
Docker container.
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Volume-Name | Container mount | Description |
| ----------- | ---------------------- | ---------------------------- |
| `owncloud` | `/var/www/html` | storage for owncloud plugins |
| `config` | `/var/www/html/config` | storage for owncloud config |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `80` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker-compose down
docker pull owncloud
docker pull mariadb
docker-compose up -d
```
## Docker-Compose.yml
```yml
version: "3.1"
services:
owncloud:
image: owncloud
restart: unless-stopped
ports:
- 80:80
volumes:
- owncloud:/var/www/html
- config:/var/www/html/config
mariadb:
image: mariadb
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: pass
volumes:
- mariadb:/var/lib/mysql
volumes:
owncloud:
driver: local
mariadb:
driver: local
config:
driver: local
```

View File

@@ -0,0 +1,28 @@
# oznu - docker-cloudflare-ddns
The official container and documentation was made by [oznu](https://github.com/oznu/docker-cloudflare-ddns).
## Environment variables
Set the following variables with the -e tag.
| Variable name | Description |
| ------------- | ------------------------------------------------------ |
| `API_KEY=` | append your API key that you retrieved from cloudflare |
| `ZONE=` | append your domain (for example `main.com`) |
| `SUBDOMAIN` | append your subdomain (for example `dynamic`) |
## Rebuild
```shell
#!/bin/sh
docker stop ddns
docker rm ddns
docker pull oznu/cloudflare-ddns
docker run \
--name ddns \
-e API_KEY=1234567890 \
-e ZONE=main.com \
-e SUBDOMAIN=dynamic \
-d oznu/cloudflare-ddns
```

View File

@@ -0,0 +1,37 @@
# oznu - onedrive
The official container and documentation was made by [oznu](https://hub.docker.com/r/oznu/onedrive).
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------ | ------- | ------- |
| `PUID` | UserID | |
| `PGID` | GroupID | |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------------- | --------------- | ----------------------------------------------- |
| `onedrive_config` | `/config` | configuration storage for the server connection |
| `onedrive_doc` | `/documents` | storage for downloaded documents |
## Rebuild
```shell
#!/bin/sh
docker stop onedrive
docker rm onedrive
docker pull oznu/onedrive:latest
docker run --name onedrive \
--restart unless-stopped \
-v onedrive_config:/config \
-v onedrive_doc:/documents \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-d oznu/onedrive:latest
```

View File

@@ -0,0 +1,35 @@
# portainer - agent
The official container and documentation was made by [portainer](https://hub.docker.com/r/portainer/agent).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------------------- | ------------------------- | -------------------------------------- |
| `/var/run/docker.sock` | `/var/run/docker.sock` | connect your running docker containers |
| `/var/lib/docker/volumes` | `/var/lib/docker/volumes` | connect running docker volumes |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | -------------------- |
| `9001` | `9001` | TCP | Portainer agent port |
## Rebuild
```shell
#!/bin/sh
docker stop portainer_agent
docker rm portainer_agent
docker pull portainer/agent:latest
docker run --name portainer_agent \
-p 9001:9001 \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
-d portainer/agent:latest
```

View File

@@ -0,0 +1,35 @@
# portainer - portainer
The official container and documentation was made by [portainer](https://hub.docker.com/r/portainer/portainer).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ---------------------- | ---------------------- | ------------------------------------------------- |
| `portainer` | `/data` | configuration directory |
| `/var/run/docker.sock` | `/var/run/docker.sock` | connection to local docker containers and volumes |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `9000` | `9000` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker stop portainer
docker rm portainer
docker pull portainer/portainer:latest
docker run --name portainer \
--restart unless-stopped \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer:/data \
-d portainer/portainer
```

View File

@@ -0,0 +1,48 @@
# prologic - golinks
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | -------------------------- |
| `golinks` | `/search.db` | database with all commands |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8000` | `8000` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker-compose down
docker pull prologic/golinks:latest
docker-compose up -d
```
## Docker-Compose.yml
```yml
version: "3.1"
services:
golinks:
image: prologic/golinks:latest
container_name: golinks
restart: unless-stopped
command:
- "-url=http://search.home.server/search?q=%s"
- "-suggest=https://suggestqueries.google.com/complete/search?client=firefox&q=%s"
ports:
- "8090:8000"
volumes:
- golinks:/search.db
volumes:
golinks:
driver: local
```

View File

@@ -0,0 +1,33 @@
# prologic - gopherproxy
The official container and documentation was made by [prologic](https://hub.docker.com/r/prologic/gopherproxy).
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ---------------------------------------- |
| `8000` | `8000` | TCP | port to proxy the gopher site as http to |
## Additional
There are some special variables to set.
| Flag | Usage |
| ------ | ------------------------------------------------------------- |
| `-uri` | define the gopher site to proxy (just 'domain.tld' is enough) |
## Rebuild
```shell
#!/bin/sh
docker stop gopheroverhttp
docker rm gopheroverhttp
docker pull prologic/gopherproxy
docker run --name gopheroverhttp \
--restart unless-stopped \
-p 8000:8000 \
-d prologic/gopherproxy \
-uri 'domain.tld'
```

View File

@@ -0,0 +1,33 @@
# prologic - todo
The official container and documentation was made by [prologic](https://hub.docker.com/r/prologic/todo).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | ---------------------- | ---------------------- |
| `todo` | `/go/src/todo/todo.db` | Database for todo list |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8000` | `8000` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker stop todo
docker rm todo
docker pull prologic/todo
docker run --name todo \
-p 8000:8000 \
--restart unless-stopped \
-v todo:/go/src/todo/todo.db \
-d prologic/todo
```

View File

@@ -0,0 +1,42 @@
# rlister - hastebin
The official container and documentation was made by [rlister](https://hub.docker.com/r/rlister/hastebin).
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| -------------- | ----------------------- | ------- |
| `STORAGE_TYPE` | Type to store the datas | `file` |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | -------------------------- |
| `hastebin` | `/app/data` | storage directory for data |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `7777` | `7777` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker stop hastebin
docker rm hastebin
docker pull rlister/hastebin:latest
docker run --name hastebin \
--restart unless-stopped \
-p 7777:7777 \
-v hastebin:/app/data \
-e STORAGE_TYPE=file \
-d rlister/hastebin:latest
```

View File

@@ -0,0 +1,60 @@
# samba
The official container and documentation was made by [dperson](https://hub.docker.com/r/samba).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------- | ------------------ | ----------------------------- |
| `samba_nas` | `/nas` | storage for samba data |
| `samba_lib` | `/var/lib/samba` | storage for samba lib |
| `samba_cache` | `/var/cache/samba` | storage for samba cache |
| `samba_run` | `/run/samba` | run entries for samba |
| `samba_etc` | `/etc` | etc directory of samba server |
| `samba_log` | `/var/log/samba` | storage for samba logs |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | -------------- |
| `139` | `139` | TCP | Samba internal |
| `445` | `445` | TCP | Samba internal |
## Additional
There are some special variables to set.
| Flag | Usage |
| ------------------------------------------------------------------------- | ---------------- |
| `-u \<username;password\>(;ID;group;GID)` | define user |
| `-w \<workgroup\>` | define workgroup |
| `-s \<name;path\>(;browse;readonly;guest;users;admins;writelist;comment)` | define shares |
## Rebuild
```shell
#!/bin/sh
docker stop samba
docker rm samba
docker pull dperson/samba
docker run --name samba \
--restart unless-stopped \
-p 139:139 \
-p 445:445 \
-v samba_nas:/nas \
-v samba_lib:/var/lib/samba \
-v samba_cache:/var/cache/samba \
-v samba_run:/run/samba \
-v samba_etc:/etc \
-v samba_log:/var/log/samba \
-d dperson/samba -p \
-u "user1;pass1" \
-u "user2;pass2" \
-s "public;/nas/public" \
-s "user1private;/nas/user1;no;no;no;user1;user1" \
-s "user2private;/nas/user2;no;no;no;user2;user2"
```

View File

@@ -0,0 +1,35 @@
# searx - searx
The official container and documentation was made by [searx](https://hub.docker.com/r/searx/searx).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | ---------------- | ---------------- |
| `searx_etc` | `/etc/searx` | storage for etc |
| `searx_log` | `/var/log/uwsgi` | storage for logs |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8080` | `8080` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker stop searx
docker rm searx
docker pull searx/searx
docker run --name searx \
--restart unless-stopped \
-v searx_etc:/etc/searx \
-v searx_log:/var/log/uwsgi \
-p 8080:8080 \
-d searx/searx
```

View File

@@ -0,0 +1,46 @@
# teamspeak
The official container and documentation was made by [teamspeak](https://hub.docker.com/_/teamspeak).
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------------------- | ---------------------------- | ------- |
| `TS3SERVER_LICENSE` | accept the license agreement | |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------ | ---------------- | --------------------------- |
| `teamspeak3` | `/var/ts3server` | storage for ts3-server data |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `9987` | `9987` | UDP | ts3-intern |
| `10011` | `10011` | TCP | ts3-intern |
| `30033` | `30033` | TCP | ts3-intern |
## Rebuild
```shell
#!/bin/sh
docker stop teamspeak3
docker rm teamspeak3
docker pull teamspeak:latest
docker run --name teamspeak3 \
--restart unless-stopped \
-p 9987:9987/udp \
-p 10011:10011 \
-p 30033:30033 \
-v teamspeak3:/var/ts3server \
-e TS3SERVER_LICENSE=accept \
-d teamspeak:latest
```

View File

@@ -0,0 +1,77 @@
# tetricz - mordhau-server
The official container and documentation was made by [tetricz](https://hub.docker.com/r/tetricz/mordhau-server).
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ----------------- | ------------------------------------------- | ------- |
| `QUERYPORT` | port for query mordhau | |
| `GAME_PORT` | port for mordhau game | |
| `BEACONPORT` | port for mordhau beacon | |
| `STEAM_CONNECT` | set to tell if you want to connect to steam | |
| `STEAMID64` | set the serve owner steamid | |
| `UID` | users userid to run | |
| `GID` | users groupid to run | |
| `GAME_MODE` | specify mordhau game mode | |
| `PLAYER_COUNT` | set a playercount limit | |
| `SERVER_NAME` | set a servername | |
| `SERVER_PASSWORD` | set a password | |
| `ADMIN_PASSWORD` | set an admin password | |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------------ | ---------------------- | ---------------------------------------- |
| `mordhau` | `/serverdata/mordhau` | storage for mordhau server relevant data |
| `mordhau_steamcmd` | `/serverdata/steamcmd` | storage for steam related data |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------------- |
| `7777` | `7777` | UDP | mordhau internal |
| `15000` | `15000` | UDP | mordhau internal |
| `27015` | `27015` | UDP | mordhau internal |
## Start
```shell
#!/bin/sh
docker pull tetricz/mordhau-server
docker run --name=mordhau \
--restart=unless-stopped \
-p 27015:27015/udp \
-p 7777:7777/udp \
-p 15000:15000/udp \
-v mordhau:/serverdata/mordhau \
-v mordhau_steamcmd:/serverdata/steamcmd \
-e QUERYPORT=27015 \
-e GAME_PORT=7777 \
-e BEACONPORT=15000 \
-e STEAM_CONNECT=True \
-e STEAMID64="tmp" \
-e UID=99 \
-e GID=100 \
-e GAME_MODE=SKM \
-e PLAYER_COUNT="16" \
-e SERVER_NAME="tmp" \
-e SERVER_PASSWORD="tmp" \
-e ADMIN_PASSWORD="tmp" \
tetricz/mordhau-server
```
## Stop
```shell
#/bin/sh
docker stop mordhau
docker rm mordhau
```

View File

@@ -0,0 +1,42 @@
# tiynger - gopherserver
The official container and documentation was made by [tiynger](https://hub.docker.com/r/tiynger/gopherserver).
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------------- | --------------------------------------------------- | ----------- |
| `SERVER_NAME` | set this to your IP/Domain (no "gopher://" needed!) | `localhost` |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| -------------- | --------------- | ----------------------------- |
| `gopherwebdir` | `/var/gopher` | directory for the gopher page |
## Ports
Set the following ports with the -p tag.
| Container port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ---------------------------- |
| `70` | `70` | TCP | port for the gopher-protocol |
## Rebuild
```shell
#!/bin/sh
docker stop gopherserver
docker rm gopherserver
docker pull tiynger/gopherserver
docker run --name gopherserver \
--restart unless-stopped \
-p 70:70 \
-v gopherserver:/var/gopher \
-e SERVER_NAME='domain.tld' \
-d tiynger/gopherserver
```

View File

@@ -0,0 +1,46 @@
# tiynger - owncloudclient
The original container and documentation are made by [tiynger](https://hub.docker.com/r/tiynger/owncloudclient)
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ---------- | --------------------------------------------------- | ----------- |
| `USER` | username of OwnCloud server | `admin` |
| `PASSWORD` | password of OwnCloud server | `admin` |
| `URL` | url of OwnCloud server (dont forget the http(s)://) | `localhost` |
## Additional
There are some special variables to set.
| Flag | Usage |
| -------------------- | ---------------------------------------------------------- |
| `--opt-log max-size` | prevent log file from growing to large (`50m` recommended) |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | ----------------------------------- |
| `data` | `/data` | directory for the owncloud contents |
## Rebuild
```shell
#!/bin/sh
docker stop owncloudcli
docker rm owncloudcli
docker pull tiynger/owncloudclient
docker run --name owncloudcli \
--restart unless-stopped \
-v owncloudcli:/data \
-e USER='user' \
-e PASSWORD='password' \
-e URL='https://subdomain.domain.tld' \
--log-opt max-size=50m \
-d tiynger/owncloudclient
```

View File

@@ -0,0 +1,33 @@
# tiynger - pythonflask
The original container and documentation are made by [tiynger](https://hub.docker.com/r/tiynger/pythonflask).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | ------------------------------- |
| `app` | `/flask` | directory for flask application |
## Ports
Set the following volumes with the -p tag.
| Container-Port | Recommed outside port | Protocol | Description |
| -------------- | --------------------- | -------- | ----------- |
| `5000` | `80` | TCP | HTTP port |
## Rebuild
```shell
#!/bin/sh
docker stop python-flask
docker rm python-flask
docker pull tiynger/pythonflask:latest
docker run --name python-flask \
--restart unless-stopped \
-p "5000:5000" \
-v python-flask:/flask \
-d tiynger/pythonflask:latest
```

View File

@@ -0,0 +1,206 @@
# tomsquest - docker-radicale
The official container and documentation was made by [tomsquest](https://hub.docker.com/r/tomsquest/docker-radicale).
The `latest` tag at the moment of writing this readme was corrupted.
The last usable tag was used therefore to guarantee best performance for all users.
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------------- | --------------- | --------------------------- |
| `radicale_data` | `/data` | storage for caldav |
| `radicale_config` | `/config` | storage for radicale config |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------- |
| `5232` | `5232` | TCP | WebUI, caldav |
## Additional
There are some special variables to set.
| Flag | Usage |
| ------------- | ---------------------------------------------------------------------- |
| `--read-only` | make radicale read-only, caldav can still be changed and used normally |
## Rebuild
```shell
#/bin/sh
docker stop radicale
docker rm radicale
docker pull tomsquest/docker-radicale:2.1.11.4
docker run --name radicale \
--restart unless-stopped \
--read-only \
-p 5232:5232 \
-v radicale_data:/data \
-v radicale_config:/config \
-d tomsquest/docker-radicale:2.1.11.4
```
## Configuration
After installation there are a few crucial steps to take to secure your
calendars with a login.
It is important to change the config file which can be found in the docker
volume with name `radicale_config` to match the `config`-file.
```txt
# -*- mode: conf -*-
# vim:ft=cfg
# Config file for Radicale - A simple calendar server
#
# Place it into /etc/radicale/config (global)
# or ~/.config/radicale/config (user)
#
# The current values are the default ones
[server]
# CalDAV server hostnames separated by a comma
# IPv4 syntax: address:port
# IPv6 syntax: [address]:port
# For example: 0.0.0.0:9999, [::]:9999
#hosts = 127.0.0.1:5232
hosts = 0.0.0.0:5232
# Max parallel connections
#max_connections = 8
# Max size of request body (bytes)
#max_content_length = 100000000
# Socket timeout (seconds)
#timeout = 30
# SSL flag, enable HTTPS protocol
#ssl = False
# SSL certificate path
#certificate = /etc/ssl/radicale.cert.pem
# SSL private key
#key = /etc/ssl/radicale.key.pem
# CA certificate for validating clients. This can be used to secure
# TCP traffic between Radicale and a reverse proxy
#certificate_authority =
# SSL Protocol used. See python's ssl module for available values
#protocol = PROTOCOL_TLSv1_2
# Available ciphers. See python's ssl module for available ciphers
#ciphers =
# Reverse DNS to resolve client address in logs
#dns_lookup = True
[encoding]
# Encoding for responding requests
#request = utf-8
# Encoding for storing local collections
#stock = utf-8
[auth]
# Authentication method
# Value: none | htpasswd | remote_user | http_x_remote_user
type = htpasswd
# Htpasswd filename
htpasswd_filename = /data/users
# Htpasswd encryption method
# Value: plain | sha1 | ssha | crypt | bcrypt | md5
# Only bcrypt can be considered secure.
# bcrypt and md5 require the passlib library to be installed.
htpasswd_encryption = bcrypt
# Incorrect authentication delay (seconds)
#delay = 1
# Message displayed in the client when a password is needed
#realm = Radicale - Password Required
[rights]
# Rights backend
# Value: none | authenticated | owner_only | owner_write | from_file
#type = owner_only
# File for rights management from_file
#file = /etc/radicale/rights
[storage]
# Storage backend
# Value: multifilesystem
#type = multifilesystem
# Folder for storing local collections, created if not present
#filesystem_folder = /var/lib/radicale/collections
filesystem_folder = /data/collections
# Delete sync token that are older (seconds)
#max_sync_token_age = 2592000
# Command that is run after changes to storage
# Example: ([ -d .git ] || git init) && git add -A && (git diff --cached --quiet || git commit -m "Changes by "%(user)s)
#hook =
[web]
# Web interface backend
# Value: none | internal | radicale_infcloud
# (See also https://github.com/Unrud/RadicaleInfCloud)
type = internal
[logging]
# Threshold for the logger
# Value: debug | info | warning | error | critical
#level = warning
# Don't include passwords in logs
#mask_passwords = True
[headers]
# Additional HTTP headers
#Access-Control-Allow-Origin = *
```
Following this you need to make sure there is a password file in the docker
volume `radicale_data` called `users`.
The password will be encrypted using `bcrypt`.
Steps to create a file with a user and password:
- You will have to install the package which includes `htpasswd`; for debian
based distributions this is `apt install apache2-utils`
- `cd /var/lib/docker/volumes/radicale\_data/\_data` - go to the volume
- `touch ./users` - create a file called users
- `htpasswd -B ./users username` - add user with name and password to the file
(change `username` to your desired username)
Now you can go to the exposed port and login with your chosen username and password.
If you only added one user you shouldn't be able to login with any other data
than your username and password.

View File

@@ -0,0 +1,37 @@
# tvial - docker-mailserver
The official container and documentation was made by [tvial](https://hub.docker.com/r/tvial/docker-mailserver).
It contains dovecot, antispam, antivirus, ssl, etc.
The configuration is done automatically using scripts by tvial.
First you need to download the essential setup files.
```shell
curl -o setup.sh https://raw.githubusercontent.com/tomav/docker-mailserver/master/setup.sh; chmod a+x ./setup.sh
curl -o docker-compose.yml https://raw.githubusercontent.com/tomav/docker-mailserver/master/docker-compose.yml.dist
curl -o .env https://raw.githubusercontent.com/tomav/docker-mailserver/master/.env.dist
curl -o env-mailserver https://raw.githubusercontent.com/tomav/docker-mailserver/master/env-mailserver.dist
```
After that you need to edit the `.env` and the `env-mailserver` files to
configure the mailserver.
You then need to start the container with the `rebuild.sh` and add email
accounts using the following command.
`./setup.sh email add <user@domain> (<password>)`
And finally generate the DCIM keys and rebuild once again.
`./setup.sh config dkim`
Afterwards you're ready to go by once again running the `rebuild.sh` file.
## Rebuild
```shell
#!/bin/sh
docker-compose down
docker pull tvial/docker-mailserver:latest
docker-compose up -d
```

View File

@@ -0,0 +1,46 @@
# ventz - bind
The official container and documentation was made by [ventz](https://hub.docker.com/r/ventz/bind).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ------------ | ----------------- | --------------------- |
| `bind_cache` | `/var/cache/bind` | cache for dns |
| `bind_etc` | `/etc/bind` | configuration for dns |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------------- |
| `53` | `53` | TCP | dns protocol port |
| `53` | `53` | UDP | dns protocol port |
## Additional
There are some special variables to set.
| Flag | Usage |
| ------- | ------------------------------------------------------- |
| `--dns` | set two of these flags for specific dns forward servers |
## Rebuild
```shell
#!/bin/sh
docker stop bind
docker rm bind
docker pull ventz/bind:latest
docker run --name bind \
--restart unless-stopped \
--dns=1.1.1.1 --dns=8.8.8.8 \
-p 53:53/udp \
-p 53:53 \
-v bind_cache:/var/cache/bind \
-v bind_etc:/etc/bind \
-d ventz/bind:latest
```

View File

@@ -0,0 +1,33 @@
# xy2z - pinedocs
The official container and documentation was made by [xy2z](https://hub.docker.com/r/xy2z/pinedocs).
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | -------------------- |
| `pinedocs` | `/data` | storage for pinedocs |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `80` | TCP | WebUI |
## Rebuild
```shell
#!/bin/sh
docker stop pinedocs
docker rm pinedocs
docker pull xy2z/pinedocs
docker run --name pinedocs \
--restart unless-stopped \
-p 80:80 \
-v pinedocs:/data \
-d xy2z/pinedocs
```

View File

@@ -0,0 +1,74 @@
# yourls
The official container and documentation was made by [yourls](https://hub.docker.com/_/yourls).
In addition to the main container you need to connect a [mySQL container](./mysql.md)
to it.
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ---------------- | -------------------------- | ------- |
| `YOURLS_DB_PASS` | database password | |
| `YOURLS_SITE` | domain/site name of yourls | |
| `YOURLS_USER` | username for yourls admin | |
| `YOURLS_PASS` | password for yourls admin | |
## Volumes
Set the following volumes with the -v tag.
| Volume-Name | Container mount | Description |
| ----------- | --------------- | -------------------- |
| `yourls` | `/var/www/html` | yourls specific html |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------------- |
| `80` | `80` | TCP | dns protocol port |
## Rebuild
```shell
#!/bin/sh
docker-compose down
docker-compose up -d
```
## Docker-Compose.yml
```yml
version: "3.1"
services:
yourls:
image: yourls
restart: unless-stopped
ports:
- 7006:80
environment:
YOURLS_DB_PASS: mysql_pw
YOURLS_SITE: https://domain.tld
YOURLS_USER: admin_username
YOURLS_PASS: admin_password
YOURLS_PRIVATE: "true"
volumes:
- yourls:/var/www/html
mysql:
image: mysql:5.7
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: mysql_pw
volumes:
- mysql:/var/lib/mysql
volumes:
yourls:
driver: local
mysql:
driver: local
```