Compare commits
2 commits
0fe15c49f0
...
0ffd7a3f64
Author | SHA1 | Date | |
---|---|---|---|
Alexey Skobkin | 0ffd7a3f64 | ||
783be7532e |
|
@ -47,25 +47,19 @@ Not every stack is tested to fully work.
|
|||
| Homer | ✅ | `b4bz/homer` | Server homepage generator. | [Github](https://github.com/bastienwirtz/homer), [Demo](https://homer-demo.netlify.app), [Configuration](https://github.com/bastienwirtz/homer/blob/main/docs/configuration.md) |
|
||||
| I2PD | ✅ | `purplei2p/i2pd` | The Invisible Internet router. | [Website](https://i2pd.website), [Github](https://github.com/PurpleI2P/i2pd/), [I2P project](https://geti2p.net/) |
|
||||
| InBucket | ✅ | `inbucket/inbucket` | Testing SMTP/POP3 mail server with web interface. | [Website](https://www.inbucket.org), [Github](https://github.com/inbucket/inbucket) |
|
||||
| ~~JDownloader~~ | ✅ Abandoned | `jaymoulin/jdownloader` | Download manager with paid/ad file hosting support. | [Website](https://jdownloader.org) |
|
||||
| ~~Joplin~~ | ✅ Abandoned | `joplin/server` | Markdown GTD / notes manager synchronization server. | [Website](https://joplinapp.org), [Github](https://github.com/laurent22/joplin) |
|
||||
| Killing Floor 2 server | ✅ Abandoned | `jeeaaasustest/killingfloor2-srv` | Killing Floor 2 game server. | |
|
||||
| Lidarr | Not tested | `linuxserver/lidarr` | Music downloader and manager. | [Website](https://lidarr.audio), [Github](https://github.com/Lidarr/Lidarr), [Wiki](https://wiki.servarr.com/lidarr) |
|
||||
| magnetico-web | ✅ | `skobkin/magnetico-web` | DHT indexer private web search front-end. | [Git](https://git.skobk.in/skobkin/magnetico-web), [Git mirror](https://gitlab.com/skobkin/magnetico-web) |
|
||||
| magnetico-web-telegram | ✅ | `skobkin/magnetico-web-telegram-bot` | Magnetico Web Telegram bot. | [Bitbucket](https://bitbucket.org/skobkin/magnetico-web-telegram-bot/) |
|
||||
| magneticod | ✅ | `boramalper/magneticod` | DHT indexing daemon. | [Website](https://www.boramalper.org/labs/magnetico/), [Github](https://github.com/boramalper/magnetico) |
|
||||
| ~~magneticod-python~~ | ✅ Abandoned | `skobkin/magneticod-python` | DHT indexing daemon (legacy version) | [Website](https://www.boramalper.org/labs/magnetico/), [Github](https://github.com/boramalper/magnetico) |
|
||||
| ~~mariadb-common~~ | ❌ Unfinished | `mariadb` | MariaDB database for common use. | [Website](https://mariadb.org) |
|
||||
| Matrix Telegram Bridge | ✅ | `dock.mau.dev/mautrix/telegram` | Telegram bridge for Matrix server | [Gitlab](https://mau.dev/mautrix/telegram/) |
|
||||
| Metube | ✅ | `alexta69/metube` | Web GUI for yt-dlp. | [Github](https://github.com/alexta69/metube) |
|
||||
| Murmur (Mumble server) | ✅ | `registry.gitlab.com/skobkin/docker-murmur` | Mumble VoIP server (custom build) | [Website](https://www.mumble.info), [Github](https://github.com/mumble-voip/mumble) |
|
||||
| NextCloud | ❌ Unfinished | `nextcloud` | File management, synchronization, management and GTD platform. | [Website](https://nextcloud.com), [Github](https://github.com/nextcloud/server) |
|
||||
| Ollama | ✅ | `ollama/ollama` | Toolkit for easily running LLM's locally. | [Website](https://ollama.com), [Github](https://github.com/ollama/ollama) |
|
||||
| Open Streaming Platform | ✅ | `deamos/openstreamingplatform` | Live streaming platform. | [Website](https://openstreamingplatform.com), [Gitlab](https://gitlab.com/osp-group/flask-nginx-rtmp-manager) |
|
||||
| OpenVPN | ✅ | `kylemanna/openvpn` | OpenVPN server with some management toolkit. | [Website](https://openvpn.net), [Image Github](https://www.github.com/kylemanna/docker-openvpn) |
|
||||
| Owncast | ✅ | `gabekangas/owncast` | Live streaming platform with federation support. | [Website](https://owncast.online), [Github](https://github.com/owncast/owncast) |
|
||||
| Portainer | ✅ | `portainer/portainer` | Docker Container management web UI. | [Website](https://www.portainer.io), [Github](https://github.com/portainer/portainer) |
|
||||
| ~~Postgres Common~~ | ❌ Unfinished | `postgres` | PostgreSQL database for common use. | [Website](https://www.postgresql.org) |
|
||||
| Proxy MTProto | ✅ | `mtproxy/mtproxy` | MTProto Telegram proxy. | [Website](https://telegram.org), [Github](https://github.com/TelegramMessenger/MTProxy) |
|
||||
| Proxy Socks5 | ✅ | `serjs/go-socks5-proxy` | Simple SOCKS5 proxy. | [Github](https://github.com/serjs/socks5-server) |
|
||||
| qBittorrent | ✅ | `linuxserver/qbittorrent` | qBittorrent (noX) | [Website](https://www.qbittorrent.org), [LinuxServer Fleet](https://fleet.linuxserver.io/image?name=linuxserver/qbittorrent) |
|
||||
|
@ -83,5 +77,3 @@ Not every stack is tested to fully work.
|
|||
| Tor Privoxy | ✅ | `registry.gitlab.com/skobkin/torproxy-obfs4` | Tor image with integrated privoxy and OBFS4 bridge support. | [Original image Github](https://github.com/dperson/torproxy), [OBFS4 support image Gitlab](https://gitlab.com/skobkin/torproxy-obfs4) |
|
||||
| Watchtower | ✅ | `containrrr/watchtower` | Docker container auto-update daemon. | [Website](https://containrrr.dev/watchtower/), [Github](https://github.com/containrrr/watchtower) |
|
||||
| Webhook.site | | `webhooksite/webhook.site` | HTTP callback testing tool | [Website](https://webhook.site), [Github](https://github.com/webhooksite/webhook.site) |
|
||||
| Wireguard | ❌ Unfinished | `cmulk/wireguard-docker` | WireGuard VPN. | [Website](https://www.wireguard.com), [Image Github](https://github.com/cmulk/wireguard-docker) |
|
||||
| ~~Wordpress~~ | ❌ Unfinished | `wordpress` | Wordpress blogging platform. | [Webiste](https://wordpress.org), [SVN](https://build.trac.wordpress.org/browser) |
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
# see # https://hub.docker.com/r/jaymoulin/jdownloader
|
||||
HOST_USER=1000
|
||||
HOST_GROUP=1000
|
||||
|
||||
CONFIG_PATH=./config/config
|
||||
LOGS_PATH=./config/logs
|
||||
DOWNLOADS_PATH=./data
|
||||
|
||||
MYJD_BIND_PORT=3129
|
||||
|
||||
MYJD_USER=xxx@yyy.tld
|
||||
MYJD_PASSWORD=qwerty
|
||||
MYJD_DEVICE_NAME=mydevice
|
||||
|
||||
LOG_MAX_SIZE=5m
|
||||
LOG_MAX_FILE=5
|
2
jdownloader/config/.gitignore
vendored
2
jdownloader/config/.gitignore
vendored
|
@ -1,2 +0,0 @@
|
|||
/*
|
||||
!/.gitignore
|
2
jdownloader/data/.gitignore
vendored
2
jdownloader/data/.gitignore
vendored
|
@ -1,2 +0,0 @@
|
|||
/*
|
||||
!/.gitignore
|
|
@ -1,27 +0,0 @@
|
|||
# https://hub.docker.com/r/jaymoulin/jdownloader
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
jdownloader:
|
||||
image: jaymoulin/jdownloader
|
||||
container_name: jdownloader
|
||||
restart: unless-stopped
|
||||
user: "${HOST_USER}:${HOST_GROUP}"
|
||||
volumes:
|
||||
- "${CONFIG_PATH:-./config/config}:/opt/JDownloader/app/cfg"
|
||||
- "${DOWNLOADS_PATH:-./data}:/opt/JDownloader/Downloads"
|
||||
- "${LOGS_PATH:-./config/logs}:/opt/JDownloader/app/logs" #optional
|
||||
- /etc/localtime:/etc/localtime:ro #optional
|
||||
env_file: ".env"
|
||||
#environment:
|
||||
#MYJD_USER: email@email.com #optional (see [Identify](https://github.com/jaymoulin/docker-jdownloader#identify))
|
||||
#MYJD_PASSWORD: bar #optional (see [Identify](https://github.com/jaymoulin/docker-jdownloader#identify))
|
||||
#MYJD_DEVICE_NAME: "${MYJD_DEVICE_NAME}" #optional
|
||||
#XDG_DOWNLOAD_DIR: /opt/JDownloader/Downloads #optional
|
||||
ports:
|
||||
- "${MYJD_BIND_PORT:-3129}:3129"
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "${LOG_MAX_SIZE:-5m}"
|
||||
max-file: "${LOG_MAX_FILE:-5}"
|
|
@ -1,11 +0,0 @@
|
|||
DB_CLIENT=pg
|
||||
POSTGRES_PASSWORD=joplin
|
||||
POSTGRES_DATABASE=joplin
|
||||
POSTGRES_USER=joplin
|
||||
POSTGRES_PORT=5432
|
||||
#POSTGRES_HOST=db
|
||||
|
||||
APP_BASE_URL=https://domain.tld
|
||||
|
||||
APP_PORT=22300
|
||||
EXTERNAL_PORT=8030
|
2
joplin/data/.gitignore
vendored
2
joplin/data/.gitignore
vendored
|
@ -1,2 +0,0 @@
|
|||
/*
|
||||
!/.gitignore
|
|
@ -1,22 +0,0 @@
|
|||
version: "3.7"
|
||||
services:
|
||||
db:
|
||||
image: postgres:13
|
||||
volumes:
|
||||
- ./data/postgres:/var/lib/postgresql/data
|
||||
expose:
|
||||
- "5432"
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
|
||||
app:
|
||||
image: joplin/server:latest
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "127.0.0.1:${EXTERNAL_PORT:-8030}:22300"
|
||||
env_file: .env
|
||||
environment:
|
||||
- POSTGRES_HOST=${POSTGRES_HOST:-db}
|
||||
restart: unless-stopped
|
||||
user: '${HOST_USER:-0}'
|
|
@ -1,17 +0,0 @@
|
|||
server {
|
||||
listen 443 ssl http2;
|
||||
server_name joplin.domain.tld;
|
||||
|
||||
access_log /var/log/nginx/joplin.domain.tld.access;
|
||||
error_log /var/log/nginx/joplin.domain.tld.error;
|
||||
|
||||
charset utf-8;
|
||||
|
||||
location / {
|
||||
proxy_set_header Host $host;
|
||||
proxy_pass http://127.0.0.1:8030;
|
||||
}
|
||||
|
||||
# Wildcard certificate config
|
||||
#include ssl/joplin.domain.tld.conf;
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
# see https://cloud.docker.com/repository/docker/skobkin/magneticod-python
|
||||
MAGNETICO_PORT=64879
|
||||
|
||||
# docker-compose substitution
|
||||
HOST_DB_PATH=/root/.local/share/magneticod
|
||||
HOST_USER=0
|
|
@ -1,17 +0,0 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
magneticod:
|
||||
image: skobkin/magneticod-python:latest
|
||||
container_name: magneticod-python
|
||||
# Using host mode to be able to simply apply firewall rules to disable connection tracking
|
||||
# https://github.com/boramalper/magnetico/blob/master/cmd/magneticod/README.md#setup
|
||||
network_mode: "host"
|
||||
ports:
|
||||
- "${MAGNETICO_PORT}:${MAGNETICO_PORT}/udp"
|
||||
env_file: .env
|
||||
volumes:
|
||||
- "${HOST_DB_PATH}:/data"
|
||||
user: "${HOST_USER}"
|
||||
restart: unless-stopped
|
||||
command: "--node-addr 0.0.0.0:${MAGNETICO_PORT} --database-file /data/database.sqlite3"
|
|
@ -1,2 +0,0 @@
|
|||
MYSQL_ROOT_PASSWORD=password
|
||||
COMMON_DATABASE_NETWORK=database-net
|
|
@ -1,23 +0,0 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
mariadb-common:
|
||||
image: mariadb:10
|
||||
container_name: mariadb-common
|
||||
env_file: .env
|
||||
networks:
|
||||
- db-network
|
||||
ports:
|
||||
- "127.0.0.1:3306:3306/tcp"
|
||||
volumes:
|
||||
# Database files
|
||||
- mariadb-data:/var/lib/mysql
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
mariadb-data:
|
||||
|
||||
networks:
|
||||
db-network:
|
||||
name: "${COMMON_DATABASE_NETWORK:-database-network}"
|
||||
external: true
|
|
@ -1,16 +0,0 @@
|
|||
PUID=1000
|
||||
PGID=1000
|
||||
|
||||
TZ=Europe/Moscow
|
||||
|
||||
EXT_PORT=8443
|
||||
|
||||
# Volumes
|
||||
# Database and configs
|
||||
CONFIG_PATH=/path/to/config
|
||||
# Location of user files
|
||||
DATA_PATH=/path/to/data
|
||||
|
||||
# Logs
|
||||
LOG_MAX_SIZE=5m
|
||||
LOG_MAX_FILE=5
|
|
@ -1,30 +0,0 @@
|
|||
# Configuration
|
||||
|
||||
## Serve HTTP from the container
|
||||
|
||||
By default NextCloud internal Nginx config has redirects from internal 80 port
|
||||
to 443 (HTTPS).
|
||||
So if you want to reverse-proxy Nextcloud, you'll need to have a plain HTTP
|
||||
connection to the Nextcloud.
|
||||
|
||||
Example of `/config/nginx/site-confs/default` changes:
|
||||
|
||||
```
|
||||
#server {
|
||||
# listen 80;
|
||||
# listen [::]:80;
|
||||
# server_name _;
|
||||
# return 301 https://$host$request_uri;
|
||||
#}
|
||||
server {
|
||||
#listen 443 ssl http2;
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
#listen [::]:443 ssl http2;
|
||||
server_name _;
|
||||
#ssl_certificate /config/keys/cert.crt;
|
||||
#ssl_certificate_key /config/keys/cert.key;
|
||||
```
|
||||
|
||||
You'll have access to the Nextcloud Nginx config after first run of Nextcloud
|
||||
container. Don't forget to configure `/config` bind mount.
|
|
@ -1,21 +0,0 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
nextcloud:
|
||||
# https://hub.docker.com/r/linuxserver/nextcloud
|
||||
image: linuxserver/nextcloud
|
||||
container_name: nextcloud
|
||||
#network_mode: "host"
|
||||
ports:
|
||||
# You need to modify /config/nginx/site-confs/default first to allow 80 port
|
||||
- "127.0.0.1:${EXT_PORT}:80/tcp"
|
||||
env_file: .env
|
||||
volumes:
|
||||
- "${CONFIG_PATH}:/config"
|
||||
- "${DATA_PATH}:/data"
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "${LOG_MAX_SIZE:-5m}"
|
||||
max-file: "${LOG_MAX_FILE:-5}"
|
|
@ -1,18 +0,0 @@
|
|||
server {
|
||||
listen 443 ssl http2;
|
||||
server_name nextcloud.server.tld;
|
||||
|
||||
#access_log /var/log/nginx/nextcloud.server.tld.access;
|
||||
error_log /var/log/nginx/nextcloud.server.tld.error;
|
||||
|
||||
charset utf-8;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8443;
|
||||
}
|
||||
|
||||
#include config/gzip.conf;
|
||||
|
||||
# Wildcard certificate config
|
||||
#include ssl/server.tld.conf;
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
POSTGRES_PASSWORD=password
|
||||
COMMON_DATABASE_NETWORK=database-net
|
|
@ -1,23 +0,0 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
postgres-common:
|
||||
image: postgres:12-alpine
|
||||
container_name: postgres-common
|
||||
env_file: .env
|
||||
networks:
|
||||
- db-network
|
||||
ports:
|
||||
- "127.0.0.1:5432:5432/tcp"
|
||||
volumes:
|
||||
# Database files
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
|
||||
networks:
|
||||
db-network:
|
||||
name: "${COMMON_DATABASE_NETWORK:-database-network}"
|
||||
external: true
|
|
@ -1,9 +0,0 @@
|
|||
# https://hub.docker.com/r/cmulk/wireguard-docker
|
||||
|
||||
PORT=5555
|
||||
|
||||
# Configuration directory where Wireguard configuration will be stored.
|
||||
CONFIG_DIR=./config
|
||||
|
||||
LOG_MAX_SIZE=5m
|
||||
LOG_MAX_FILE=5
|
2
wireguard/.gitignore
vendored
2
wireguard/.gitignore
vendored
|
@ -1,2 +0,0 @@
|
|||
config/*
|
||||
!config/.gitkeep
|
|
@ -1,50 +0,0 @@
|
|||
# Wireguard VPN
|
||||
|
||||
![Wireguard Logo](https://www.wireguard.com/img/wireguard.svg)
|
||||
|
||||
## Basic configuration
|
||||
|
||||
### Create config files
|
||||
|
||||
```shell
|
||||
cp examples/server/wg0.conf.dist config/wg0.conf
|
||||
```
|
||||
|
||||
You can edit configuration according to your needs.
|
||||
|
||||
### Generate keys
|
||||
|
||||
Don't forget to set public and private keys for the server and client!
|
||||
|
||||
To get the keys you can use `genkeys` command:
|
||||
|
||||
```shell
|
||||
docker-compose run wireguard genkeys
|
||||
```
|
||||
|
||||
Output example:
|
||||
|
||||
```
|
||||
Private Key: aAaAAaaaAAaa+AAaAaAaAA1aa/aaAA1aaaaAa1aaaA1=
|
||||
Public Key: /11a1aAaA1a/AAa11AAaa1AAa/AaAA1a1aaa11/AaAa=
|
||||
```
|
||||
|
||||
Not you can use these keys in your configuration file.
|
||||
|
||||
## Additional requirements
|
||||
|
||||
### Kernel module
|
||||
|
||||
You need to be sure that [Wireguard](https://www.wireguard.com/install/) kernel module is installed on the host system.
|
||||
|
||||
#### Ubuntu / Debian
|
||||
|
||||
For kernel versions [older than 5.6](https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.6-Released):
|
||||
|
||||
```shell
|
||||
apt-get install -y --no-install-recommends wireguard-dkms
|
||||
```
|
||||
|
||||
### See also
|
||||
|
||||
You can also check Docker image instructions [here](https://hub.docker.com/r/cmulk/wireguard-docker).
|
|
@ -1,26 +0,0 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
wireguard:
|
||||
# https://hub.docker.com/r/cmulk/wireguard-docker
|
||||
image: cmulk/wireguard-docker:alpine
|
||||
container_name: wireguard
|
||||
volumes:
|
||||
- "${CONFIG_DIR:-./config}:/etc/wireguard:ro"
|
||||
networks:
|
||||
- network
|
||||
ports:
|
||||
- "${PORT:-5555}:5555/udp"
|
||||
env_file: .env
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- SYS_MODULE
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "${LOG_MAX_SIZE:-5m}"
|
||||
max-file: "${LOG_MAX_FILE:-5}"
|
||||
|
||||
networks:
|
||||
network:
|
|
@ -1,10 +0,0 @@
|
|||
[Interface]
|
||||
Address = 192.168.20.2/24
|
||||
PrivateKey = <client_private_key>
|
||||
ListenPort = 0 #needed for some clients to accept the config
|
||||
|
||||
[Peer]
|
||||
PublicKey = <server_public_key>
|
||||
Endpoint = <server_public_ip>:5555
|
||||
AllowedIPs = 0.0.0.0/0,::/0 #makes sure ALL traffic routed through VPN
|
||||
PersistentKeepalive =
|
|
@ -1,9 +0,0 @@
|
|||
# https://github.com/cmulk/wireguard-docker#configuration
|
||||
[Interface]
|
||||
Address = 192.168.20.1/24
|
||||
PrivateKey = <server_private_key>
|
||||
ListenPort = 5555
|
||||
|
||||
[Peer]
|
||||
PublicKey = <client_public_key>
|
||||
AllowedIPs = 192.168.20.2
|
|
@ -1,7 +0,0 @@
|
|||
FPM_EXT_PORT=9000
|
||||
MYSQL_HOST=mariadb-common
|
||||
MYSQL_USER=username
|
||||
MYSQL_PASSWORD=password
|
||||
MYSQL_DATABASE=database
|
||||
THEMES_DIR=./themes
|
||||
PLUGINS_DIR=./plugins
|
|
@ -1,16 +0,0 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
wordpress:
|
||||
image: 'wordpress:php7.3-fpm-alpine'
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- '127.0.0.1:${FPM_EXT_PORT}:9000'
|
||||
environment:
|
||||
WORDPRESS_DB_HOST: '${MYSQL_HOST:-mariadb-common}'
|
||||
WORDPRESS_DB_USER: '${MYSQL_USER}'
|
||||
WORDPRESS_DB_PASSWORD: '${MYSQL_PASSWORD}'
|
||||
WORDPRESS_DB_NAME: '${MYSQL_DATABASE}'
|
||||
volumes:
|
||||
- '${THEMES_DIR}:/var/www/html/wp-content/themes'
|
||||
- '${PLUGINS_DIR}:/var/www/html/wp-content/plugins'
|
Loading…
Reference in a new issue