Skip to content

Commit

Permalink
docker apps infrastructure
Browse files Browse the repository at this point in the history
  • Loading branch information
vttc08 committed Jul 6, 2024
1 parent 5a3b430 commit 754c68b
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 14 deletions.
29 changes: 27 additions & 2 deletions !documentation/Cloud VPS/jdownloader.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,34 @@
---
date: 2023-01-11T05:43:16.000000Z
update: 2023-01-13T04:51:58.000000Z
update: 2024-07-02T22:22:24-07:00
---
# JDownloader

After setting up JDownloader and it appears well in WebUI.

The section is useless now as UHDMV has shutdown and it's pointless to setup multiple automated JDownloader server on VPS.
The section is useless now as UHDMV has shutdown and it's pointless to setup multiple automated JDownloader server on VPS.

### Settings for JDownloader
Debloat settings https://rentry.org/jdownloader2
**Advanced Settings**
`GraphicalUserInterfaceSettings: Banner` -> disable
`GraphicalUserlnterfaceSettings: Premium Alert Task Column` - > disable
`GraphicalUserInterfaceSeftings: Premium Alert Speed Column` -> disable
`GraphicalUserInterfaceSettings: Premium Alert ETA Column` -> disable
`GraphicalUsserInterfaceSeftings: Special Deal Oboom Dialog Visible On Startup` -> disable
`GraphicalUsserInterfaceSeftings: Special Deals` -> disable
`GraphicalUsserInterfaceSeftings: Donate Button State` -> `Hidden (automode)`

#### Theming
`GraphicalUserInterfaceSettings: Look And Feel Theme` - > `BLACK_EYE`
**For Colors**
`LAFSettings: Color For`
- Panel background and header background and alternate row background- `#ff222222`
- Selected Rows Background - `#ff666666`
- Package Row Background - `#ff333333`
- Mouse Over Row Background - `#ff666666`
- Panel Header Foreground, Tooltip Foreground, Selected Rows Foreground, Package Row Foreground, Mouse Over Row Foreground, Alternate Row Foreground, Account Temp Error Row Foreground, Account Error Row Foreground- `#ffffffff`
- basically, change all the black values to white when searching for `color fore`, change everything except blue colors and error color
- Enabled Text Color, Speed Meter Text, Speed Meter Average Text, Config Panel Description Text, Config Header Text Color - `#ffffffff`
- Disabled Text Color - `#ff666666`
- basically, when searching for `color text`, change all to white except for disabled text
46 changes: 46 additions & 0 deletions !documentation/Docker Apps/01 docker-infra.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
date: 2024-07-05 17:59
update: 2024-07-05T22:56:49-07:00
comments: "true"
---
# 01 Docker Infrastructure

