Compare commits
No commits in common. "0ffd7a3f64d831af007ad2a31c22fdd7f62e2e1d" and "0fe15c49f02e1921d684766cb4261f5936d54b73" have entirely different histories.
0ffd7a3f64
...
0fe15c49f0
|
@ -47,19 +47,25 @@ 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) |
|
| 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/) |
|
| 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) |
|
| 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. | |
|
| 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) |
|
| 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 | ✅ | `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/) |
|
| 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 | ✅ | `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/) |
|
| 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) |
|
| 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) |
|
| 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) |
|
| 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) |
|
| 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) |
|
| 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) |
|
| 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) |
|
| 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 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) |
|
| 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) |
|
| qBittorrent | ✅ | `linuxserver/qbittorrent` | qBittorrent (noX) | [Website](https://www.qbittorrent.org), [LinuxServer Fleet](https://fleet.linuxserver.io/image?name=linuxserver/qbittorrent) |
|
||||||
|
@ -77,3 +83,5 @@ 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) |
|
| 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) |
|
| 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) |
|
| 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) |
|
||||||
|
|
16
jdownloader/.env.dist
Normal file
16
jdownloader/.env.dist
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# 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
Normal file
2
jdownloader/config/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/*
|
||||||
|
!/.gitignore
|
2
jdownloader/data/.gitignore
vendored
Normal file
2
jdownloader/data/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/*
|
||||||
|
!/.gitignore
|
27
jdownloader/docker-compose.yml
Normal file
27
jdownloader/docker-compose.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# 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}"
|
11
joplin/.env.dist
Normal file
11
joplin/.env.dist
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
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
Normal file
2
joplin/data/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/*
|
||||||
|
!/.gitignore
|
22
joplin/docker-compose.yml
Normal file
22
joplin/docker-compose.yml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
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}'
|
17
joplin/nginx/joplin.conf
Normal file
17
joplin/nginx/joplin.conf
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
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;
|
||||||
|
}
|
6
magneticod-python/.env.dist
Normal file
6
magneticod-python/.env.dist
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# 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
|
17
magneticod-python/docker-compose.yml
Normal file
17
magneticod-python/docker-compose.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
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"
|
2
mariadb-common/.env.dist
Normal file
2
mariadb-common/.env.dist
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
MYSQL_ROOT_PASSWORD=password
|
||||||
|
COMMON_DATABASE_NETWORK=database-net
|
23
mariadb-common/docker-compose.yml
Normal file
23
mariadb-common/docker-compose.yml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
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
|
16
nextcloud/.env.dist
Normal file
16
nextcloud/.env.dist
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
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
|
30
nextcloud/README.md
Normal file
30
nextcloud/README.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# 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.
|
21
nextcloud/docker-compose.yml
Normal file
21
nextcloud/docker-compose.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
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}"
|
|
@ -0,0 +1,18 @@
|
||||||
|
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;
|
||||||
|
}
|
2
postgres-common/.env.dist
Normal file
2
postgres-common/.env.dist
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
POSTGRES_PASSWORD=password
|
||||||
|
COMMON_DATABASE_NETWORK=database-net
|
23
postgres-common/docker-compose.yml
Normal file
23
postgres-common/docker-compose.yml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
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
|
9
wireguard/.env.dist
Normal file
9
wireguard/.env.dist
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# 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
Normal file
2
wireguard/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
config/*
|
||||||
|
!config/.gitkeep
|
50
wireguard/README.md
Normal file
50
wireguard/README.md
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# 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).
|
0
wireguard/config/.gitkeep
Normal file
0
wireguard/config/.gitkeep
Normal file
26
wireguard/docker-compose.yml
Normal file
26
wireguard/docker-compose.yml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
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:
|
10
wireguard/examples/client/wg0.conf.dist
Normal file
10
wireguard/examples/client/wg0.conf.dist
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[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 =
|
9
wireguard/examples/server/wg0.conf.dist
Normal file
9
wireguard/examples/server/wg0.conf.dist
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# 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
|
7
wordpress/.env.dist
Normal file
7
wordpress/.env.dist
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
FPM_EXT_PORT=9000
|
||||||
|
MYSQL_HOST=mariadb-common
|
||||||
|
MYSQL_USER=username
|
||||||
|
MYSQL_PASSWORD=password
|
||||||
|
MYSQL_DATABASE=database
|
||||||
|
THEMES_DIR=./themes
|
||||||
|
PLUGINS_DIR=./plugins
|
16
wordpress/docker-compose.yml
Normal file
16
wordpress/docker-compose.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
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