init
This commit is contained in:
commit
f79ed7c8e4
111 changed files with 14931 additions and 0 deletions
37
install/dp-config.md
Normal file
37
install/dp-config.md
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
title: DP-Salad Configuration
|
||||
---
|
||||
|
||||
# Configuration
|
||||
|
||||
## Debian Configuration :logos-debian:
|
||||
|
||||
Sudo should have been setup after the install, however, nothing much else is required for the setup end in Debian. If you want, here is a list of recommended software to install to make the commandline a little easier to learn:
|
||||
|
||||
1. **TLDR** **:simple-icons-tldraw:**
|
||||
|
||||
```sh
|
||||
sudo apt-get install tldr, tldr -u
|
||||
```
|
||||
|
||||
2. **Tmux** **:simple-icons-tmux:**
|
||||
|
||||
```sh
|
||||
sudo apt-get install tmux
|
||||
```
|
||||
|
||||
## Portainer Configuration :simple-icons-portainer:
|
||||
|
||||
Portainer is ready right out of the box. There should be nothing you need to do to configure it, unless you are running a "*clustered setup*" involving more than one computer, which can be done for this stack, but does add a layer of complexity, and allows for scalability for the amount of applications you can offer to either yourself or your users. A "*clustered setup*" is on the [Portainer CE wiki](https://docs.portainer.io/) and is out of the scope for this guide.
|
||||
|
||||
If you are using the VM Template, Portainer has the custom templates loaded so that if you need to install a newer version, or change something and restart, they are there.
|
||||
|
||||
## App Templates :material-symbols-touch-app:
|
||||
|
||||
In Portainer, [App Templates](https://docs.portainer.io/user/docker/templates) enable you to easily deploy services with a predetermined configuration, while allowing you to customize options through the web UI. While Portainer ships with some default templates (see [portainer/templates](https://github.com/portainer/templates)), it's often helpful to have 1-click access to many more apps + stacks, without having to constantly switch template sources.
|
||||
|
||||
Under Settings → App Templates in your Portainer GUI, paste this URL:
|
||||
|
||||
```sh
|
||||
https://raw.githubusercontent.com/Lissy93/portainer-templates/main/templates.json
|
||||
```
|
||||
155
install/dp-setup.md
Normal file
155
install/dp-setup.md
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
---
|
||||
title: DP-Salad Setup
|
||||
---
|
||||
|
||||
# DP-Setup
|
||||
|
||||
This guide demonstrates the installing of the DP-Salad stack:
|
||||
|
||||
## Debian 12 Setup :logos-debian:
|
||||
|
||||
Visit [Debian's download page](https://debian.org/download) to get the latest version of Debian, as of this writing, Debian 12.5.0 is the latest. This is a *netinst*, meaning that it will require an internet connection to download the OS files.
|
||||
|
||||
Load your Debian ISO onto a USB stick, either directly, or using Rufus/Balena Etcher to write the ISO to stick.
|
||||
|
||||
Plug it into whatever is becoming your server, and boot to the USB stick in your system's BIOS.
|
||||
|
||||
Install Debian using the ISO. Make sure that you are connected to the internet before trying to install Debian.
|
||||
|
||||
1. Select Graphical Installer
|
||||
2. Follow the setup process up until hostname, and put in something that you will recognize when port-forwarding or tunneling.
|
||||
3. Put in the domain name that you have leased as your domain name, like: "*example.com*"
|
||||
4. Setup a root password. (Template uses DPSALADSTACK)
|
||||
5. Setup the name for the first non-admin user. (Template uses dpsalad)
|
||||
6. Setup a password for the non-admin user. (Template uses DPSALADSTACKUSER)
|
||||
7. Continue the setup, and select "Guided - use entire disk" when Partitioning Disk, continue and use "All files in one partition" as the partitioning scheme.
|
||||
8. Allow changes to be written to disk.
|
||||
9. Continue with the installer until Software Selection. See the following points for the selections.
|
||||
- Debian desktop environment (keep selected)
|
||||
- GNOME (deselect)
|
||||
- xfce (select)
|
||||
- SSH server (select)
|
||||
- standard system utilities (keep selected)
|
||||
10. Continue with the installer until the reboot.
|
||||
11. Once the reboot is complete, you should have a fully working Debian system!
|
||||
12. If you used the template, please change the password of both the root and regular user using passwd.
|
||||
|
||||
## Sudo no worky :man-facepalming:
|
||||
|
||||
Debian had you set up a root password, but when you try using sudo, it will not let you do anything. Debian by default does not let the first user have sudo access. See why here: [Reason](https://wiki.debian.org/sudo#:~:text=Why%20sudo%3F,root.%20Some%20reasons). You will have to temporarily log in as root to fix this. Use the following commands/instructions to add your user to the sudoers file.
|
||||
|
||||
```markdown
|
||||
1. su -
|
||||
2. nano /etc/sudoers
|
||||
3. Add the following to the file(no quotes): "username ALL=(ALL:ALL) ALL"
|
||||
4. Exit nano using Ctrl+X and then type 'Y' and enter.
|
||||
5. Restart your PC.
|
||||
6. systemctl reboot
|
||||
```
|
||||
|
||||
Once your machine restarts, you should now be able to use the sudo command.
|
||||
|
||||
## Disabling GUI :desktop-computer:
|
||||
|
||||
If you'd like to disable the GUI and work in CLI only (highly recommended, as GUI uses more resources), follow these instructions:
|
||||
|
||||
```markdown
|
||||
1. sudo systemctl set-default multi-user.target
|
||||
2. sudo reboot
|
||||
```
|
||||
|
||||
## Updating your system :mdi-monitor:
|
||||
|
||||
Now time to run updates, just to guarantee the system is up-to-date. Debian uses *APT* as it's package manager of choice. Run these commands:
|
||||
|
||||
```markdown
|
||||
1. sudo apt-get update
|
||||
2. sudo apt-get upgrade
|
||||
```
|
||||
|
||||
And now, your system is up-to-date!
|
||||
|
||||
## Installing the Docker :logos-docker-icon:
|
||||
|
||||
Next, install Docker. Follow the following instructions to install Docker:
|
||||
|
||||
```sh
|
||||
sudo apt-get update
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo apt-get install ca-certificates curl gnupg
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo install -m 755 -d /etc/apt/keyrings
|
||||
```
|
||||
|
||||
```sh
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
```
|
||||
|
||||
```sh
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
|
||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo apt-get update
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin dockercompose-plugin
|
||||
```
|
||||
|
||||
Once this is done, you are able to move on to the next section of this guide
|
||||
|
||||
::: danger
|
||||
If you use anything other than the *netinst* for Debian, your apt sources may be invalid. Should this be the case, there is an example of the sources needed in `/usr/share/doc/apt/examples/sources.list`. Use the following command to copy this list of default sources to restore apt to working order. `sudo cp /usr/share/doc/apt/examples/sources.list /etc/apt/sources.list`
|
||||
:::
|
||||
|
||||
## Portainer CE Setup :simple-icons-portainer:
|
||||
|
||||
Time to setup Portainer, which is installed using Docker. Follow the below instructions to install Portainer onto your machine.
|
||||
|
||||
```sh
|
||||
sudo docker volume create portainer_data
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
|
||||
```
|
||||
|
||||
- Visit https://[ip-address]:9443 to log into Portainer CE.
|
||||
|
||||
- Change the admin username if you wish. (Don't forget it if you change it though!) [Template uses DPSALADSTACK]
|
||||
|
||||
- Use a good secure password (12+ characters) for the administrator password. (Don't forget this either!)
|
||||
|
||||
- Click "*Getting Started*" to finish setting up Portainer CE.
|
||||
|
||||
- If you are going to use the one-click Compose Install, make sure to create a network using the following command:
|
||||
|
||||
```sh
|
||||
sudo docker network create [INSERT NETWORK NAME HERE]
|
||||
```
|
||||
|
||||
::: tip
|
||||
Make sure to remove the square brackets around the network name.
|
||||
:::
|
||||
|
||||
## Some changes need to be made :wrench:
|
||||
Do note that some changes need to be made before the stack installation is finished. These two commands need to be ran to make sure Redis can be deployed for the stack to function correctly.
|
||||
|
||||
```sh
|
||||
mkdir -p /home/[USER]/appdata/redis/redis/
|
||||
mkdir -p /home/[USER]/appdata/redis/redis/data/
|
||||
```
|
||||
|
||||
That's it! You have successfully installed Debian and Portainer! :party-popper:
|
||||
73
install/requirements.md
Normal file
73
install/requirements.md
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
---
|
||||
title: DP-Salad Minimum Requirements
|
||||
---
|
||||
|
||||
# DP-SALA/D Stack (*pronounced as DP-Salad but stylized as DP-SALA/D*)
|
||||
|
||||
## Where does the acronym originate from?
|
||||
|
||||
It comes from:
|
||||
|
||||
- **D**ebian 12 :logos-debian:
|
||||
- **P**ortainer :simple-icons-portainer:
|
||||
- **S**WAG :simple-icons-linuxserver:
|
||||
- **A**uthelia :simple-icons-authelia:
|
||||
- **L**LDAP :material-symbols-lock:
|
||||
- **A**uthy/**D**uo :logos-authy:/:simple-icons-cisco:
|
||||
|
||||
Hence, **DP-Salad**.
|
||||
|
||||
As such, this updates with new configuration and such when needed.
|
||||
|
||||
## Minimum Requirements for the DP-SALA/D Stack:
|
||||
|
||||
A DP-SALA/D Stack is rather lightweight in comparison to other stacks out there, like the very similar Unraid-SALA/D stack(:simple-icons-unraid: + :green-salad:).
|
||||
|
||||
This is a compilation of the minimum specs for each part of the stack.
|
||||
|
||||
### Debian 12 :logos-debian:
|
||||
|
||||
- 1GHz Processor from 2010 or later
|
||||
- 2 GB RAM
|
||||
- 10 GB Storage
|
||||
|
||||
### Portainer :simple-icons-portainer:
|
||||
|
||||
- 1GHz Processor from 2010 or later
|
||||
- 2 GB RAM
|
||||
- 20 GB Storage
|
||||
|
||||
### SWAG :simple-icons-linuxserver:
|
||||
|
||||
- 1GHz Processor from 2010 or later
|
||||
- RAM requirement depends on expected requests, 4 GB recommended.
|
||||
- 10 GB Storage
|
||||
|
||||
### Authelia :simple-icons-authelia:
|
||||
|
||||
- Requires that a REDIS :logos-redis: server is setup in addition to whatever else.
|
||||
|
||||
### Authy/Duo
|
||||
|
||||
- Authy: :logos-authy:
|
||||
- Hooks into Authelia for 2FA aaS, only requires a bit of setup.
|
||||
|
||||
- Duo: :simple-icons-cisco:
|
||||
- Hooks into Authelia for 2FA aaS, however, free tier can have max 10 users, but setup is a little easier on the user/admin.
|
||||
|
||||
### Overall Minimum:
|
||||
|
||||
- Most Processors within the last 5 years should work well enough. :octicon-cpu-24:
|
||||
- 4 GB RAM minimum, although 2 GB can be gotten away with. :material-symbols-memory-alt-outline-rounded:
|
||||
- 30 GB Storage minimum, especially if you plan to reverse proxy some apps. :material-symbols-hard-drive-outline:
|
||||
- Basic command line knowledge. :material-symbols-terminal:
|
||||
|
||||
## What this guide assumes:
|
||||
|
||||
This guide assumes that you have basic computing knowledge, including how to boot your computer into an OS from a USB stick, having a domain through a registrar, and have a Gmail address for sending email to your potential users.
|
||||
|
||||
If you do not have a domain, my recommendation (*at the time of writing*) is to go through [Porkbun](https://porkbun.com/) :simple-icons-porkbun: or [Cloudflare](https://www.cloudflare.com/products/registrar/) :simple-icons-cloudflare:. These are the two most reputable registrars that do not markup pricing for renewing the domain you are leasing.
|
||||
|
||||
I also recommend that you set up a Gmail :mdi-gmail: address specifically for the purpose of this stack, as Authelia will require a way to let their users password reset, as well as setup 2FA for themselves.
|
||||
|
||||
You may also use iCloud+'s :mdi-apple-icloud: custom domain email, however, this guide will not cover this setup, and you will have to do some research on sending email through iCloud if you choose to go this route, and you will have to find the proper settings before configuring Authelia.
|
||||
31
install/salad-setup.md
Normal file
31
install/salad-setup.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
title: Salad Setup
|
||||
---
|
||||
|
||||
# SALA/D Setup
|
||||
Instructions to set up the SALA/D Part of the stack.
|
||||
|
||||
## Overview of the SALA/D Stack:
|
||||
|
||||
The SALA/D stack, or SWAG, Authelia, LLDAP, Authy/Duo stack is a simple way to get a webserver/reverse proxy, an identity and access control management system, as well as 2FA; all working together to host whatever you'd like. Here is what does what:
|
||||
|
||||
- Swag :simple-icons-linuxserver:
|
||||
- Handles the webserver and reverse proxy.
|
||||
- All configuration is handled via *.conf* files and text
|
||||
- This guide also demonstrates how to set up the Docker Mods Auto Reload, GeoIPBlock, and ...
|
||||
|
||||
- Authelia :simple-icons-authelia:
|
||||
- Handles weblogin and the front end of 2FA.
|
||||
- This has one configuration file, and hooks into LLDAP.
|
||||
|
||||
- LLDAP :material-symbols-lock:
|
||||
- Handles the "identity" part of the Authentication solution.
|
||||
- Requires that a domain is setup, and has a bit of a learning curve.
|
||||
- This has a bit of configuration involved whenever you setup a new application with LDAP integrations, however, [LLDAP's GitHub page](https://github.com/lldap/lldap) usually has sample configurations on how to setup LDAP auth for an application.
|
||||
|
||||
- Authy/Duo
|
||||
- Pick one between Authy or Duo
|
||||
- Authy :logos-authy:
|
||||
- This allows for 2FA via an 8 digit code. The configuration is handled via Authelia, with the end user setting up 2FA through the Authy App or through Bit/Vaultwarden. The user can self register their 2FA in this way, through email.
|
||||
- Duo
|
||||
- This allows for 2FA via a push notification on your phone. The configuration is handled via Authelia.
|
||||
Loading…
Add table
Add a link
Reference in a new issue