Merge pull request #53 from meienberger/release/0.1.5

Release/0.1.5
This commit is contained in:
Nicolas Meienberger 2022-05-20 16:24:51 +00:00 committed by GitHub
commit 7b2d7c12fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 272 additions and 6 deletions

View file

@ -13,9 +13,12 @@
Tipi is a personal homeserver orchestrator. It is running docker containers under the hood and provides a simple web interface to manage them. Every service comes with an opinionated configuration in order to remove the need for manual configuration and network setup.
## Apps available
- [Calibre-Web](https://github.com/janeczku/calibre-web) - Web Ebook Reader
- [Code-Server](https://github.com/filebrowser/filebrowser) - Web VS Code
- [Filebrowser](https://github.com/filebrowser/filebrowser) - Web File Browser
- [Freshrss](https://github.com/FreshRSS/FreshRSS) - A free, self-hostable RSS aggregator
- [Invidious](https://github.com/iv-org/invidious) - An alternative front-end to YouTube
- [Homarr](https://github.com/ajnart/homarr) - A homepage for your server.
- [Jackett](https://github.com/Jackett/Jackett) - API Support for your favorite torrent trackers
- [Jellyfin](https://github.com/jellyfin/jellyfin) - A media server for your home collection
- [Joplin](https://github.com/laurent22/joplin) - Privacy focused note-taking app
@ -28,6 +31,7 @@ Tipi is a personal homeserver orchestrator. It is running docker containers unde
- [Tailscale](https://github.com/tailscale/tailscale) - The easiest, most secure way to use WireGuard and 2FA.
- [Transmission](https://github.com/transmission/transmission) - Fast, easy, and free BitTorrent client
- [Wireguard Easy](https://github.com/WeeJeWel/wg-easy) - WireGuard VPN + Web-based Admin UI
- [Adguard Home](https://github.com/AdguardTeam/AdGuardHome) - Adguard Home DNS adblocker
## 🛠 Installation
### Installation Requirements
- Ubuntu 18.04 LTS or higher (or Debian 10)

View file

@ -1 +1 @@
0.1.4
0.1.5

16
apps/adguard/config.json Normal file
View file

@ -0,0 +1,16 @@
{
"name": "Adguard",
"available": true,
"port": 8104,
"id": "adguard",
"description": "Adguard is the best way to get rid of annoying ads and online tracking and protect your computer from malware. Make your web surfing fast, safe and ad-free.",
"short_desc": "World's most advanced adblocker!",
"author": "ArneNaessens",
"source": "https://github:com/AdguardTeam",
"image": "https://avatars.githubusercontent.com/u/8361145?s=200&v=4",
"requirements": {
"ports": [53]
},
"form_fields": {
}
}

View file

@ -0,0 +1,131 @@
bind_host: 0.0.0.0
bind_port: 80
beta_bind_port: 0
users: []
auth_attempts: 5
block_auth_min: 15
http_proxy: ""
language: ""
debug_pprof: false
web_session_ttl: 720
dns:
bind_hosts:
- 0.0.0.0
port: 53
statistics_interval: 1
querylog_enabled: true
querylog_file_enabled: true
querylog_interval: 2160h
querylog_size_memory: 1000
anonymize_client_ip: false
protection_enabled: true
blocking_mode: default
blocking_ipv4: ""
blocking_ipv6: ""
blocked_response_ttl: 10
parental_block_host: family-block.dns.adguard.com
safebrowsing_block_host: standard-block.dns.adguard.com
ratelimit: 20
ratelimit_whitelist: []
refuse_any: true
upstream_dns:
- https://dns10.quad9.net/dns-query
upstream_dns_file: ""
bootstrap_dns:
- 9.9.9.10
- 149.112.112.10
- 2620:fe::10
- 2620:fe::fe:10
all_servers: false
fastest_addr: false
fastest_timeout: 1s
allowed_clients: []
disallowed_clients: []
blocked_hosts:
- version.bind
- id.server
- hostname.bind
trusted_proxies:
- 127.0.0.0/8
- ::1/128
cache_size: 4194304
cache_ttl_min: 0
cache_ttl_max: 0
cache_optimistic: false
bogus_nxdomain: []
aaaa_disabled: false
enable_dnssec: false
edns_client_subnet: false
max_goroutines: 300
ipset: []
filtering_enabled: true
filters_update_interval: 24
parental_enabled: false
safesearch_enabled: false
safebrowsing_enabled: false
safebrowsing_cache_size: 1048576
safesearch_cache_size: 1048576
parental_cache_size: 1048576
cache_time: 30
rewrites: []
blocked_services: []
upstream_timeout: 10s
local_domain_name: lan
resolve_clients: true
use_private_ptr_resolvers: true
local_ptr_upstreams: []
tls:
enabled: false
server_name: ""
force_https: false
port_https: 443
port_dns_over_tls: 853
port_dns_over_quic: 784
port_dnscrypt: 0
dnscrypt_config_file: ""
allow_unencrypted_doh: false
strict_sni_check: false
certificate_chain: ""
private_key: ""
certificate_path: ""
private_key_path: ""
filters:
- enabled: true
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
name: AdGuard DNS filter
id: 1
- enabled: false
url: https://adaway.org/hosts.txt
name: AdAway Default Blocklist
id: 2
whitelist_filters: []
user_rules: []
dhcp:
enabled: false
interface_name: ""
dhcpv4:
gateway_ip: ""
subnet_mask: ""
range_start: ""
range_end: ""
lease_duration: 86400
icmp_timeout_msec: 1000
options: []
dhcpv6:
range_start: ""
lease_duration: 86400
ra_slaac_only: false
ra_allow_slaac: false
clients: []
log_compress: false
log_localtime: false
log_max_backups: 0
log_max_size: 100
log_max_age: 3
log_file: ""
verbose: false
os:
group: ""
user: ""
rlimit_nofile: 0
schema_version: 12

View file

@ -0,0 +1,17 @@
version: "3.5"
services:
adguardhome:
image: adguard/adguardhome:v0.107.6
container_name: adguard
volumes:
- "${APP_DATA_DIR}/data/work:/opt/adguardhome/work"
- "${APP_DATA_DIR}/data/conf:/opt/adguardhome/conf"
restart: unless-stopped
networks:
- tipi_main_network
ports:
- 53:53/tcp
- 53:53/udp
- ${APP_PORT}:80

View file

@ -0,0 +1,12 @@
{
"name": "Calibre-Web - EBook Reader",
"available": true,
"port": 8100,
"id": "calibre-web",
"description": "On the initial setup screen, enter /books as your calibre library location. \n Default admin login: Username: admin Password: admin123",
"short_desc": "Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.",
"author": "https://github.com/janeczku/",
"source": "https://github.com/janeczku/calibre-web",
"image": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png",
"form_fields": {}
}

Binary file not shown.

View file

@ -0,0 +1,17 @@
version: "2.1"
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- ${APP_DATA_DIR}/data/config:/config
- ${APP_DATA_DIR}/data/books:/books
ports:
- ${APP_PORT}:8083
restart: unless-stopped
networks:
- tipi_main_network

View file

@ -0,0 +1,21 @@
{
"name": "Code-Server - Web VS Code",
"available": true,
"port": 8101,
"id": "code-server",
"description": "",
"short_desc": "Code-server is VS Code running on a remote server, accessible through the browser.",
"author": "https://github.com/coder",
"source": "https://github.com/linuxserver/docker-code-server",
"image": "https://avatars.githubusercontent.com/u/95932066",
"form_fields": {
"password": {
"type": "password",
"label": "Password",
"max": 50,
"min": 3,
"required": true,
"env_variable": "CODESERVER_PASSWORD"
}
}
}

View file

@ -0,0 +1,19 @@
version: "2.1"
services:
code-server:
image: lscr.io/linuxserver/code-server:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
- PASSWORD=${CODESERVER_PASSWORD}
- DEFAULT_WORKSPACE=/config/workspace #optional
volumes:
- ${APP_DATA_DIR}/data/config:/config #config dir
- ${APP_DATA_DIR}/data/projects:/projects
ports:
- ${APP_PORT}:8443
restart: unless-stopped
networks:
- tipi_main_network

13
apps/homarr/config.json Normal file
View file

@ -0,0 +1,13 @@
{
"name": "Homarr",
"available": true,
"port": 8102,
"id": "homarr",
"description": "A homepage for your server.",
"short_desc": "Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.",
"author": "https://github.com/ajnart/",
"source": "https://github.com/ajnart/homar",
"website": "https://discord.gg/C2WTXkzkwK",
"image": "https://raw.githubusercontent.com/ajnart/homarr/master/public/imgs/logo.png",
"form_fields": {}
}

View file

@ -0,0 +1,12 @@
version: '3'
services:
homarr:
container_name: homarr
image: ghcr.io/ajnart/homarr:latest
restart: unless-stopped
volumes:
- ${APP_DATA_DIR}/data/config:/app/data/configs
ports:
- ${APP_PORT}:7575
networks:
- tipi_main_network

View file

@ -1,6 +1,6 @@
{
"name": "runtipi",
"version": "0.1.4",
"version": "0.1.5",
"description": "A homeserver for everyone",
"scripts": {
"prepare": "husky install",

View file

@ -1,6 +1,6 @@
{
"name": "dashboard",
"version": "0.1.4",
"version": "0.1.5",
"private": true,
"scripts": {
"dev": "next dev",

View file

@ -1,6 +1,6 @@
{
"name": "system-api",
"version": "0.1.4",
"version": "0.1.5",
"description": "",
"exports": "./dist/server.js",
"type": "module",

View file

@ -15,4 +15,7 @@ export const appNames = [
'n8n',
'invidious',
'joplin',
'homarr',
'code-server',
'calibre-web',
];

View file

@ -65,7 +65,7 @@ const getMemoryInfo = async (req: Request, res: Response<MemoryData>) => {
res.status(200).json(result);
};
const getVersion = async (_: Request, res: Response<{ current: string; latest: string }>) => {
const getVersion = async (req: Request, res: Response<{ current: string; latest: string }>) => {
let version = TipiCache.get<string>('latestVersion');
if (!version) {

View file

@ -60,7 +60,8 @@ if [ -z ${2+x} ]; then
exit 1
else
app="$2"
root_folder_host="$3"
root_folder_host="${3:-$ROOT_FOLDER}"
app_dir="${ROOT_FOLDER}/apps/${app}"
app_data_dir="${ROOT_FOLDER}/app-data/${app}"