58 Commits

Author SHA1 Message Date
17b0cf5e0b add wireguard credentials 2026-02-02 22:33:31 +01:00
89472a3a70 create wireguard playbook 2026-01-26 22:22:04 +01:00
dd6fb1cf50 add bare ansible config 2026-01-26 21:00:47 +01:00
310feeb6c5 add nimbus notes 2026-01-26 19:33:34 +01:00
eec9aa290e [Luser] added some docs 2025-10-23 01:15:37 +02:00
7c84ec227d [Nginx] init 2025-10-22 19:57:26 +02:00
2f27421773 [LDAP] server restart 2025-10-22 19:56:01 +02:00
b35e807e3c [Doc] ldap, forum, postresql 2025-08-31 21:55:51 +02:00
cdeecc2335 note that dmz.rs exists 2025-08-09 06:25:14 +02:00
ee67175267 fun with json 2025-08-09 06:20:14 +02:00
713ae20355 note how to access moxx 2025-08-09 06:13:41 +02:00
52b49188f2 note moxx' address 2025-08-06 19:51:57 +02:00
7e8898b341 setup: how to access lxc over ssh 2025-08-06 19:51:12 +02:00
24a8122222 [Serverko] added some docs 2025-04-14 23:26:58 +02:00
9ad7211e37 [Srv1] Updated vm list and added some docs 2025-04-14 23:12:19 +02:00
2624425727 make network map depending on what is installed 2025-03-31 22:25:51 +02:00
b872a25cc0 [Doc] added, cryptpad, searxng and privatebin 2025-03-31 03:05:40 +02:00
0b514b29e1 edit wireguard syntax 2025-03-26 16:32:10 +01:00
f398f52e55 generate graphviz png 2025-03-26 16:29:53 +01:00
cd9bdb80c1 remove half-baked man page generator 2025-03-26 16:29:53 +01:00
aa65808edd [Readme] update 2025-03-26 05:33:01 +01:00
1b09537f14 [Readme] update
Signed-off-by: coja <coja@dmz.rs>
2025-03-26 05:15:42 +01:00
a829cce278 [Readme] update
Signed-off-by: coja <coja@dmz.rs>
2025-03-26 05:04:30 +01:00
edb9f7b785 sshfs doesn't exist on srv1, but postgres does with that id 2025-03-25 23:00:56 +01:00
64f9f6ffa3 [Doc] changed readme 2025-03-25 22:49:19 +01:00
40a4064ddb add graph-easy dependency 2025-03-25 22:44:59 +01:00
763748322a note recutils package required 2025-03-25 22:44:59 +01:00
fdb9cf9514 add record info to network.rec 2025-03-25 22:44:59 +01:00
1d35d54af1 embiggen recutils examples 2025-03-25 22:44:58 +01:00
452970261e create check target 2025-03-25 22:44:58 +01:00
12644b80da autogenerate map from network info 2025-03-25 22:44:58 +01:00
4b9dae9b3a give example of inserting record 2025-03-25 22:44:58 +01:00
85479ec6ed note recutils example command 2025-03-25 22:44:58 +01:00
9ff9633bc4 fix container and host names 2025-03-25 22:44:58 +01:00
37b3d56676 rework routers 2025-03-25 22:44:58 +01:00
0ecdda7302 names and places 2025-03-25 22:44:57 +01:00
f08d2838e3 expand network db 2025-03-25 22:44:57 +01:00
0f58a26e60 basic network db 2025-03-25 22:44:57 +01:00
76e9650abe [Doc] added wiki link to ssh 2025-03-25 20:51:32 +01:00
624e8d2bfd remove suggested username from ssh FAQ 2025-03-25 20:32:16 +01:00
c8282c82c5 Merge branch 'master' of ssh://gitea.dmz.rs:2222/Decentrala/dmzconf 2025-03-22 12:21:02 +01:00
c81ef26f4e [scripts] added generate random pass script 2025-03-22 05:02:51 +01:00
dbd7f3dfd4 [kralizec] updated readme for wireguard 2025-03-22 04:21:53 +01:00
547ef14a31 [kralizec] added readme for wireguard 2025-03-22 04:11:41 +01:00
e44620521f remove old showpass script
The dmzadmin repo now populates password lists, no need for this.
2025-03-20 18:58:48 +01:00
49c1417b8a make soft man pages 2024-12-06 22:39:45 +01:00
bbea859ffe split services by directory 2024-12-06 22:30:54 +01:00
6882610a0e show git aliases 2024-12-06 22:29:42 +01:00
Txrpe
a62ddf2408 add note about webhooks for soft serve 2024-12-06 22:23:16 +01:00
83c40a44a1 remove UTF8 crap 2024-12-05 17:12:10 +01:00
c7eb11f603 add setup ssh-FAQ 2024-12-05 17:06:07 +01:00
7bcf9b3ac5 fix man section feedback 2024-12-05 16:33:38 +01:00
2d9fa2ab9b make man pages from readme files 2024-12-05 15:29:34 +01:00
d1931d2e8b note soft collaborators 2024-12-04 20:03:14 +01:00
7c28e70eb4 new structure checks and fixes
- markdown formatting
- turn soft-serve.md into soft-serve/README.md
2024-12-04 15:42:21 +01:00
eb5d3b018b new structure
This kicks off the basic tree structure, where the docs all mirror the
reality, like an ascii penumbra.
2024-12-04 15:32:53 +01:00
c3f34f9eea reformat soft-serve docs 2024-12-04 13:01:12 +01:00
0a899d933b reorganize docs
Each host gets a directory.  Containers will soon also have their own
directory.
2024-12-03 22:54:47 +01:00
121 changed files with 1328 additions and 147 deletions

