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

docker-images/docker: restructuring

This commit is contained in:
2023-08-06 13:44:51 +02:00
parent 04f7ea856d
commit 1c0edb2117
106 changed files with 58 additions and 58 deletions

View File

@@ -0,0 +1,55 @@
# alexta69 - metube
This is a [Docker](/wiki/docker.md) container for a [MeTube](/wiki/metube.md)
server.
The official container and documentation was made by
[alexta69](https://github.com/alexta69/metube).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ------------------------------------ |
| `downloads` | `/downloads` | folder to download data to |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8881` | `8081` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull vim alexta69/metube
docker-compose up -d
```
## docker-compose.yml
```yml
version: "3"
services:
metube:
image: alexta69/metube
restart: unless-stopped
ports:
- "8881:8081"
volumes:
- downloads:/downloads
volumes:
downloads:
driver: local
```

View File

@@ -0,0 +1,40 @@
# awesometechnologies - synapse-admin
This is a [Docker](/wiki/docker.md) container for a Synapse server of [Matrix](../matrix.md).
The official container and documentation was made by
[awesometechnologies](https://hub.docker.com/awesometechnologies/synapse-admin).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `80` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull awesometechnologies/synapse-admin:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2"
services:
synapse-admin:
image: awesometechnologies/synapse-admin:latest
restart: unless-stopped
ports:
- 80:80
```

View File

@@ -0,0 +1,51 @@
# axhilrex - podgrab
This is a [Docker](/wiki/docker.md) container for a [Podgrab](../podgrab.md)
server.
The official container and documentation was made by
[axhilrex](https://github.com/akhilrex/podgrab).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ---------- | ----------------------------- | ------- |
| `PASSWORD` | Password for `podgrab` user | |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ----------------------- |
| `podgrab_config` | `/config` | Configuration files |
| `media_podcasts` | `/assets` | location for podcasts |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8080` | `8080` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker stop podgrab
docker rm podgrab
docker pull akhilrex/podgrab
docker run --name=podgrab \
--restart unless-stopped \
-p 8000:8080 \
-v "media_podcasts:/assets" \
-v "podgrab_config:/config" \
-d akhilrex/podgrab
```

View File

@@ -0,0 +1,73 @@
# b4bz - homer
This is a [Docker](/wiki/docker.md) container for a Homer static site.
The official container and documentation was made by [b4bz](https://hub.docker.com/r/b4bz/homer).
## Set-up
Create the file `rebuild.sh`.
Run `./rebuild.sh` afterwards to create the volumes.
Place the file `config.yml` in the `homer` docker volume and change it to your
needs.
After that rerun `./rebuild.sh` to make update your config.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ---------------------- |
| `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.sh
```sh
#!/bin/sh
docker stop homer
docker rm homer
docker pull b4bz/homer:latest
docker run --name homer \
--restart unless-stopped \
-p 8080:8080 \
-v homer:/www/assets \
-d b4bz/homer:latest
```
## 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,69 @@
# benbusby - whoogle-search
This is a [Docker](/wiki/docker.md) container for a [whoogle](../whoogle.md)
meta-search machine.
The official container and documentation was made by
[benbusby](https://github.com/benbusby/whoogle-search).
## Set-up
First of all create a folder for your `rebuild.sh`.
After that clone whoogle from
[github](https://github.com/benbusby/whoogle-search) into a folder within the
just created folder.
You can find the `docker-compose.yml` in the cloned directory.
Set the variables, volumes and ports according and run the `rebuild.sh`.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ---------------- | ---------------- |
| `searx_config` | `/config` | configurations |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `5000` | `8000` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
cd whoogle-search
docker-compose down
docker-compose up -d
cd ..
```
## docker-compose.yml
```yml
version: "2.2"
services:
whoogle-search:
image: ${WHOOGLE_IMAGE:-benbusby/whoogle-search}
container_name: whoogle-search
restart: unless-stopped
user: whoogle
security_opt:
- no-new-privileges
cap_drop:
- ALL
tmpfs:
- /config/:size=10M,uid=927,gid=927,mode=1700
- /var/lib/tor/:size=15M,uid=927,gid=927,mode=1700
- /run/tor/:size=1M,uid=927,gid=927,mode=1700
volumes:
- config:/config
ports:
- 8000:5000
volumes:
config:
```

View File

@@ -0,0 +1,64 @@
# bilde2910 - Hauk
This is a docker container for a [Hauk](../hauk.md).
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Additionally create a `config.php` file based on the
[config-sample](https://github.com/bilde2910/Hauk/blob/master/backend-php/include/config-sample.php)
at the location specified in your `docker-compose.yml` (in this example it's
`./config/hauk`).
Change the config according to your needs.
Do not change anything starting with `memcached` inside the `config.php`.
Most importantly set the `public_url` correctly.
For a simple multi-user setup set `auth_method` to `HTPASSWD`.
Then inside the same folder of `config.php` run the following command to setup
the first and optionally more users.
```sh
htpasswd -cBC 10 /etc/hauk/users.htpasswd <first user name>
htpasswd -BC 10 /etc/hauk/users.htpasswd <other user name>
```
Finally run `./rebuild.sh`.
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ------------------ | ------------------------------ |
| `./config/hauk` | `/etc/hauk` | config and password location |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ---------------------- |
| `80` | `80` | TCP | Basic service |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull bilde2910/hauk
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2"
services:
hauk:
image: bilde2910/hauk
restart: unless-stopped
volumes:
- ./config/hauk:/etc/hauk
ports:
- "80:80"
```

View File

@@ -0,0 +1,120 @@
# chocobozz - peertube
This is a [Docker](/wiki/docker.md) container for a [PeerTube](../peertube.md)
server.
The official container and documentation was made by
[chocobozz](https://github.com/chocobozzz/peertube).
This docker-rebuild is made up by a `docker-compose.yml` file.
In addition to the main container you need to connect a
[redis container](./redis.md) to it.
## Set-up
Create the files `rebuild.sh`, `.env` and `docker-compose.yml` at the same
place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `9000` | `9000` | TCP | WebUI |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | -------------------------- | ---------------------- |
| `assets` | `/app/client/dist` | storage for icons, etc |
| `config` | `/config` | configuration data |
| `data` | `/data` | further data storage |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker-compose up -d
```
## .env
```txt
TZ="Europe/Berlin"
PT_INITIAL_ROOT_PASSWORD=<root password>
PEERTUBE_ADMIN_EMAIL=<admin email>
PEERTUBE_WEBSERVER_HOSTNAME=<domain>
PEERTUBE_WEBSERVER_PORT=<port>
POSTGRES_USER=peertube
POSTGRES_PASSWORD=<postgres password>
POSTGRES_DB=peertube
PEERTUBE_DB_USERNAME=peertube
PEERTUBE_DB_PASSWORD=<db password>
PEERTUBE_DB_SSL=false
PEERTUBE_DB_HOSTNAME=postgres
PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.18.0.0/16"]
# E-mail configuration
PEERTUBE_SMTP_USERNAME=<smtp email>
PEERTUBE_SMTP_PASSWORD=<smtp password>
PEERTUBE_SMTP_HOSTNAME=mail.<domain>
PEERTUBE_SMTP_PORT=587
PEERTUBE_SMTP_FROM=<smtp email>
PEERTUBE_SMTP_TLS=false
PEERTUBE_SMTP_DISABLE_STARTTLS=false
```
## docker-compose.yml
```yml
version: "3.3"
services:
peertube:
image: chocobozzz/peertube:production-bullseye
ports:
- "9000:9000"
env_file:
- .env
volumes:
- assets:/app/client/dist
- data:/data
- config:/config
depends_on:
- postgres
- redis
restart: unless-stopped
postgres:
image: postgres:13-alpine
env_file:
- .env
volumes:
- db:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:6-alpine
volumes:
- redis:/data
restart: unless-stopped
volumes:
assets:
data:
config:
db:
redis:
```

View File

@@ -0,0 +1,58 @@
# cloudrac3r - bibliogram
This is a [Docker](/wiki/docker.md) container for the alternative Instagram
frontend [Bibliogram](../bibliogram.md).
The official container and documentation was made by
[cloudrac3r](https://github.com/cloudrac3r/bibliogram).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Set-up
First of all create a folder for your `rebuild.sh`.
After that clone bibliogram from [sr.ht](https://sr.ht/~cadence/bibliogram/) into
a folder within the just created folder.
You can find the `docker-compose.yml` in the cloned directory.
Set the variables, volumes and ports according and run the `rebuild.sh`.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ----------------------------------- |
| `db` | `/app/db` | storage for the bibliogram database |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `10407` | `10407` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
cd /root/docker/bibliogram/bibliogram
docker-compose down
docker-compose up -d
cd ..
```
## docker-compose.yml
```yml
version: "3"
volumes:
db:
services:
bibliogram:
build: .
image: cloudrac3r/bibliogram
volumes:
- db:/app/db
ports:
- 10407:10407
restart: unless-stopped
```

View File

@@ -0,0 +1,43 @@
# dperson - torproxy
This is a [Docker](/wiki/docker.md) container for a [Tor](../tor.md) proxy.
The container and documentation was made by [dperson](https://hub.docker.com/r/dperson/torproxy).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | -------------------------- |
| `tor_var` | `/var/lib/tor` | Location for various files |
| `tor_etc` | `/etc/tor` | Various other config |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | -------------------- |
| `8118` | `8118` | HTTP | privoxy web proxy |
| `9050` | `9050` | SOCKS | socks protocol proxy |
## rebuild.sh
```sh
#!/bin/sh
docker stop tor-proxy
docker rm tor-proxy
docker pull dperson/torproxy:latest
docker run --name tor-proxy \
--restart unless-stopped \
-p 8118:8118 \
-p 9050:9050 \
-v tor_var:/var/lib/tor \
-v tor_etc:/etc/tor \
-d dperson/torproxy
```

View File

@@ -0,0 +1,54 @@
# dyonr - jackettvpn
This is a [Docker](/wiki/docker.md) container for a [VPN](/wiki/vpn.md)
protected [Jackett](/wiki/jackett.md) server.
The official container and documentation was made by
[dyonr](https://github.com/DyonR/docker-Jackettvpn).
## Set-up
Create the file `rebuild.sh` and set `<username>` and `<password>` according to
your openvpn.
Additionally change the `LAN_NETWORK` if it differs for your local area network.
Run `./rebuild.sh` afterwards to create the volumes.
Place the openvpn certificate in the `jacket_config` docker volume inside the
`openvpn` folder.
After that rerun `./rebuild.sh` to make update your config.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ---------------------- |
| `jackett_config` | `/config` | storage for configs |
| `jackett_blackhole` | `/blackhole` | storage for magnets |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `9117` | `9117` | TCP | WebUI |
## rebuild.sh
```sh
docker stop jackett
docker rm jackett
docker pull dyonr/jackettvpn
docker run --name jackett \
--restart unless-stopped \
-p 9117:9117 \
-v jackett_config:/config \
-v jackett_blackhole:/blackhole \
-e "VPN_ENABLED=yes" \
-e "VPN_TYPE=openvpn" \
-e "VPN_USERNAME=<username>" \
-e "VPN_PASSWORD=<password>" \
-e "LAN_NETWORK=192.168.178.0/24" \
--privileged \
-d dyonr/jackettvpn
```

View File

@@ -0,0 +1,76 @@
# dyonr - qbittorrentvpn
This is a [Docker](/wiki/docker.md) container for a
[qBittorrent](../qbittorrent.md) server that is connected to the internet via
an [openVPN tunnel](/wiki/vpn.md).
The official container and documentation was made by
[dyonr](https://github.com/DyonR/docker-qbittorrentvpn).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
The default username of the web interface is `admin`.
The default password is `adminadmin`.
Both can be changed in the web interface after setup.
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------------------- | --------------------------- | ------- |
| `VPN_ENABLE` | Enable VPN | ` ` |
| `VPN_USERNAME` | Username for OpenVPN | ` ` |
| `VPN_PASSWORD` | Password for OpenVPN | ` ` |
| `LAN_NETWORK` | Subnet of the local network | ` ` |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ------------------- | ----------------------- |
| `qbittorrentvpn_config` | `/config` | Configuration files |
| `qbittorrentvpn_data` | `/downloads` | Storage for data |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `9091` | `8080` | TCP | WebUI |
## Additional
There are some special variables to set.
| Flag | Usage |
| ----------- | ---------------------- |
| `--cap-add` | add linux capabilities |
| `--device` | connect devices |
| `--sysctl` | configure systemctl |
## rebuild.sh
```sh
#!/bin/sh
docker stop qbittorrentvpn
docker rm qbittorrentvpn
docker pull dyonr/qbittorrentvpn
docker run --name qbittorrentvpn \
--restart unless-stopped \
-p 9091:8080 \
-v qbittorrentvpn_config:/config \
-v qbittorrentvpn_data:/downloads \
-e "VPN_ENABLED=yes" \
-e "VPN_TYPE=openvpn" \
-e "VPN_USERNAME=username" \
-e "VPN_PASSWORD=password" \
-e "LAN_NETWORK=192.168.0.0/16" \
--cap-add NET_ADMIN \
--device /dev/net/tun \
--sysctl "net.ipv4.conf.all.src_valid_mark=1" \
-d dyonr/qbittorrentvpn
```

View File

@@ -0,0 +1,123 @@
# gitea - gitea
This is a [Docker](/wiki/docker.md) container for a [Gitea](../gitea.md).
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.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/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.sh
```sh
#!/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,71 @@
# haugene - transmission-openvpn
This is a [Docker](/wiki/docker.md) container for a
[transmission](../transmission.md) server that is connected to the internet via
an [openVPN tunnel](/wiki/vpn.md).
The official container and documentation was made by
[haugene](https://github.com/haugene/docker-transmission-openvpn).
## Set-up
Create the file `rebuild.sh`.
To see which providers are supported take a look at the
[official documentation](https://haugene.github.io/docker-transmission-openvpn/supported-providers/).
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------------------- | --------------------------- | ------- |
| `OPENVPN_PROVIDER` | Provider for OpenVPN | ` ` |
| `OPENVPN_USERNAME` | Username for OpenVPN | ` ` |
| `OPENVPN_PASSWORD` | Password for OpenVPN | ` ` |
| `LOCAL_NETWORK` | Subnet of the local network | ` ` |
| `CREATE_TUN_DEVICE` | Use a tunnel device | ` ` |
| `WEBPROXY_ENABLES` | Use a webproxy | ` ` |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ----------------------- |
| `transmission_config` | `/config` | Configuration files |
| `transmission data` | `/data` | Storage for data |
| `/etc/localtime` | `/etc/localtime:ro` | Link to the systemtime |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `9091` | `9091` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker stop transmission
docker rm transmission
docker pull haugene/transmission-openvpn
docker run --name transmission \
--restart unless-stopped \
--cap-add NET_ADMIN \
-v /etc/localtime:/etc/localtime:ro \
-v transmission_data:/data \
-v transmission_config:/config \
-e OPENVPN_PROVIDER=<vpn provider> \
-e OPENVPN_CONFIG=<vpn_-_country-udp> \
-e OPENVPN_USERNAME=<username> \
-e OPENVPN_PASSWORD=<password> \
-e LOCAL_NETWORK=192.168.178.0/24 \
-e CREATE_TUN_DEVICE=true \
-e WEBPROXY_ENABLES=false \
--log-driver json-file \
--log-opt max-size=50m \
-p 9091:9091 \
-d haugene/transmission-openvpn
```

View File

@@ -0,0 +1,52 @@
# henrywhitaker3 - speedtest-tracker
This is a [Docker](/wiki/docker.md) container for a selfhosted internet speed
tracker.
The official container and documentation was made by
[henrywhitaker3](https://hub.docker.com/r/henrywhitaker3/speedtest-tracker).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ----------------- | ----------------------------- | ------- |
| `OOKLA_EULA_GDPR` | set to `true` to accept EULA | |
| `AUTH` | set to `true` to enable login | |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ------------------ |
| `speedtest` | `/config` | storage for config |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `8765` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker stop speedtest
docker rm speedtest
docker pull henrywhitaker3/speedtest-tracker:latest
docker run --name speedtest \
--restart unless-stopped \
-p 8765:80 \
-v speedtest:/config \
-e OOKLA_EULA_GDPR=true \
-e AUTH=true \
-d henrywhitaker3/speedtest-tracker:latest
```

View File

@@ -0,0 +1,62 @@
# itzg - minecraft-server
This is a [Docker](/wiki/docker.md) container for a
[Minecraft](../games/minecraft.md) server.
The container and documentation was made by
[itzg](https://hub.docker.com/r/itzg/minecraft-server).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/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.sh
```sh
#!/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
```

119
wiki/docker/iv-org_-_invidious.md Executable file
View File

@@ -0,0 +1,119 @@
# iv-org - invidious
This is a [Docker](/wiki/docker.md) container for [Invidious](../invidious.md).
The official container and documentation was made by
[invidious](https://github.com/iv-org/invidious).
This docker-rebuild is made up by a `docker-compose.yml` file.
There is no official pre-build on docker-hub.
In addition to the main container you need to connect a
[postgres container](./postgres.md) to it.
## Set-up
First of all create a folder for your `rebuild.sh`.
After that clone invidious from
[github](https://github.com/iv-org/invidious) into a folder within the
just created folder.
You can find the `docker-compose.yml` in the cloned directory.
Set the variables, volumes and ports according and run the `rebuild.sh`.
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| ---------------------- | ---------------------------------------------------------- | ------- |
| `channel_threads` | numer of threads to use for refreshing channels | `1` |
| `check_tables` | check channel integrity | `false` |
| `db: user` | user of database to access | |
| `db: password` | password of database to access | |
| `db: host` | ip of database to access | |
| `db: port` | port of database to access | |
| `db: dbname` | name of database to access | |
| `domain` | set domain if using a reverse proxy | |
| `feed_threads` | number of threads to use for refreshing subscription feeds | `1` |
| `full_refresh` | refresh all videos of a channel when crawled | `false` |
| `hmac_key` | hmac key that is required and needs to be set (randomly) | |
| `https_only` | use this flag to configure https reverse proxies | `false` |
| `popular_enabled` | enable the popular section | `true` |
| `registration_enabled` | enable registration for new users | `true` |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `3000` | `3000` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
cd invidious
docker-compose down
docker pull quay.io/invidious/invidious:latest
docker pull docker.io/library/postgres:14
docker-compose up -d
cd ..
```
## docker-compose.yml
```yml
version: "3"
services:
invidious:
image: quay.io/invidious/invidious:latest
restart: unless-stopped
ports:
- "3000:3000"
environment:
# Please read the following file for a comprehensive list of all available
# configuration options and their associated syntax:
# https://github.com/iv-org/invidious/blob/master/config/config.example.yml
INVIDIOUS_CONFIG: |
db:
dbname: invidious
user: kemal
password: kemal
host: invidious-db
port: 5432
check_tables: true
# external_port:
domain: sub.domain.tld
https_only: false
popular_enabled: false
#registration_enabled: false
# statistics_enabled: false
default_user_preferences:
dark_mode: true
default_home: "Subscriptions"
hmac_key: "hmac_key"
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/comments/jNQXAC9IVRw || exit 1
interval: 30m
timeout: 5m
retries: 3
depends_on:
- invidious-db
invidious-db:
image: docker.io/library/postgres:14
restart: unless-stopped
volumes:
- postgresdata:/var/lib/postgresql/data
- ./config/sql:/config/sql
- ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
environment:
POSTGRES_DB: invidious
POSTGRES_USER: kemal
POSTGRES_PASSWORD: kemal
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
volumes:
postgresdata:
```

View File

@@ -0,0 +1,42 @@
# jkarlos - git-server-docker
This is a [Docker](/wiki/docker.md) container for a [git](../git.md) server.
The official container and documentation was made by
[jkarlos](https://hub.docker.com/r/jkarlos/git-server-docker).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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,50 @@
# johnktims - folding-at-home
This is a [Docker](/wiki/docker.md) container for
[Folding@home](https://foldingathome.org/).
The official container and documentation was made by
[johnktims](https://hub.docker.com/r/johnktims/folding-at-home).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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 article](../docker.md).
## rebuild.sh
```sh
#!/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,68 @@
# jonohill - docker-openvpn-proxy
This is a [Docker](/wiki/docker.md) container for an
[OpenVPN proxy](/wiki/vpn.md#proxy-ovpn).
The official container and documentation was made by
[jonohill](https://github.com/jonohill/docker-openvpn-proxy).
## Set-Up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ------------------------ |
| `ovpn-proxy` | `/config` | storage for openvpn data |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------ |
| `9050` | `8080` | HTTP | proxy port |
## Environment-Variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ------------------- | --------------------------- | ------- |
| `LOCAL_NETWORK` | Set local network subnet | ` ` |
| `OPENVPN_USERNAME` | username for OpenVPN | ` ` |
| `OPENVPN_PASSWORD` | password for OpenVPN | ` ` |
## Additional
There are some special variables to set.
| Flag | Usage |
| ----------- | ---------------------- |
| `--cap-add` | add linux capabilities |
| `--device` | connect devices |
| `--sysctl` | configure systemctl |
## rebuild.sh
```sh
#!/bin/sh
docker stop openvpn-proxy
docker rm openvpn-proxy
docker pull jonoh/openvpn-proxy
docker run --name openvpn-proxy \
--restart unless-stopped \
-p "9050:8080" \
-v "openvpn-proxy:/config" \
-e LOCAL_NETWORK=192.168.178.0/24 \
-e OPENVPN_USERNAME="<OVPN_USERNAME>" \
-e OPENVPN_PASSWORD="<OVPN_PASSWORD>" \
--cap-add=NET_ADMIN \
--device /dev/net/tun \
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
-d jonoh/openvpn-proxy
```

View File

@@ -0,0 +1,76 @@
# kylemanna - openvpn
This is a [Docker](/wiki/docker.md) container for an
[OpenVPN server](/wiki/vpn.md).
The official container and documentation was made by
[kylemanna](https://hub.docker.com/r/kylemanna/openvpn).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs.
Then run the following commands.
Change `<VPN.SERVERNAME.COM>` to the URL the VPN is accessible at.
If not already done set a port forward or something similar.
```sh
docker volume create --name openvpn
docker run -v openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://<VPN.SERVERNAME.COM>
docker run -v openvpn:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
```
Afterwards run `./rebuild.sh`.
## Usage
### Create Certificates
Each device that connects to the [OpenVPN](/wiki/vpn.md#openvpn) server should
have a certificate to connect by.
Create a certificate and retrieve it by running the following commands.
Change all occurences of `<CLIENTNAME>` to the name of the client.
```sh
docker run -v openvpn:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full <CLIENTNAME> nopass
docker run -v openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient <CLIENTNAME> > <CLIENTNAME>.ovpn
```
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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,63 @@
# linuxserver - airsonic-advanced
This is a [Docker](/wiki/docker.md) container for a
[Airsonic-Advanced](../airsonic-advanced.md) server.
The official container and documentation was made by
[linuxserver](https://github.com/linuxserver/docker-airsonic-advanced).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ----------------------- |
| `airsonicadv_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.sh
```sh
#!/bin/sh
docker stop airsonicadv
docker rm airsonicadv
docker pull lscr.io/linuxserver/airsonic-advanced:latest
docker run --name=airsonicadv \
--restart unless-stopped \
-p 4040:4040 \
-v airsonicadv_config:/config \
-v media_music:/music \
-v media_playlists:/playlists \
-v media_podcasts:/podcasts \
-v media_audiobooks:/media \
-e PUID=0 \
-e PGID=0 \
-e TZ=Europe/Berlin \
-d lscr.io/linuxserver/airsonic-advanced:latest
```

View File

@@ -0,0 +1,64 @@
# linuxserver - airsonic
This is a [Docker](/wiki/docker.md) container for a [airsonic](../airsonic.md)
server.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/airsonic).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/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.sh
```sh
#!/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,67 @@
# linuxserver - jellyfin
This is a [Docker](/wiki/docker.md) container for a
[freshrss](https://freshrss.org/) server.
The official container and documentation was made by
[linuxserver](https://docs.linuxserver.io/images/docker-freshrss).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ------------------------------------ |
| `config` | `/config` | storage for config files of jellyfin |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `7008` | `80` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull lscr.io/linuxserver/freshrss:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2.1"
services:
freshrss:
image: lscr.io/linuxserver/freshrss:latest
container_name: freshrss
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /path/to/data:/config
ports:
- 80:80
restart: unless-stopped
```

View File

@@ -0,0 +1,90 @@
# linuxserver - jellyfin
This is a [Docker](/wiki/docker.md) container for a [jellyfin](../jellyfin.md)
server.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/jellyfin).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/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.sh
```sh
#!/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,86 @@
# linuxserver - lidarr
This is a [Docker](/wiki/docker.md) container for a [Lidarr](/wiki/*arr.md)
server.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/lidarr).
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
It is recommended to set a download completed folder with the same internal and
external mounts as your [BitTorent](/wiki/bittorrent.md) client.
This guide uses the same mounts as used in the
[Transmission](/wiki/transmission.md)
[Docker container](/wiki/docker/haugene_-_transmission-openvpn.md).
This namely causes the following line in the
[`docker-compose.yml`](#docker-composeyml).
```txt
- /var/lib/docker/volumes/transmission_data/_data/completed:/data/completed #optional
```
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------- | --------------------------- | ----------------------- |
| `PUID` | user id for container user | `1000` |
| `PGID` | group id for container user | `1000` |
| `TZ` | specify the timezone | `Etc/UTC` |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ----------------- | --------------------------------- |
| `config` | `/config` | directory for config |
| `complete` | `/music` | directory for music |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------ |
| `8686` | `8686` | TCP | webUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull lscr.io/linuxserver/lidarr:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2.1"
services:
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
environment:
- PUID=0
- PGID=0
- TZ=Etc/UTC
volumes:
- config:/config
- complete:/music #optional
- /var/lib/docker/volumes/transmission_data/_data/completed:/data/completed #optional
ports:
- 8686:8686
restart: unless-stopped
volumes:
config:
driver: local
complete:
driver: local
```

View File

@@ -0,0 +1,86 @@
# linuxserver - radarr
This is a [Docker](/wiki/docker.md) container for a [Radarr](/wiki/*arr.md)
server.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/radarr).
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
It is recommended to set a download completed folder with the same internal and
external mounts as your [BitTorent](/wiki/bittorrent.md) client.
This guide uses the same mounts as used in the
[Transmission](/wiki/transmission.md)
[Docker container](/wiki/docker/haugene_-_transmission-openvpn.md).
This namely causes the following line in the
[`docker-compose.yml`](#docker-composeyml).
```txt
- /var/lib/docker/volumes/transmission_data/_data/completed:/data/completed #optional
```
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------- | --------------------------- | ----------------------- |
| `PUID` | user id for container user | `1000` |
| `PGID` | group id for container user | `1000` |
| `TZ` | specify the timezone | `Etc/UTC` |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ----------------- | --------------------------------- |
| `config` | `/config` | directory for config |
| `complete` | `/movies` | directory for music |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------ |
| `7878` | `7878` | TCP | webUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull lscr.io/linuxserver/radarr:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2.1"
services:
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=0
- PGID=0
- TZ=Etc/UTC
volumes:
- config:/config
- complete:/movies #optional
- /var/lib/docker/volumes/transmission_data/_data/completed:/data/completed #optional
ports:
- 7878:7878
restart: unless-stopped
volumes:
config:
driver: local
complete:
driver: local
```

View File

@@ -0,0 +1,86 @@
# linuxserver - sonarr
This is a [Docker](/wiki/docker.md) container for a [Sonarr](/wiki/*arr.md)
server.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/sonarr).
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
It is recommended to set a download completed folder with the same internal and
external mounts as your [BitTorent](/wiki/bittorrent.md) client.
This guide uses the same mounts as used in the
[Transmission](/wiki/transmission.md)
[Docker container](/wiki/docker/haugene_-_transmission-openvpn.md).
This namely causes the following line in the
[`docker-compose.yml`](#docker-composeyml).
```txt
- /var/lib/docker/volumes/transmission_data/_data/completed:/data/completed #optional
```
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------- | --------------------------- | ----------------------- |
| `PUID` | user id for container user | `1000` |
| `PGID` | group id for container user | `1000` |
| `TZ` | specify the timezone | `Etc/UTC` |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ----------------- | --------------------------------- |
| `config` | `/config` | directory for config |
| `complete` | `/tv` | directory for music |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------ |
| `8989` | `8989` | TCP | webUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull lscr.io/linuxserver/sonarr:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2.1"
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=0
- PGID=0
- TZ=Etc/UTC
volumes:
- config:/config
- complete:/tv #optional
- /var/lib/docker/volumes/transmission_data/_data/completed:/data/completed #optional
ports:
- 8989:8989
restart: unless-stopped
volumes:
config:
driver: local
complete:
driver: local
```

View File

@@ -0,0 +1,61 @@
# linuxserver - syncthing
This is a [Docker](/wiki/docker.md) container for syncthing for
[file synchronization](../file-synchronization.md).
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/syncthing).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.sh
```sh
#!/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/tcp \
-p 22000:22000/udp \
-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,72 @@
# linuxserver - tvheadend
This is a [Docker](/wiki/docker.md) container for a [TVHeadend](../tvheadend.md)
server.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/tvheadend).
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------- | --------------------------- | ----------------------- |
| `PUID` | user id for container user | `1000` |
| `PGID` | group id for container user | `1000` |
| `TZ` | specify the timezone | `Europe/London` |
| `RUN_OPTS` | specify the timezone | ` ` |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | --------------------------------- |
| `config` | `/config` | directory for config |
| `tvdvr` | `/recordings` | directory for storage |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ------------ |
| `9981` | ` ` | TCP | webUI |
| `9982` | ` ` | TCP | HTSP port |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull lscr.io/linuxserver/tvheadend:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2.1"
services:
tvheadend:
image: lscr.io/linuxserver/tvheadend:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- config:/config
- tvdvr:/recordings
network_mode: "host"
restart: unless-stopped
volumes:
config:
tvdvr:
```

View File

@@ -0,0 +1,91 @@
# linuxserver - airsonic-advanced
This is a [Docker](/wiki/docker.md) container for a
[WireGuard](../vpn.md#WireGuard) server.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/r/linuxserver/wireguard).
## Set-Up
Create the file `rebuild.sh`.
Change the settings according to your needs.
Especially change `<VPN.SERVERNAME.COM>` to the URL the VPN is accessible at.
If not already done set a port forward or something similar.
`PEERS` is given the number of configs to create for different
[clients](/wiki/vpn.md#client-wg).
It is also possible to give a list of clients separated by commas
(`first,second,third`) to create.
The following shows the two options.
Then run `./rebuild.sh`
## Usage
### Retrieve Client Certificates by QR-Code
The client certificates can be retrieved with the following command.
`<peer-number>` is the number or identifier of the peer.
```sh
docker exec -it wireguard /app/show-peer <peer-number>
```
After running the command a QR-code should be displayed that describes the
certificate.
## Environment-Variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ----------- | --------------- | ------- |
| `PUID` | UserID | |
| `PGID` | GroupID | |
| `TZ` | Timezone | |
| `SERVERURL` | URL of server | |
| `PEERS` | Number of peers | |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ----------------------- |
| `wireguard` | `/config` | Configuration files |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `51820` | `51820` | UDP | VPN port |
## Additional
There are some special variables to set.
| Flag | Usage |
| ----------- | ---------------------- |
| `--cap-add` | add linux capabilities |
## rebuild.sh
```sh
#!/bin/sh
docker stop wireguard
docker rm wireguard
docker pull lscr.io/linuxserver/wireguard:latest
docker run --name=wireguard \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e SERVERURL=<VPN.SERVERNAME.COM> \
-e PEERS=1 \
-p 51820:51820/udp \
-v wireguard:/config \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--restart unless-stopped \
-d lscr.io/linuxserver/wireguard:latest
```

View File

@@ -0,0 +1,48 @@
# mailserver - docker-mailserver
This is a [Docker](/wiki/docker.md) container for a mailserver.
The official container and documentation was made by
[mailserver](https://hub.docker.com/r/mailserver/docker-mailserver).
It contains dovecot, antispam, antivirus, ssl, etc.
## Set-up
The configuration is done automatically using scripts by mailserver.
First you need to download the essential setup files.
```sh
wget -O .env https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master/compose.env
wget https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master/docker-compose.yml
wget https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master/mailserver.env
wget https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/v9.0.1/setup.sh
chmod a+x ./setup.sh
```
After that you need to edit the `.env` and the `mailserver.env<>` files to
configure the mailserver.
Create the file `rebuild.sh`.
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>)`
`./setup.sh alias add postmaster@<domain> <user@domain>`
And finally generate the DCIM keys and rebuild once again.
`./setup.sh config dkim`
Finally if a reverse proxy is used check the
[traefik entry](/wiki/docker/traefik.md#setup-mailserver) or the
[nginx entry](./nginx.md).
Afterwards you're ready to go by once again running the `rebuild.sh` file.
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull mailserver/docker-mailserver:latest
docker-compose up -d
```

26
wiki/docker/mariadb.md Normal file
View File

@@ -0,0 +1,26 @@
# mariadb
This is a [Docker](/wiki/docker.md) container for a mariadb database.
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.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ---------------- | ------------------------- |
| `mysql` | `/var/lib/mysql` | storage for owncloud data |

View File

@@ -0,0 +1,71 @@
# matrixdotorg - synapse
This is a [Docker](/wiki/docker.md) container for a synapse server using the
[matrix](../matrix.md) protocol.
The official container and documentation was made by
[matrixdotorg](https://hub.docker.com/matrixdotorg/synapse).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------- | ------------------------- | ----------------------- |
| `SYNAPSE_CONFIG_DIR` | config directory | `/data` |
| `SYNAPSE_CONFIG_PATH` | config path | `/data/homeserver.yaml` |
| `UID` | user id for synapse user | `1000` |
| `GID` | group id for synapse user | `1000` |
| `TZ` | specify the timezone | `Europe/London` |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | --------------------------------- |
| `synapse` | `/data` | directory for storage and configs |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ---------------------- |
| `8008` | `443` | TCP | matrix homeserver port |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull matrixdotorg/synapse:latest
docker-compose up -d
```
## docker-compose.yml
```yml
services:
synapse:
image: "matrixdotorg/synapse:latest"
restart: "unless-stopped"
environment:
SYNAPSE_CONFIG_DIR: "/data"
SYNAPSE_CONFIG_PATH: "/data/homeserver.yaml"
UID: "1000"
GID: "1000"
TZ: "Europe/London"
volumes:
- synapse:/data
volumes:
synapse:
driver: local
```

View File

@@ -0,0 +1,61 @@
# mikenye - airsonic-advanced
This is a [Docker](/wiki/docker.md) container for a
[Picard](/wiki/picard.md) instance accessible over the web and
[VNC](/wiki/vnc.md).
The official container and documentation was made by
[mikenye](https://github.com/mikenye/docker-picard).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Environment-variables
Set the following variables with the -e tag.
| Name | Usage | Default |
| ---------------- | ------------------- | ------- |
| `USER_ID` | UserID | `1000` |
| `GROUP_ID` | GroupID | `1000` |
| `DISPLAY_WIDTH` | Width of software | `1280` |
| `DISPLAY_HEIGHT` | Height of software | `768` |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ------------------------- |
| `config` | `/config` | Configuration files |
| `media_music` | `/storage` | Location for audio files |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | -------------------------- |
| `5800` | `5800` | TCP | WebUI |
| `5900` | `5900` | TCP | VNC |
| `8000` | `8000` | TCP | Picard browser integration |
## rebuild.sh
```sh
#!/bin/sh
docker stop picard
docker rm picard
docker pull mikenye/picard
docker run --name=picard \
--restart unless-stopped \
-p 5800:5800 \
-v media_music:/storage:rw \
-v picard_config:/config:rw \
-e USER_ID=0 \
-e GROUP_ID=0 \
-e DISPLAY_WIDTH=2560 \
-e DISPLAY_HEIGHT=1440 \
-d mikenye/picard
```

32
wiki/docker/mysql.md Normal file
View File

@@ -0,0 +1,32 @@
# mysql
This is a [Docker](/wiki/docker.md) container for a MySQL database.
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.
| Outside mount/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.

85
wiki/docker/nextcloud.md Normal file
View File

@@ -0,0 +1,85 @@
# NextCloud
This is a [Docker](/wiki/docker.md) container for [NextCloud](../nextcloud.md).
The official container and documentation was made by
[NextCloud](https://hub.docker.com/_/nextcloud).
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.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ---------------------------------------- |
| `nextcloud` | `/var/www/html` | storage for nextcloud plugins and config |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `80` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull nextcloud:latest
docker pull mariadb:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=<mysql root password>
- MYSQL_PASSWORD=<mysql password>
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
restart: always
ports:
- 8080:80
links:
- db
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=<mysql password>
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
volumes:
db:
driver: local
nextcloud:
driver: local
```

57
wiki/docker/nginx.md Normal file
View File

@@ -0,0 +1,57 @@
# nginx
This is a [Docker](/wiki/docker.md) container for an
[nginx server](../nginx.md).
The official container and documentation was made by
[nginx](https://hub.docker.com/_/nginx).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | -------------------- | --------------------------- |
| `nginx` | `/etc/nginx/conf.d/` | directory for nginx configs |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `80` | TCP | http port |
| `443` | `443` | TCP | https port |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull nginx:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2"
services:
nginx:
image: nginx:latest
restart: unless-stopped
volumes:
- nginx:/etc/nginx/conf.d/
ports:
- 80:80
- 443:443
volumes:
nginx:
driver: local
```

View File

@@ -0,0 +1,47 @@
# olbat - cupsd
This is a [Docker](/wiki/docker.md) container for a [Cups](../cups.md) server.
The official container and documentation was made by
[olbat](https://hub.docker.com/r/olbat/cupsd).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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
```

73
wiki/docker/owncloud.md Normal file
View File

@@ -0,0 +1,73 @@
# owncloud
This is a [Docker](/wiki/docker.md) container for a [owncloud](../owncloud.md) server.
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.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/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.sh
```sh
#!/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,36 @@
# oznu - docker-cloudflare-ddns
This is a [Docker](/wiki/docker.md) container for dynamically updating
cloudflare dns entries.
The official container and documentation was made by
[oznu](https://github.com/oznu/docker-cloudflare-ddns).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.sh
```sh
#!/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,43 @@
# oznu - onedrive
This is a docker container for a onedrive client.
The official container and documentation was made by [oznu](https://hub.docker.com/r/oznu/onedrive).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ----------------------------------------------- |
| `onedrive_config` | `/config` | configuration storage for the server connection |
| `onedrive_doc` | `/documents` | storage for downloaded documents |
## rebuild.sh
```sh
#!/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,43 @@
# portainer - agent
This is a [Docker](/wiki/docker.md) container for a [portainer](../portainer.md)
agent.
The official container and documentation was made by
[portainer](https://hub.docker.com/r/portainer/agent).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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,43 @@
# portainer - portainer
This is a [Docker](/wiki/docker.md) container for a [portainer](../portainer.md)
server.
The official container and documentation was made by
[portainer](https://hub.docker.com/r/portainer/portainer).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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
```

33
wiki/docker/postgres.md Normal file
View File

@@ -0,0 +1,33 @@
# Postgres
This is a [Docker](/wiki/docker.md) container for a postgresql database.
The official container and documentation was made by
[Postgres](https://hub.docker.com/_/postgres).
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 |
| ------------------------ | -------------------------------- | ------- |
| `POSTGRES_ROOT_PASSWORD` | set the postgres admin password | |
| `POSTGRES_USER` | set the postgres username | |
| `POSTGRES_PASSWORD` | set the postgres user password | |
| `POSTGRES_DB` | specify postgres database to use | |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | -------------------------- | ---------------------------- |
| `postgres` | `/var/lib/postgresql/data` | storage for owncloud data |
| `postgres_config` | `/config/sql` | initial sql setup and config |
## 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,58 @@
# prologic - golinks
This is a [Docker](/wiki/docker.md) container for golinks, a web app to create
bookmarks, commands and aliases.
The official container and documentation was made by
[prologic](https://git.mills.io/prologic/golinks).
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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,40 @@
# prologic - gopherproxy
This is a [Docker](/wiki/docker.md) container for a gopher to http proxy.
The official container and documentation was made by
[prologic](https://hub.docker.com/r/prologic/gopherproxy).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.sh
```sh
#!/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,40 @@
# prologic - todo
This is a [Docker](/wiki/docker.md) container for a todo-manager.
The official container and documentation was made by
[prologic](https://hub.docker.com/r/prologic/todo).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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,45 @@
# rblsb - synctube
This is a [Docker](/wiki/docker.md) container for the synchronized video
platform synctube.
The official container and documentation was made by
[rblsb](https://github.com/rblsb/synctube).
There is no official pre-build on docker-hub.
## Set-up
First of all create a folder for your `rebuild.sh`.
After that clone synctube from [github](https://github.com/rblsb/synctube) into
a folder within the just created folder.
Then build the image inside the git folder with `docker build -t synctube .`.
Set the variables, volumes and ports according and run the `rebuild.sh`.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ------------------- | ------------------- |
| `synctube` | `/usr/src/app/user` | Configuration files |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `4200` | `4200` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker stop synctube
docker rm synctube
docker run --name synctube \
--restart unless-stopped \
-p 4200:4200 \
-v synctube:/usr/src/app/user \
-d synctube
```

15
wiki/docker/redis.md Normal file
View File

@@ -0,0 +1,15 @@
# redis
This is a [Docker](/wiki/docker.md) container for a redis database.
The official container and documentation was made by
[redis](https://hub.docker.com/_/redis).
The Docker container is mainly used in combination with other containers.
To achieve this in the easiest way use a docker-compose file.
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | -------------------- |
| `redis` | `/data` | storage for all data |

View File

@@ -0,0 +1,49 @@
# rlister - hastebin
This is a [Docker](/wiki/docker.md) container for a hastebin server.
The official container and documentation was made by
[rlister](https://hub.docker.com/r/rlister/hastebin).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/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.sh
```sh
#!/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
```

68
wiki/docker/samba.md Normal file
View File

@@ -0,0 +1,68 @@
# samba
This is a [Docker](/wiki/docker.md) container for a [Samba](../samba.md)
server.
The official container and documentation was made by
[dperson](https://hub.docker.com/r/samba).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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,43 @@
# searx - searx
This is a [Docker](/wiki/docker.md) container for a [searx](../searx.md)
meta-search machine.
The official container and documentation was made by
[searx](https://hub.docker.com/r/searx/searx).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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,49 @@
# sissbrueckner - linkding
This is a [Docker](/wiki/docker.md) container for a [linkding](../linkding.md)
bookmark and archive service.
The official container and documentation was made by
[sissbrueckner](https://github.com/sissbruecker/linkding).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
Afterwards you need to create a user.
This can be done by running the following line with changed credentials:
```sh
docker exec -it linkding python manage.py createsuperuser --username=joe --email=joe@example.com
```
You will be asked for a password via the commandline.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ---------------------- | --------------------------- |
| `linkding` | `/etc/linkding/data` | storage for persistent data |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `9090` | `9090` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker stop linkding
docker rm linkding
docker pull sissbruecker/linkding:latest
docker run --name linkding \
--restart unless-stopped \
-p 9090:9090 \
-v linkding:/etc/linkding/data \
-d sissbruecker/linkding:latest
```

View File

@@ -0,0 +1,32 @@
# spikecodes - libreddit
This is a [Docker](/wiki/docker.md) container for the alternative reddit
frontend [libreddit](../libreddit.md).
The official container and documentation was made by
[spikecodes](https://github.com/spikecodes/libreddit).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8080` | `8080` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker stop libreddit
docker rm libreddit
docker pull spikecodes/libreddit:latest
docker run --name libreddit \
--restart unless-stopped \
-p 8080:8080 \
-d spikecodes/libreddit:latest
```

54
wiki/docker/teamspeak.md Normal file
View File

@@ -0,0 +1,54 @@
# teamspeak
This is a [Docker](/wiki/docker.md) container for a
[teamspeak3](../teamspeak3.md) server.
The official container and documentation was made by
[teamspeak](https://hub.docker.com/_/teamspeak).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/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.sh
```sh
#!/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,84 @@
# tetricz - mordhau-server
This is a [Docker](/wiki/docker.md) container for a mordhau server.
The official container and documentation was made by
[tetricz](https://hub.docker.com/r/tetricz/mordhau-server).
## Set-up
Create the files `start.sh` and `stop.sh`.
Change the settings according to your needs and run `./start.sh` to start
the server.
With `stop.sh` you can stop it.
## 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.
| Outside mount/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.sh
```sh
#!/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.sh
```sh
#/bin/sh
docker stop mordhau
docker rm mordhau
```

View File

@@ -0,0 +1,210 @@
# tomsquest - docker-radicale
This is a [Docker](/wiki/docker.md) container for a radicale CalDAV server.
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.
## Set-up
Create the file `rebuild.sh`.
Create a volume with the name `radicale_config`.
Then create the `config` file in the volume `radicale_config`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#/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
```
## radicale\_config/\_data/config
```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.

214
wiki/docker/traefik.md Normal file
View File

@@ -0,0 +1,214 @@
# traefik
This is a [Docker](/wiki/docker.md) container for a traefik edge router.
The official container and documentation was made by
[traefik](https://hub.docker.com/_/traefik).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
In that folder create the directories `data/config`.
Place the files `data/traefik.yml` and `data/config/dynamic.yml` in the
according directories.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ------------------------- | --------------------------------------- |
| `/etc/localtime` | `/etc/localtime:ro` | get the system time |
| `/var/run/docker.sock` | `/var/run/docker.sock:ro` | get access to view docker container |
| `./data/traefik.yml` | `/traefik.yml:ro` | basic traefik config |
| `./data/acme.json` | `/acme.json` | place to store certificates for https |
| `./data/config` | `/configurations` | place for dynamically changable configs |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `80` | TCP | http |
| `443` | `443` | TCP | https |
## Networks
Set the following networks in the `networks:` section of the docker-compose file.
| Name | Usage |
| ------- | -------------------------------------- |
| `proxy` | network to expose http and https ports |
## Labels
Set the following labels in the `labels:` section.
```yml
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.traefik-secure.entrypoints=websecure"
- "traefik.http.routers.traefik-secure.service=api@internal"
- "traefik.http.routers.traefik-secure.rule=Host(`traefik.<domain>`)"
- "traefik.http.routers.traefik-secure.middlewares=user-auth@file"
```
The first five lines are for publishing traefik under `traefik.<domain>`.
The last line is to add authentication.
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull traefik:v2.4
docker-compose up -d
```
## docker-compose.yml
```yml
version: "3"
services:
traefik:
image: traefik:v2.4
container_name: traefik
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
ports:
- 80:80
- 443:443
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/traefik.yml:/traefik.yml:ro
- ./data/acme.json:/acme.json
- ./data/config:/configurations
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.traefik-secure.entrypoints=websecure"
- "traefik.http.routers.traefik-secure.rule=Host(`traefik.<domain>`)"
- "traefik.http.routers.traefik-secure.service=api@internal"
- "traefik.http.routers.traefik-secure.middlewares=user-auth@file"
networks:
proxy:
external: true
```
## data/traefik.yml
```yml
api:
dashboard: true
entryPoints:
web:
address: :80
http:
redirections:
entryPoint:
to: websecure
websecure:
address: :443
http:
middlewares:
- secureHeaders@file
tls:
certResolver: letsencrypt
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
file:
filename: /configurations/dynamic.yml
certificatesResolvers:
letsencrypt:
acme:
email: <email address>
storage: acme.json
keyType: EC384
httpChallenge:
entryPoint: web
```
## data/config/dynamic.yml
In the config replace `username:htpasswd` with the output of
`echo $(htpasswd -nb <user> <pasword>) | sed -e s/\\$/\\$\\$/g`.
```yml
http:
middlewares:
secureHeaders:
headers:
sslRedirect: true
forceSTSHeader: true
stsIncludeSubdomains: true
stsPreload: true
stsSeconds: 31536000
user-auth:
basicAuth:
users:
- "username:htpasswd"
tls:
options:
default:
cipherSuites:
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
minVersion: VersionTLS12
```
## Create reverse proxies
To create a reverse proxy from a docker container add the following lines in the
`labels:` section of the `docker-compose.yml` of the service to proxy.
```yml
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.<service name>-secure.entrypoints=websecure"
- "traefik.http.routers.<service name>-secure.rule=Host(`<subdomain>.<domain>`)"
- "traefik.http.routers.<service name>-secure.service=<service name>"
- "traefik.http.services.<service name>.loadbalancer.server.port=<port>"
```
This configuration automatically redirects http to https.
When using this configuration the port specified in the latter lines can be
ommitted in the `ports:` section if not used directly.
This ensures access only via https and restricts access via ip and port.
## Setup Mailserver
If setting up a
[docker-mailserver by mailserver](./mailserver_-_docker-mailserver.md) no http
or https is needed.
But a certificate for the mailserver is needed regardless.
In this case add the following lines to the file `docker-compose.yml` in the
`services:` section and adapt them.
```yml
whoami:
image: docker.io/traefik/whoami:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`<subdomain>.<domain>`)"
```

View File

@@ -0,0 +1,51 @@
# vectorim - riot-web
This is a [Docker](/wiki/docker.md) container for a [matrix](../matrix.md)
client.
The official container and documentation was made by
[linuxserver](https://hub.docker.com/vectorim/riot-web).
This docker-rebuild is made up by a `docker-compose.yml` file.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------------- | ----------- |
| `./config.json` | `/app/config.json:ro` | config file |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `80` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull vectorim/riot-web:latest
docker-compose up -d
```
## docker-compose.yml
```yml
version: "2"
services:
element:
image: vectorim/riot-web:latest
restart: unless-stopped
volumes:
- "./data/matrix/element/config.json:/app/config.json:ro"
ports:
- 80:80
```

View File

@@ -0,0 +1,54 @@
# ventz - bind
This is a [Docker](/wiki/docker.md) container for a [bind](../bind.md)
[DNS](../dns.md) resolver.
The official container and documentation was made by
[ventz](https://hub.docker.com/r/ventz/bind).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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
```sh
#!/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,106 @@
# wallabag - wallabag
This is a [Docker](/wiki/docker.md) container for a [wallabag](../wallabag.md)
server.
The Server consists of 3 Docker containers, one is the wallabag main server, one
is a database and one a redis instance.
In addition to the main container you need to connect a [mariadb container](./mariadb.md)
and a [redis container](./redis.md) to it.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Environment-variables
Set the following environment-variables in the `environment:` section of the
docker-compose file.
| Name | Usage | Default |
| --------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `MYSQL_ROOT_PASSWORD` | Password for the mySQL root user | |
| `SYMFONY__ENV__DATABASE_DRIVER` | Database driver to use | `pdo_sqlite` |
| `SYMFONY__ENV__DATABASE_HOST` | Host for database | `127.0.0.1` |
| `SYMFONY__ENV__DATABASE_PORT` | Port for database | |
| `SYMFONY__ENV__DATABASE_NAME` | Name for database | `symfony` |
| `SYMFONY__ENV__DATABASE_USER` | User for database | `root` |
| `SYMFONY__ENV__DATABASE_PASSWORD` | Password for database | `~` |
| `SYMFONY__ENV__DATABASE_CHARSET` | Character set to be used by the database | `utf8` |
| `SYMFONY__ENV__MAILER_HOST` | SMTP host | `127.0.0.1` |
| `SYMFONY__ENV__MAILER_USER` | SMTP user | `~` |
| `SYMFONY__ENV__MAILER_PASSWORD` | SMTP passwort | `~` |
| `SYMFONY__ENV__FROM_EMAIL` | mail address used for outgoing mails | `wallabag@example.com` |
| `SYMFONY__ENV__DOMAIN_NAME` | URL to wallabag instance | `https://your-wallabag-url-instance.com` |
| `SYMFONY__ENV__SERVER_NAME` | Name for the wallabag server | `Your wallabag instance` |
## Volumes
Set the following volumes in the `volumes:` section of the docker-compose file.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | ------------------------------------- | -------------------------------- |
| `wallabag_wallabag` | `/var/www/wallabag/web/assets/images` | storage for wallabag config data |
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `80` | `80` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull wallabag/wallabag:latest
docker pull mariadb:latest
docker pull redis:alpine
docker-compose up -d
```
## docker-compose.yml
```yml
version: '3'
services:
wallabag:
image: wallabag/wallabag
environment:
- MYSQL_ROOT_PASSWORD=wallaroot
- SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
- SYMFONY__ENV__DATABASE_HOST=db
- SYMFONY__ENV__DATABASE_PORT=3306
- SYMFONY__ENV__DATABASE_NAME=wallabag
- SYMFONY__ENV__DATABASE_USER=wallabag
- SYMFONY__ENV__DATABASE_PASSWORD=wallapass
- SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
- SYMFONY__ENV__MAILER_HOST=127.0.0.1
- SYMFONY__ENV__MAILER_USER=~
- SYMFONY__ENV__MAILER_PASSWORD=~
- SYMFONY__ENV__FROM_EMAIL=wallabag@example.com
- SYMFONY__ENV__DOMAIN_NAME=https://<wallabag instance>
- SYMFONY__ENV__SERVER_NAME="Your wallabag instance"
ports:
- "8082:80"
volumes:
- wallabag_wallabag:/var/www/wallabag/web/assets/images
db:
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=wallaroot
volumes:
- /opt/wallabag/data:/var/lib/mysql
redis:
image: redis:alpine
volumes:
- wallabag_redis:/data
volumes:
wallabag_wallabag:
driver: local
wallabag_redis:
driver: local
```

View File

@@ -0,0 +1,40 @@
# xy2z - pinedocs
This is a [Docker](/wiki/docker.md) container for the file viewer pinedocs.
The official container and documentation was made by
[xy2z](https://hub.docker.com/r/xy2z/pinedocs).
## Set-up
Create the file `rebuild.sh`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/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.sh
```sh
#!/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
```

81
wiki/docker/yourls.md Normal file
View File

@@ -0,0 +1,81 @@
# yourls
This is a [Docker](/wiki/docker.md) container for the URl shortener 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.
## Set-up
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## 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.
| Outside mount/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.sh
```sh
#!/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
```

139
wiki/docker/zedeus_-_nitter.md Executable file
View File

@@ -0,0 +1,139 @@
# zedeus - nitter
This is a [Docker](/wiki/docker.md) container for the alternative Twitter
frontend [nitter](../nitter.md).
The official container and documentation was made by
[zedeus](https://github.com/zedeus/nitter).
## Set-up
Create the file `rebuild.sh`, `docker-compose.yml` and `nitter.conf` at the same
place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | --------------- | ------------------------- |
| `nitter` | `/data` | storage for all of nitter |
## Ports
Set the following ports with the -p tag.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8080` | `8080` | TCP | WebUI |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull awesometechnologies/synapse-admin:latest
docker-compose up -d
```
## docker-compose.yml
```txt
version: "3"
services:
nitter:
image: zedeus/nitter:latest
container_name: nitter
ports:
- "8080:8080"
volumes:
- ./nitter.conf:/src/nitter.conf:Z,ro
depends_on:
- nitter-redis
restart: unless-stopped
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:8080/Jack/status/20 || exit 1
interval: 30s
timeout: 5s
retries: 2
user: "998:998"
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
nitter-redis:
image: redis:6-alpine
container_name: nitter-redis
command: redis-server --save 60 1 --loglevel warning
volumes:
- nitter-redis:/data
restart: unless-stopped
healthcheck:
test: redis-cli ping
interval: 30s
timeout: 5s
retries: 2
user: "999:1000"
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
volumes:
nitter-redis:
```
## nitter.conf
```txt
[Server]
address = "0.0.0.0"
port = 8080
https = false # disable to enable cookies when not using https
httpMaxConnections = 100
staticDir = "./public"
title = "nitter"
hostname = "nitter.net"
[Cache]
listMinutes = 240 # how long to cache list info (not the tweets, so keep it high)
rssMinutes = 10 # how long to cache rss queries
redisHost = "nitter-redis"
redisPort = 6379
redisPassword = ""
redisConnections = 20 # connection pool size
redisMaxConnections = 30
# max, new connections are opened when none are available, but if the pool size
# goes above this, they're closed when released. don't worry about this unless
# you receive tons of requests per second
[Config]
hmacKey = "secretkey" # random key for cryptographic signing of video urls
base64Media = false # use base64 encoding for proxied media urls
enableRSS = true # set this to false to disable RSS feeds
enableDebug = false # enable request logs and debug endpoints
proxy = "" # http/https url, SOCKS proxies are not supported
proxyAuth = ""
tokenCount = 10
# minimum amount of usable tokens. tokens are used to authorize API requests,
# but they expire after ~1 hour, and have a limit of 187 requests.
# the limit gets reset every 15 minutes, and the pool is filled up so there's
# always at least $tokenCount usable tokens. again, only increase this if
# you receive major bursts all the time
# Change default preferences here, see src/prefs_impl.nim for a complete list
[Preferences]
theme = "Nitter"
replaceTwitter = "nitter.net"
replaceYouTube = "piped.video"
replaceReddit = "teddit.net"
proxyVideos = true
hlsPlayback = false
infiniteScroll = false
```