### Filesystem
##### Compose
All `docker-compose.yml` files are stored in `~/docker` folder, which then by default is under the network `docker_default`.
- by default for newly created apps, a new folder is created and `docker-compose.yml` is created for that app for testing
- once app testing is complete, the compose file can be moved docker root folder if appropriate or remain
- some apps can be grouped together and these compose files are in the root docker folder such as `media.yml`, `network.yml`, the grouping allows multiple services to be managed by a single compose. For grouping, some of the property can include
- the apps share common properties such as `arrs` apps
- it is preferable for apps to live in same network, eg. `teslamate`
- a large app requiring multiple containers eg. `frontend`, `mysql` etc..
- apps share similar/same [category](#Categories), such as `qBittorrent` and `nzbget` can be put together in `downloader.yml` even though they do not have common properties or require same networking
##### Storage
The storage used for all containers are bind mount.
- application configs are stored in `~/docker/[app]`
- if an app has multiple components needing persistence (eg. app with database, helpers), a folder will be created as such `~/docker/[app]/postgres` etc.
- apps that also store non-config data (such as music, documents etc.) and not using a lot of space can bind mount `/mnt/nvme/share` (a directory on local or another SSD) for fast data access and without spinning up HDD
- exceptions are home assistant or its related home automation containers and these are stored at `/srv/homeassistant`
##### Backup
The entire docker root folder is copied to a NFS share on another computer. With exception of [minecraft](Minecraft/minecraft-prep-and-install.md) and home assistant which a specialized method is used.
### Network
With `docker-compose`, a new network is created with the name of folder the compose is located, while it's possible to change network, it is not straightforward, therefore, there is no points in manually defining networks unless required.

**Public** `172.80.0.0/16` - bridge network for public facing applications with reverse proxy, this way when configuring Nginx Proxy Manager, all it need is to enter `container_name:80` rather than IP address.
- Nginx Proxy Manager - `172.80.44.3`
- Other containers will use docker DHCP to get address
- Containers that need to public facing can attach to this network
**Media** `172.96.0.0/16` - bridge network for arrs, downloader and management applications for easy interconnection when configuring
**Minecraft** `172.255.255.0/24` - bridge network for Minecraft related networks
- Minecraft server (mcserver) - `172.255.255.65`

### Categories
Media Apps - apps related to media acquisition, curation and other functions services for Jellyfin
Networking - reverse proxy, DNS, VPN and related services
Home Automation - home assistant and its associated functions
VNC - containers based on [jlesage-vnc-apps](jlesage-vnc-apps.md) or Linuxserver Kasm images, usually desktop apps run in a browser via noVNC
Management - tools for managing docker containers or entire server
Games - game servers and associated tools
Filesharing - apps that share files to other clients
Documentation - notes and operation procedures for server infrastructure
Authentication - services that handle single sign-on (SSO) with users
12 changes: 6 additions & 6 deletions !documentation/Linux Server/olivetin.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
date: 2023-09-19T21:15:30.000000Z
update: 2024-01-10T03:01:30.000000Z
update: 2024-07-01T13:35:44-07:00
comments: "true"
---
# OliveTin
Expand All @@ -18,7 +18,7 @@ sudo dpkg -i OliveTin…​deb
sudo systemctl enable --now OliveTin
```

**Configuration**
### Configuration

The configuration file is located at `<em>/etc/OliveTin/config.yaml </em>`

Expand Down Expand Up @@ -53,7 +53,7 @@ Execute a shell command with textbox input.
type: ascii
```
- use {{ }} and give a variable
- use `{{ }}` and give a variable
- under arguments type, assign a type for it, ascii only allows letters and numbers

Execute a shell command with choices
Expand All @@ -74,7 +74,7 @@ Execute a shell command with choices

This example give choices to start or stop a docker stack of a docker-compose file. If a argument is given the parameter choices, it will be in dropdown mode.

**Icons Customization**
### Icons Customization

The icons need to be placed in a folder in */var/www/\[icon-folder\]/icon.png.* To use the icons, offline image or web address, it should be in HTML format. The size of 48px is the default size of OliveTin icons. Other CSS options such as `<em>style="background-color: white;"</em>` also works.

Expand All @@ -90,13 +90,13 @@ For example, `&#9786;` <span class="symbol-main__title--symbl">😊.</span>
icon: "&#9786;"
```

**Icon Management**
#### Icon Management

The default icon folder is `/var/www/olivetin/icons`

The icon folder of all homelab icons is in `~/icons/homelab`

**API**
### API

Simple action button.

Expand Down
6 changes: 4 additions & 2 deletions !documentation/Linux Server/sambasmb-setup.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
date: 2024-05-07T18:06:07.000000Z
update: 2024-05-07T18:11:58.000000Z
update: 2024-07-01T13:34:00-07:00
comments: "true"
---
# Samba(SMB) Setup
Expand Down Expand Up @@ -36,4 +36,6 @@ Lastly, add the user and password for the SMB share

```bash
sudo smbpasswd -a $USER # enter the password twice
```
```

In the case when Windows fail to write files in the samba share for odd reason. Go to `Manage Credentials` -> `Windows Credentials` -> `Add a Windows Credential` and fill the necessary address, username and password.
8 changes: 4 additions & 4 deletions !documentation/index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Home
### Recent Updates

- [01 Docker Infrastructure](01 docker-infra.md)
- [JDownloader](jdownloader.md)
- [OliveTin](olivetin.md)
- [Samba(SMB) Setup](sambasmb-setup.md)
- [Dynamic DNS Updater Docker](ddns-update.md)
- [Filebrowser](filebrowser.md)
- [Mkdocs](mkdocs.md)
- [Debian-Based Server Setup](debian-based-server-setup.md)
- [Tunneling Basic Services (Jellyfin, Web) with Caddy and Tailscale](tunneling-basic-services-jellyfin-web-with-caddy-and-tailscale.md)
- [Useful Plugins](useful-plugins.md)
- [Minecraft Prep and Install](minecraft-prep-and-install.md)
- [Free Games Claimer](free-games-claimer.md)
- [Audiobookshelf](audiobookshelf.md)
- [jlesage VNC Apps](jlesage-vnc-apps.md)

0 comments on commit 754c68b

Please sign in to comment.