View File

@@ -1,14 +1,77 @@
.PHONY: help
ignore_file = .git/info/exclude
.PHONY: help
help: ## Print the help message
@awk 'BEGIN {FS = ":.*?## "} /^[0-9a-zA-Z._-]+:.*?## / {printf "\033[36m%s\033[0m : %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \
sort | \
column -s ':' -t
map.txt: map.ge ## Making map.txt
grep -v '# unimportant' $< | graph-easy --boxart > $@
cat $@
.PHONY: check
check: ## Check you have all dependencies
@command -v graph-easy >/dev/null || { echo "Install perl-graph-easy" && exit 1 ;}
@command -v recsel >/dev/null || { echo "Install recutils" && exit 1 ;}
@command -v lowdown >/dev/null || { echo "Install lowdown" && exit 1 ;}
@echo "All dependencies installed"
full_map.txt: map.ge ## Generating full_map.txt with graph-easy
graph-easy --boxart < $< > $@
cat $@
########## Network Map ##########
graph_program != type graph-easy > /dev/null && printf graph-easy || printf dot
graph_cmd = graph-easy --boxart
queries = queries authqueries
query_formats = $(patsubst %, .dbs/%.txt, $(queries))
dotquery_formats = $(patsubst %, .dbs/%.dot, $(queries))
.dbs/: | $(ignore_file)
mkdir $@
ignored += .dbs/
$(query_formats): .dbs/%.txt: | .dbs/
echo "[ {{name}} ] -- $(basename $(@F)) --> [ {{$(basename $(@F))}} ]" > $@
$(dotquery_formats): .dbs/%.dot: | .dbs/
echo '{{name}} -> {{$(basename $(@F))}} [ label="$(basename $(@F))" ];' > $@
ifeq ($(graph_program),dot)
map_file = network.png
else
map_file = network.txt
endif
ignored += $(map_file)
.PHONY: map
map: $(map_file) ## Generate a network map
network.txt: .dbs/network.txt
$(graph_cmd) < $<
.dbs/network.txt: network.rec $(query_formats)
$(RM) $@
$(foreach relation, $(queries), \
recsel $< -t lxc -e "$(relation) != ''" -p name,$(relation) | recfmt -f .dbs/$(relation).txt >> $@ ;\
)
.dbs/network.dot: network.rec $(dotquery_formats)
echo 'digraph network {' > $@
$(foreach relation, $(queries), \
recsel $< -t lxc -e "$(relation) != ''" -p name,$(relation) | recfmt -f .dbs/$(relation).dot >> $@ ;\
)
echo '}' >> $@
network.png: .dbs/network.dot $(ignore_file)
dot -T png < $< > $@
##########
$(ignore_file): $(MAKEFILE_LIST)
echo $(ignored) | tr ' ' '\n' > $@
clean:
$(RM) -r $(ignored)

View File

@@ -2,6 +2,11 @@ These setup files provide the text-only configurations for DMZ.
*It should not contain private data.*
# Dependencies
- `recutils`
- (optional) `graph-easy` (the package may be called `perl-graph-easy`)
# Aspirations
- Each service should reside in its own directory.
@@ -13,5 +18,62 @@ These setup files provide the text-only configurations for DMZ.
- Idempotency.
- All secrets stored elsewhere (probably in the `dmzadmin` repo)
- Any maintenance scripts.
- Configurations should reside in shadow-directories, e.g. a backup of `/etc/soft/config` should reside in this repo under `etc/soft/config`.
- Configurations should reside in shadow-directories, e.g. a backup `soft-serve`'s `config.yaml` should reside in this repo under `splint.rs/soft-serve/etc/soft/config.yaml`.
# Network Database
I have a half-baked plan to finally make use of plain-text databases, and it's already half-working.
Try these commands:
Ask what types of _rec_ords it contains:
## Database
```sh
recinf network.rec
```
### Select queries
Select with `recsel`, then specify the database (.rec) and type of record (like table in db).
- `--include-descriptors` or `-d`
- `--type` or `-t`
- `--expression` or `-e`
- `--quick` or `-q`
```sh
recsel network.rec --type router
recsel network.rec -d -t lxc
```
User `-q` for a `--quick` selection, or `-e` for more precise selections.
```sh
recsel network.rec --type lxc --quick wiki
recsel network.rec -t lxc -q nginx
recsel network.rec -t lxc -e "name ~ 'nginx'"
recsel network.rec -t lxc -e "name = 'nginx12'"
```
### Insert queries
Insert a new record with `recins`.
```sh
recins network.rec -t lxc -r "name: bob" -r "service: bob" -r "host: moxx"
```
### Update queries
If you can select something, you can also set its fields with `recset`.
Use `-f` to set the `--field`, and `-a` to `--add`, or `-s` to `--set`.
```sh
recset network.rec -t lxc -e "name = 'nginx12'" -f proxies -a soft-serve
recsel network.rec -t lxc -e "name = 'nginx11'" -p proxies[0]
recset network.rec -t lxc -e" name = 'nginx11'" -f proxies[0] -s wiki9
```

46
ansible/Makefile Normal file
View File

@@ -0,0 +1,46 @@
hosts = $(wildcard host_vars/*.yml)
logs = $(patsubst host_vars/%.yml, logs/%.json, $(hosts) )
playbooks = $(wildcard playbooks/*.yml)
plays = $(patsubst playbooks/%.yml, %, $(playbooks) )
defaults += $(wildcard logs/*)
###### Recipes ######
.PHONY: help
help: ## Print the help message.
@awk 'BEGIN {FS = ":.*?## "} /^[0-9a-zA-Z._-]+:.*?## / {printf "\033[36m%s\033[0m : %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \
column -s ':' -t
.PHONY: lint
lint: $(playbooks) | .ansible/ ## Check syntax and lint all playbooks
ansible-playbook --syntax-check $^
ansible-lint $^
.PHONY: records
records: $(logs) ## Current info on each host
$(logs): logs/%.json: | logs/
ansible -m setup $(basename $(@F) ) > $@
-include logs/play.mk
make_play = printf '.PHONY: %s\n%s: %s \#\# %s\n\n' '$(notdir $(basename $1) )' '$(notdir $(basename $1) )' '$1' '$(shell grep -m1 -oP 'name: \K.*' $1)'
logs/play.mk: playbooks/*.yml
@$(RM) $@
@$(foreach book, $^, \
$(call make_play, $(book), $@ ) >> $@ ; \
printf '\t%s\n\n' 'ansible-playbook $(book)' >> $@ ; \
)
%/:
mkdir $@
echo '*' > $@.gitignore
.PHONY: clean
clean: ## Remove generated files.
$(RM) $(defaults)

7
ansible/ansible.cfg Normal file
View File

@@ -0,0 +1,7 @@
[defaults]
inventory = hosts.yaml
local_tmp = .ansible
cow_selection = random
vault_password_file = pass.sh
interpreter_python = auto_silent

View File

@@ -0,0 +1,7 @@
$ANSIBLE_VAULT;1.1;AES256
39653235613163636362653036663563383839313836643563323462616163353364323862313039
6564656661323039393563636133303132626663366233390a343535383963353763383364376438
36306435396461393132653161393238623562393465356166343764336661376434333335643863
3865373732363761620a613236613963396638613831326332386530326239373062333933646239
39313336383366636133646336653236303261346238306336663564373063383634313361356335
6334353863363931643338663833333065343435333231623466

View File

@@ -0,0 +1 @@
GH+qA1Au9BraGhNt7Aqp8tdhGVfH8ENnY3VzKhe69XQ=

View File

@@ -0,0 +1,9 @@
$ANSIBLE_VAULT;1.1;AES256
37363765623839666637633861353139353935323364343538356536653561373266336161353937
3466653434666163313936393366613666393863616262320a643930663038326666653064613062
62613661396538363539643938323033663932326362626335333438653865623038336136623030
3735366564366431330a373061393766346631643434383364646431346231356466663737626435
64303835343237383761633939643431333439643933636139666163393637363430633261633736
34626631366163616439366534393031353063363138356638323634313430666330613833386661
61346365313534353535633365626364303565363565353765353833363065343232633866633132
63643930633266653765

16
ansible/hosts.yaml Normal file
View File

@@ -0,0 +1,16 @@
all:
vars:
username: dmz
locale: Europe/Belgrade
libc_locale: en_GB.UTF-8 UTF-8
var_locale: LANG=en_GB.UTF-8
ungrouped:
hosts:
nimbus:
cloud:
hosts:
nimbus:
arch:
hosts:
nimbus:

3
ansible/pass.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
pass dmz/xecut/dmz_ansible

View File

@@ -0,0 +1,106 @@
---
- name: Install Wireguard on Server
hosts: nimbus
become: true
tasks:
- name: Install wireguard tools and dig
ansible.builtin.package:
name:
- wireguard-tools
- bind
- name: Copy keys to server
ansible.builtin.copy:
src: wireguard/
dest: /etc/wireguard/server_public_key
- name: Remember the public key
ansible.builtin.command: cat /etc/wireguard/server_public_key
register: wireguard_public_key
- name: Get server public IP
ansible.builtin.command: dig +short myip.opendns.com @resolver1.opendns.com
register: wireguard_public_ip
- name: Allow ipv4 forwarding
ansible.builtin.lineinfile:
path: /etc/sysctl.d/wg.conf
line: net.ipv4.ip_forward=1
create: yes
- name: Start the wireguard service
ansible.builtin.service:
name: wg-quick@wg0
enabled: yes
- name: Install Wireguard on Host
hosts: localhost
become: true
tasks:
- name: Install wireguard tools
ansible.builtin.package:
name:
- wireguard-tools
- name: Create private key
ansible.builtin.shell:
chdir: /etc/wireguard/
creates: /etc/wireguard/dmz_public_key
cmd: "wg genkey | tee dmz_private_key | wg pubkey > dmz_public_key"
- name: Remember the public key
ansible.builtin.command: cat /etc/wireguard/dmz_public_key
register: client_public_key
- name: Generate Server Config
hosts: nimbus
become: true
tasks:
- name: Create wg0 configuration
ansible.builtin.shell:
chdir: /etc/wireguard/
creates: /etc/wireguard/wg0.conf
cmd: |
echo "
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
PrivateKey = $(cat server_private_key)
ListenPort = 51900
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = {{ hostvars['localhost']['client_public_key']['stdout'] }}
AllowedIPs = 10.0.0.2/32
" > /etc/wireguard/wg0.conf
- name: Generate Client Config
hosts: localhost
become: true
tasks:
- name: Create wg0 client configuration
ansible.builtin.shell:
chdir: /etc/wireguard/
creates: /etc/wireguard/wg0-client.conf
cmd: |
echo "
[Interface]
Address = 10.0.0.2/32
PrivateKey = $(cat dmz_private_key)
DNS = 9.9.9.9
[Peer]
PublicKey = {{ hostvars['nimbus']['wireguard_public_key']['stdout'] }}
Endpoint = space.xecut.me:51900
AllowedIPs = 10.0.0.1/32
" > /etc/wireguard/wg0-client.conf

View File

@@ -0,0 +1,14 @@
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
PrivateKey = {{ wg_private_key }}
ListenPort = 51900
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = {{ wg_public_key }}
AllowedIPs = 10.0.0.2/32

View File

@@ -1,26 +0,0 @@
Add this configuration to ~/.ssh/config file
Host dmzkrovdmzrs12
Hostname veyxphzuqnooc7wb7utfza3joaoopgqgwp6l6d4en5yfmyr7kxvminqd.onion
User root
IdentityFile ~/.ssh/id_rsa
PasswordAuthentication no
Now you can log in by typing:
torsocks ssh dmzkrovdmzrs12
Install all needed packages
apt install rsync git nginx
git clone https://gitea.dmz.rs/Decentrala/website
Run updatewebsite.sh script every minute using crontab (run "crontab -e")
This fill automaticlly pull from git repo and regenerate events page
Add nginx-dmz.rs.conf to /etc/nginx/sites-available/dmz.rs and create a symlink
from /etc/nginx/sites-enabled/dmz.rs to that file
You can do this by running:
ln -s /etc/nginx/sites-available/dmz.rs /etc/nginx/sites-enabled/dmz.rs
Increase server_names_hash_bucket_size to 256 in /etc/nginx/nginx.conf in order to support onion addresses.
In the nginx configuration /account/ is redirected to luser (https://gitea.dmz.rs/fram3d/luser) instance running at 192.168.1.211

View File

@@ -0,0 +1,3 @@
---
VMID: 115
---

View File

@@ -0,0 +1,3 @@
---
VMID: 126
---

40
kralizec/dmzrs/README.md Normal file
View File

@@ -0,0 +1,40 @@
Add this configuration to `~/.ssh/config` file
```
Host dmzkrovdmzrs12
Hostname veyxphzuqnooc7wb7utfza3joaoopgqgwp6l6d4en5yfmyr7kxvminqd.onion
User root
IdentityFile ~/.ssh/id_rsa
PasswordAuthentication no
```
Now you can log in by typing:
```bash
torsocks ssh dmzkrovdmzrs12
```
Install all needed packages:
```bash
apt install rsync git nginx
git clone https://gitea.dmz.rs/Decentrala/website
```
Run `updatewebsite.sh` script every minute using `crontab` (run "`crontab -e`")
This fill automatically pull from git repo and regenerate events page
Add `nginx-dmz.rs.conf` to `/etc/nginx/sites-available/dmz.rs` and create a symlink
from `/etc/nginx/sites-enabled/dmz.rs` to that file.
You can do this by running:
```bash
ln -s /etc/nginx/sites-available/dmz.rs /etc/nginx/sites-enabled/dmz.rs
```
Increase `server_names_hash_bucket_size` to 256 in `/etc/nginx/nginx.conf` in order to support onion addresses.
In the `nginx` configuration /account/ is redirected to the `luser` [instance](https://gitea.dmz.rs/fram3d/luser) running at `192.168.1.211`.

View File

@@ -0,0 +1,3 @@
---
VMID: 122
---

View File

@@ -0,0 +1,3 @@
---
VMID: 118
---

View File

@@ -0,0 +1,3 @@
---
VMID: 124
---

View File

@@ -0,0 +1,3 @@
---
VMID: 111
---

View File

@@ -1,3 +1,9 @@
---
title: ejabberd configurations
section: 6
source: Decentrala
---
#On your PC
Add this configuration to ~/.ssh/config

View File

@@ -0,0 +1,3 @@
---
VMID: 106
---

View File

@@ -0,0 +1,3 @@
---
VMID: 119
---

View File

@@ -0,0 +1,37 @@
---
VMID: 109
---
[project git](https://gitea.dmz.rs/Decentrala/luser)
runs on OpenBSD 71
make
- all:
- man:
- deb:
- clean:
## SYNOPSIS
**python3 run.py**
## Login - Register
Web app for adding,delating and modifying users using LDAP called `luser` - LdapUser
website redirects to those web pages
```sh
service luser restart
```
## Capcha script
...
## COPYRIGHT
**AGPLv3+**: GNU AGPL version 3 or later <https://gnu.org/licenses/agpl.html>
This is *free* software: you are free to change and redistribute it.
There is **NO WARRANTY**, to the extent permitted by law.

View File

@@ -0,0 +1,46 @@
---
VMID: 119
---
## Data
`/var/discourse/shared/web_only/`
## Web
`/var/discourse_docker/`
## Help
`/var/discourse_docker/discourse_doctor`
## Docker rebuild errors
`/var/discourse_docker/launcher rebuild web_only`
```
Plugin name is 'ldap', but plugin directory is named 'discourse-ldap-auth'
rake aborted!
ActiveRecord::NoDatabaseError: We could not find your database: discoursedb. Available database configurations can be found in config/database.yml. (ActiveRecord::NoDatabaseError)
```
```
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 593 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
a9a704b1ee166487d8cd2acd5bd9bcc050ed0ec93fc065f58440e4ae208e1937
```

View File

@@ -0,0 +1,3 @@
---
VMID: 117
---

View File

@@ -0,0 +1,6 @@
---
VMID: 104
---
nginx server

View File

@@ -0,0 +1,3 @@
---
VMID: 121
---

17
kralizec/ldap71/README.md Normal file
View File

@@ -0,0 +1,17 @@
---
VMID: 109
---
OpenBSD with ldap service
192.168.1.15
Restart the service
```sh
rcctl check ldapd
rcctl stop ldapd
rcctl start ldapd
```

3
kralizec/nginx/README.md Normal file
View File

@@ -0,0 +1,3 @@
---
VMID: 108
---

View File

@@ -0,0 +1,3 @@
---
VMID: 127
---

View File

@@ -0,0 +1,3 @@
---
VMID: 113
---

View File

@@ -0,0 +1,14 @@
---
VMID: 105
---
Posgresql v13
- ejabberd (xmpp)
- discourse (forum)
root@192.168.1.28
other databases are migrated to posgresql12

View File

@@ -0,0 +1,54 @@
---
VMID: 121
---
PostgreSql v15
port 5432
[installation wiki](https://wiki.debian.org/PostgreSql)
## Users
- ejabberd
- discorse
- gitea
- wiki
- replication
- xmppsqlkrov (not created)
- dmzrsflask (not created)
## Config for databases
- ejabberddb - `/etc/ejabberd/ejabberd.yml`
- discorsedb (forum11) `/etc/discorse_docker/containers/web_only.yml` and `-||-/data.yml`
- giteadb `/etc/gitea/app.ini`
- wikidb `/root/wiki/config.yml`
- replication
```sh
pg_dump -d <database> -f <file>
psql -U <user> -d <dababase> -f <dump.psql>
```
## Config file
`/etc/postresql/15main/postresql.conf`
changed listening_address from localhost to *
`/etc/postresql/15main/pg_hba.conf`
host all all all md5
add `/etc/ssl/certs/ssl-cert-snakeoil.pem` to `/etc/ssl/` on every service
## SSL
For wiki machine certificate pinging is setup
In config.yml on wiki machine, the certificate path for new sql server should be added

View File

@@ -0,0 +1,3 @@
---
VMID: 116
---

View File

@@ -0,0 +1,3 @@
---
VMID: 123
---

5
kralizec/ssh11/README.md Normal file
View File

@@ -0,0 +1,5 @@
---
VMID: 114
---
[wiki page](https://wiki.dmz.rs/en/sysadmin/ssh)

View File

@@ -0,0 +1,3 @@
---
VMID: 112
---

3
kralizec/tor11/README.md Normal file
View File

@@ -0,0 +1,3 @@
---
VMID: 101
---

View File

@@ -0,0 +1,3 @@
---
VMID: 125
---

View File

@@ -0,0 +1,3 @@
---
VMID: 120
---

View File

@@ -0,0 +1,56 @@
---
VMID: 103
---
[Wireguard VPN quickstart](https://www.wireguard.com/quickstart)
Check `dmzadmin` for `wireguard.gpg` to know who to contact for access
---
### Client config
Client config example
`x` is the assigned on the server as peer:
```conf
[Interface]
Address = 192.168.164.x/32
DNS = 1.1.1.1
MTU = 1420
SaveConfig = true
ListenPort = 51820
FwMark = 0xca6c
PrivateKey = <your_private_wg_key>
[Peer]
PublicKey = JP2FTHLUujkevz1kUymciLImsx1OX9ViUko7oPAIoiA=
AllowedIPs = 192.168.164.0/24, 192.168.1.0/24
Endpoint = 77.105.27.232:51820
PersistentKeepalive = 21
```
---
### Server config
New user/client needs to provide their wireguard `publickey` and new ip on the network needs to be assigned (`x`)
check the server config file `/etc/wireguard/wg0.conf` to find free address
```sh
sudo wg set wg0 peer <client_public_key> allowed-ips 192.168.164.x/32
```
---
Command to resolve IP clashing with current and wireguard network, if needed
```shell
ip route add <ip> dev <wg0>
```
- `ip` you want to resolve -> for wireguard VM 192.168.1.10
- `wg0` name of the wireguard config

View File

@@ -0,0 +1,3 @@
---
VMID: 102
---

View File

@@ -17,16 +17,6 @@ VMID Name
111 taskmanager12
112 stopreklamama12
## srv1
##### Legend
VMID Name
102 tor12
103 dendrite
106 icecast12
107 mariadb12
108 mpd12
109 ympd
111 sshfs11
113 ollama12
114 chatbot12
115 goodvibes12
12 -> debian 12

View File

@@ -0,0 +1,3 @@
---
VMID: 101
---

View File

@@ -0,0 +1,3 @@
---
VMID: 102
---

View File

@@ -0,0 +1,3 @@
---
VMID: 110
---

View File

@@ -0,0 +1,5 @@
---
VMID: 109
---
XMPP server, used for future decentralization

View File

@@ -0,0 +1,3 @@
---
VMID: 107
---

View File

@@ -0,0 +1,26 @@
---
VMID: 100
---
This VM is a reverse proxy, all serveces go through it and get their SSL certificates
## Creating new record
```sh
cd /etc/nginx/sites-available/ # configs are located here
vim.tiny pastebin.dmz.rs # using pastebin as example, copy existing one and edit it
ln -s /etc/nginx/sites-available/pastebin.dmz.rs /etc/nging/sites-enabled/pastebin.dmz.rs # creating link since file is the same
mkdir /var/www/pastebindmzrs # new dir where certificate will be validated
nginx -t # checking for errors
systemctl reload nginx.service # reloading the service for changes to apply, reset will work too
service nginx reload # alternative server reload
certbot certonly --webroot -w /var/www/pastebindmzrs -d pastebin.dmz.rs -d pastebin.decentrala.org # requesting the certificates
```
## renewal
```sh
ls /var/www/
cd /etc/letsencrypt/renewal
certbot renew
```

View File

@@ -0,0 +1,3 @@
---
VMID: 106
---

View File

@@ -0,0 +1,3 @@
---
VMID: 108
---

View File

@@ -0,0 +1,3 @@
---
VMID: 104
---

View File

@@ -0,0 +1,6 @@
---
VMID: 112
---
This container is for hosting the [website](https://gitea.dmz.rs/svitvojimilioni/stopreklamama)
hosted on domen `stopreklamama.dmz.rs`

View File

@@ -0,0 +1,8 @@
---
VMID: 111
---
Old app for group task managment, [gitea project](https://gitea.dmz.rs/Decentrala/taskmanager)
Hosted on [todo.dmz.rs](https://todo.dmz.rs/)
Now using soft.dmz.rs/fixme instead

View File

@@ -0,0 +1,5 @@
---
VMID: 103
---
In this container hosts the tor onion service, used for remote access to the proxmox, through tor.

View File

@@ -0,0 +1,5 @@
---
VMID: 105
---
Wireguard server for VPN access to krov network

39
krov/srv1/README.md Normal file
View File

@@ -0,0 +1,39 @@
# List of containers
# srv1
VMID Name
100 ssh12
101 vukbox
102 mad3v-container-postgresql
103 nextcloud1
104 pentest
105 dns12
106 cryptpad
107 cryptpad12
108 ejabberd12
109 dante12
111 postgresql12
112 gitea12
113 game12
114 coja-nginx
115 mad3v-container-1
116 hugo12
118 mumble
119 netstat-game12
120 privatebin12
121 searxng12
122 alpine-it-tools
123 test
124 jitsi12
---
### Hardware
Dell enterprise server
##### Legend
12 -> debian 12 lxc

View File

@@ -0,0 +1,7 @@
---
VMID: 122
---
Installed with [proxmox helper scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=alpine-it-tools)
Plan to host it on tools.dmz.rs

View File

@@ -0,0 +1,13 @@
---
VMID: 106
---
Installed with [proxmox helper scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=cryptpad)
[Project page](https://cryptpad.org/)
Plan to host it on cryptpad.dmz.rs
cryptpad (106) is already on that subdomain, but it doesnt work

View File

@@ -0,0 +1,5 @@
---
VMID: 108
---
XMPP server, practice for future decentralization of the service

View File

@@ -0,0 +1,9 @@
---
VMID: 117
---
Installed with [proxmox helper scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=haos-vm)
[Forum descussion](https://forum.dmz.rs/t/automatizacija-krova/469)

View File

@@ -0,0 +1,9 @@
---
VMID: 124
---
Video converencing server. Zoom alternative.
[website](https://jitsi.org/)
Plan to host it on jitsi.dmz.rs, video.dmz.rs or else

View File

@@ -0,0 +1,9 @@
---
VMID: 118
---
VOIP server, hosted on krov.dmz.rs
[website](https://www.mumble.info/)

View File

@@ -0,0 +1,6 @@
---
VMID: 119
---
Open arena server, free clone of FPS Quake III Arena
Hosted on krov.dmz.rs:27960 for LAN Parties

View File

@@ -0,0 +1,9 @@
---
VMID: 103
---
Plan for this services was to use the shared callendar with members of DC Krov
Register as a user is disabled, only admins can create the accounts
LDAP is not connected

View File

@@ -0,0 +1 @@
Those serveces are not on the server

View File

@@ -0,0 +1,5 @@
---
VMID: 114
---
[Forum discussion](https://forum.dmz.rs/t/jel-neko-u-krovu-bot/779)

View File

@@ -0,0 +1,3 @@
---
VMID: 103
---

View File

@@ -0,0 +1,3 @@
---
VMID: 115
---

View File

@@ -0,0 +1,3 @@
---
VMID: 107
---

View File

@@ -0,0 +1,3 @@
---
VMID: 108
---

Some files were not shown because too many files have changed in this diff Show More