Compare commits

..

3 commits

Author SHA1 Message Date
1da28ab912 LOL 2024-09-29 17:02:49 +02:00
93cd9ba5c5 test 2024-09-29 17:01:53 +02:00
5910f6720d Woodpecker test 3 2024-09-29 16:55:43 +02:00
100 changed files with 2632 additions and 5472 deletions

1
.gitignore vendored
View file

@ -37,4 +37,3 @@ override.tf.json
terraform.rc
.vscode
ansible/.vault_password
ansible/roles/nginx/vars/main/vault.yml

18
.woodpecker/main.yml Normal file
View file

@ -0,0 +1,18 @@
when:
- event: push
branch: woodpecker_test
steps:
- name: build
image: local/builder
commands:
- ansible-playbook --help
- mkdir /root/.ssh && chmod 0700 /root/.ssh
- echo $SSH_KEY | base64 --decode >> /root/.ssh/id_rsa
- chmod 0600 /root/.ssh/id_rsa
- cd ansible
- touch ./.vault_password
- echo $VAULT_PASSWORD >> ./.vault_password
- ansible-playbook -i homelab.ini --extra-vars "ansible_sudo_pass=$ansible_password" setup.yml
secrets: [ SSH_KEY, ansible_password, VAULT_PASSWORD ]

View file

@ -2,11 +2,6 @@
The goal of this project is to share the things i set up in my own homelab. I created this as a way to inspire others to create their own homelabs!
## Caveats
- Most of these roles are NOT ready to be used on other environments
- If i leak some secrets, please contact me :)
## Why do some files look wierd?
I have used ansible-vault to protect some parts of my setup, as i don't want all of it documented on the worldwide web :)

View file

@ -1,5 +1,2 @@
[defaults]
vault_password_file = .vault_password
forks = 30
host_key_checking = False
nocows=1

View file

@ -1,6 +1,6 @@
---
- name: Configure HaProxy
- name: Bootstrap playbook
hosts:
- olympus_entry
- havneboks
roles:
- olympus_entry
- uptime_kuma

View file

@ -2,8 +2,8 @@
- name: Bootstrap tailscale on host
vars:
headscale_domain: "https://headscale.polsevev.dev"
username: hephaestus
username: havneboks
hosts:
- hephaestus
- action_runner
roles:
- tailscale

View file

@ -1 +0,0 @@
k3s_version: v1.31.3+k3s1

View file

@ -1 +0,0 @@
k3s_version: v1.31.3+k3s1

View file

@ -1,96 +0,0 @@
[all:vars]
ansible_connection=ssh
ansible_user=ansible
[cronus]
100.64.0.5 ansible_user=root
[hermes]
100.64.0.13 cloudinit_id=9004
[ares]
100.64.0.12 cloudinit_id=9003
[poseidon]
100.64.0.9 cloudinit_id=9001
[hades]
100.64.0.11 cloudinit_id=9002
[oceanus]
100.64.0.14 cloudinit_id=9005
[zeus]
100.64.0.4 cloudinit_id=9000
[hyperion]
100.64.0.19
[soteria]
100.64.0.2
[proxmox]
[proxmox:children]
zeus
ares
hades
hermes
oceanus
poseidon
hyperion
[polsevev]
100.64.0.6
[grafana]
100.64.0.16
[olympus_entry]
100.64.0.3
[byggmester]
100.64.0.20
[brevgress]
100.64.0.15
[havneboks]
100.64.0.10
[fabrikken]
[umami]
100.64.0.17
[forgejo]
100.64.0.18
[arkivet]
100.64.0.22
[mestere]
[agenter]
[vms]
[vms:children]
grafana
brevgress
havneboks
fabrikken
polsevev
umami
forgejo
byggmester
arkivet
agenter
mestere
[vps]
[vps:children]
olympus_entry

View file

@ -23,9 +23,6 @@ ansible_user=ansible
[zeus]
192.168.1.20 cloudinit_id=9000
[hyperion]
192.168.1.102
[proxmox]
[proxmox:children]
@ -35,7 +32,6 @@ hades
hermes
oceanus
poseidon
hyperion
[polsevev]
192.168.1.92
@ -46,8 +42,8 @@ hyperion
[olympus_entry]
37.27.192.11
[byggmester]
192.168.1.54
[action_runner]
192.168.1.50
[brevgress]
192.168.1.70
@ -55,48 +51,15 @@ hyperion
[havneboks]
192.168.1.51
[fabrikken]
192.168.1.31
[umami]
192.168.1.52
[forgejo]
192.168.1.53
[arkivet]
192.168.1.55
[mestere]
192.168.1.80
192.168.1.81
192.168.1.82
[agenter]
192.168.1.40
192.168.1.41
192.168.1.42
192.168.1.43
[vms]
[vms:children]
grafana
action_runner
brevgress
havneboks
fabrikken
polsevev
umami
forgejo
byggmester
arkivet
agenter
mestere
[vps]
[vps:children]
olympus_entry
[hephaestus]
192.168.1.25

View file

@ -1,3 +0,0 @@
---
arkivet_version_number: v2.31.2
arkivet_download_url: "https://github.com/filebrowser/filebrowser/releases/download/{{ arkivet_version_number }}/linux-amd64-filebrowser.tar.gz"

View file

@ -1,39 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
61373764396335646131633862653539626534326362613561626436613563323464613236386533
6165653233313131636262656234633132386634303239380a336430303836626535326566653063
31306531396535613663363862323062386563343933343234636666323636656134663466366163
3266306161613863640a613666333431303737393338316332633030396636656330393535633634
37626563323164656635623637366136653761633130616334323330646631386531376439343730
38386661623238313833616661336335363565353131346133306535303336316465386635393936
61333962333437316539326339316432643032303966636465636236346338356566313935323666
61653565313733306134356437363666626161643236373436613935626433323638366663343033
39396266323065623332336637616637316235303161333432303337663530383862323636343461
35376239313131386161326633633361633165353565353666386263653936326461613739366334
62336236333035363965326362613737646466633066366639323762623939643936343962646630
34323737626632373636366137333762303439383036393463336438333934643834303432393030
32353336336466383663313366636464386534333334633931343833626566663136663165326666
38303931376230363961343931663562633663623331656661363030326161616165613262343932
34666239373561353965366530356531643134356133633664336261396236393962623966303665
31653830373036643063373036316533386130623231303934303531666330333834376161333964
30636666623833396339373534346438316436343266643830616363656462623562666331383862
33373864623737623066336438363666306537633135346363376263626633666562343463643439
34376633366633326363393563613530656166663266303835316636666133386337353461356364
37376661636662383734383531653131303235663035373466326636623734613937313832653332
37666563306361333534393237343166626330633265373066626334323166383733323165333537
62393963326461383036353239343430646331366365326530623566356133393236363465353939
39663130623130356336656635326339376461323566613138663033356339316262343766393737
62633762373464646332303130653364313961613464366563366130616132393432386239633537
38323864306634386330373839646439316464343965663631623030656139376665303764333033
31653030376264346537366561666365306230656665393431656266646639343037663636306437
62343139313535343532323137336262396664633534643366623637613038306566333738366463
34623163656166616661346330376439643665333430343066323862653931343430323566656430
38626339396135653763366266646133363065313630366530396164626139306264623133323730
39353630376632393865346534666232393662343532323265356466346138666462636262393732
36633530336161383233313065383033353136626366613237656434376636383532373330333536
61366338316432303162633535653265616465653733383639313731356432646666363739306362
65373664623263323862376663303063336437323832366432363634376137336561343131366231
34613166636438333533663563636361616664333361303835663139636230653137653038323731
35353162633461346630323031376364323063376461656436636139653033626238643833373266
31663237383638666464616439623234366435663665653463666533356137313534616130366233
61336334646636386433636131333861376361663261393335323336386234363339653666373763
3635636235326537366133653264346539353063636239383937

View file

@ -1,11 +0,0 @@
[Unit]
Description=Selfhosted file browser with web UI
After=network.target
[Service]
RuntimeDirectory=/opt/filebrowser/
User=arkiv
ExecStart=/opt/filebrowser/filebrowser -c /opt/filebrowser/config.yml
[Install]
WantedBy=multi-user.target

View file

@ -1,6 +0,0 @@
---
- name: Restart filebrowser
ansible.builtin.systemd:
name: filebrowser.service
state: restarted
become: true

View file

@ -1,5 +0,0 @@
---
dependencies:
- role: nginx
nginx_acme_sh_domains:
- files.polsevev.dev

View file

@ -1,90 +0,0 @@
---
- name: Create filebrowser user
ansible.builtin.user:
name: arkiv
password: "!"
home: "/home/arkiv"
create_home: true
system: true
shell: /bin/bash
comment: "arkiv system user"
become: true
- name: Create binary directory
ansible.builtin.file:
path: /opt/filebrowser
state: directory
owner: arkiv
mode: "0700"
become: true
notify: Restart filebrowser
- name: Download program
ansible.builtin.get_url:
url: "{{ arkivet_download_url }}"
dest: /tmp/filebrowser.tar.gz
owner: ansible
mode: "0700"
- name: Untar
ansible.builtin.unarchive:
src: /tmp/filebrowser.tar.gz
dest: /opt/filebrowser
mode: "0700"
owner: arkiv
remote_src: true
become: true
notify: Restart filebrowser
- name: Create mount directory
ansible.builtin.file:
state: directory
owner: arkiv
path: /mnt/arkivet
mode: "0777"
become: true
- name: Mount unraid server share
ansible.posix.mount:
src: //192.168.1.100/arkivet
path: /mnt/arkivet
opts: "rw,vers=3,noserverino,file_mode=0666,dir_mode=0777,username={{ arkivet_mount_user }},password={{ arkivet_mount_password }}"
fstype: cifs
boot: true
state: mounted
become: true
notify: Restart filebrowser
- name: Template config
ansible.builtin.template:
src: config.yml.j2
dest: /opt/filebrowser/config.yml
owner: arkiv
mode: "0600"
become: true
notify: Restart filebrowser
- name: Copy systemd service
ansible.builtin.copy:
src: filebrowser.service
dest: /etc/systemd/system/filebrowser.service
owner: root
mode: "0644"
become: true
notify: Restart filebrowser
- name: Ensure service started
ansible.builtin.systemd:
name: filebrowser.service
state: started
enabled: true
daemon_reload: true
become: true
- name: Copy nginx config
ansible.builtin.copy:
src: filebrowser.conf
dest: /etc/nginx/sites-enabled/filebrowser.conf
owner: root
mode: "0644"
become: true
notify: Reload nginx

View file

@ -1,15 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
30366465653935666434313935343934646434306166373835396635396662396163653633663739
6137373337336565623532303031653637623161316135640a333762656133656532393266656163
36393632626364656635393034373934386630306461323933613036396637636130636433643863
6335323339613430650a363439363865346130653366663834383931386163396366666331636432
61303061376530336139326237656665653734656235373436386261613664306638343966393831
35316662303864356235353261333163613632326234313536656461633833396263303738636131
65373930656131393936643366626532636136316461656631353236343834376666363939633532
64663539306632653837366335366661336236343632393663616664383565346365333161366132
31323331303061356338646338636464346333356464653734343238646134386663363064373732
32353565656365353239626136633030656138633166333938636232333266343039376131616536
61393132653763633638376330326564623733663738653132613462333662393965626533333261
66303463653430313035396431653461383466316266663165333562653736346636626266393661
65343963363834356536373739363361393030666235656665326139336630376336366166366435
3166346363353365333363613662666364656636393432613932

View file

@ -1,16 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
39363239636565323738396539643333383339316162333739313033363038313462626638386161
6165643436323662393535396338356534633163666434660a316231653761333933626434653961
32396264393564333632346565383064356237396263353935326438643839636433303365303031
6431646136373836310a383935616533376336366663303236306661383235303037623565613237
34323865653165656336663062343735376335636538333761306639306261653664363763626163
35633465663333353331393966623332356331336631393465373165303166396532636363343765
63313966663966623164613732333236353666316264363638356337323132666662653430363330
33633630373065376133393038383937373130643466613031663261643035633132666338663765
30316466303235613462656663393961303165383634636534376163376534333863323137333330
30356463356266333732666237323037646333353361346235303236363130373864656131616630
66323631653630343162373038336134616431383330383131613132623436633232393063363661
30343663326231626639373839326435313934353666656566633234613830363332346464656234
66393739366462366230353138646430653730363438363264376534373930653162643863383731
63656438303533626231353330636138356236633065343738386639623834393631306434616361
373936356539623938653836323431316665

View file

@ -1,76 +0,0 @@
log:
# The level of logging, can be trace, debug, info, warn, error, fatal
level: info
runner:
# Where to store the registration result.
file: .runner
# Execute how many tasks concurrently at the same time.
capacity: 1
# Extra environment variables to run jobs.
envs:
# Extra environment variables to run jobs from a file.
# It will be ignored if it's empty or the file doesn't exist.
env_file: .env
# The timeout for a job to be finished.
# Please note that the Forgejo instance also has a timeout (3h by default) for the job.
# So the job could be stopped by the Forgejo instance if it's timeout is shorter than this.
timeout: 12h
# Whether skip verifying the TLS certificate of the Forgejo instance.
insecure: false
# The timeout for fetching the job from the Forgejo instance.
fetch_timeout: 5s
# The interval for fetching the job from the Forgejo instance.
fetch_interval: 2s
# The labels of a runner are used to determine which jobs the runner can run, and how to run them.
# Like: ["macos-arm64:host", "ubuntu-latest:docker://node:16-bullseye", "ubuntu-22.04:docker://node:16-bullseye"]
# If it's empty when registering, it will ask for inputting labels.
# If it's empty when execute `deamon`, will use labels in `.runner` file.
labels: ["ubuntu"]
cache:
# Enable cache server to use actions/cache.
enabled: true
# The directory to store the cache data.
# If it's empty, the cache data will be stored in $HOME/.cache/actcache.
dir: ""
# The host of the cache server.
# It's not for the address to listen, but the address to connect from job containers.
# So 0.0.0.0 is a bad choice, leave it empty to detect automatically.
host: ""
# The port of the cache server.
# 0 means to use a random available port.
port: 0
container:
# Specifies the network to which the container will connect.
# Could be host, bridge or the name of a custom network.
# If it's empty, create a network automatically.
network: ""
# Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker).
privileged: false
# And other options to be used when the container is started (eg, --add-host=my.forgejo.url:host-gateway).
options:
# The parent directory of a job's working directory.
# If it's empty, /workspace will be used.
workdir_parent:
# Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob
# You can specify multiple volumes. If the sequence is empty, no volumes can be mounted.
# For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to:
# valid_volumes:
# - data
# - /src/*.json
# If you want to allow any volume, please use the following configuration:
# valid_volumes:
# - '**'
valid_volumes: []
# overrides the docker client host with the specified one.
# If it's empty, act_runner will find an available docker host automatically.
# If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers.
# If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work.
docker_host: ""
host:
# The parent directory of a job's working directory.
# If it's empty, $HOME/.cache/act/ will be used.
workdir_parent:

View file

@ -1,19 +0,0 @@
[Unit]
Description=Forgejo-runner
After=syslog.target
After=network.target
[Service]
RestartSec=2s
Type=simple
User=forgejo-runner
Group=forgejo-runner
WorkingDirectory=/home/forgejo-runner
ExecStart=/home/forgejo-runner/forgejo-runner daemon --config config.yml
Restart=always
[Install]
WantedBy=multi-user.target

View file

@ -1,11 +0,0 @@
---
- name: Restart forgejo-runner
ansible.builtin.service:
name: forgejo-runner
state: restarted
become: true
- name: Daemon reload
ansible.builtin.systemd:
daemon_reload: true
become: true

View file

@ -1,4 +0,0 @@
---
dependencies:
- common
- docker

View file

@ -1,119 +0,0 @@
---
- name: Install building dependencies
ansible.builtin.apt:
pkg:
- npm
- rsync
update_cache: true
become: true
- name: Create groups
ansible.builtin.group:
name: "{{ item }}"
loop:
- docker
- forgejo-runner
become: true
- name: Create forgejo-runner user
ansible.builtin.user:
name: forgejo-runner
groups: docker
group: forgejo-runner
password: "!"
home: "/home/forgejo-runner"
create_home: true
system: true
shell: /bin/bash
comment: "forgejo-runner system user"
become: true
notify: Restart forgejo-runner
- name: Download
ansible.builtin.get_url:
url: "{{ byggmester_download_url }}"
dest: /home/forgejo-runner/forgejo-runner
mode: "774"
owner: forgejo-runner
become: true
notify: Restart forgejo-runner
- name: Copy runner service
ansible.builtin.copy:
src: forgejo-runner.service
dest: /etc/systemd/system/forgejo-runner.service
mode: "0644"
owner: root
become: true
notify: Daemon reload
- name: Copy config
ansible.builtin.copy:
src: config.yml
dest: /home/forgejo-runner/config.yml
mode: "0744"
owner: forgejo-runner
become: true
notify: Restart forgejo-runner
- name: See if runner file already exists
ansible.builtin.stat:
path: /home/forgejo-runner/.runner
register: is_registered
become: true
- name: Regisert new runner
when: "not is_registered.stat.exists"
block:
- name: Generate secret
delegate_to: forgejo
ansible.builtin.command: >-
/usr/local/bin/forgejo/forgejo forgejo-cli actions generate-secret
register: generated_secret
become: true
become_user: forgejo
- name: Create a runner on forgejo server
delegate_to: forgejo
ansible.builtin.command: >-
/usr/local/bin/forgejo/forgejo --config /etc/forgejo/app.ini forgejo-cli actions register
--name byggmester
--labels ubuntu
--secret {{ generated_secret.stdout }}
become: true
become_user: forgejo
- name: Join byggmester runner
ansible.builtin.command: >-
./forgejo-runner create-runner-file --instance https://code.polsevev.dev
--secret {{ generated_secret.stdout }}
args:
chdir: "/home/forgejo-runner"
become: true
become_user: forgejo-runner
notify: Restart forgejo-runner
- name: Ensure runnner service is started
ansible.builtin.service:
name: forgejo-runner.service
state: started
enabled: true
become: true
- name: Create .ssh
ansible.builtin.file:
state: directory
owner: forgejo-runner
path: /home/forgejo-runner/.ssh
group: forgejo-runner
mode: "0755"
become: true
- name: Create known hosts
ansible.builtin.file:
state: touch
owner: forgejo-runner
path: /home/forgejo-runner/.ssh/known_hosts
group: forgejo-runner
mode: "0600"
become: true

View file

@ -1,4 +0,0 @@
---
byggmester_runner_version: 3.5.1
byggmester_download_url: "https://code.forgejo.org/forgejo/runner/releases/download/v3.5.1/forgejo-runner-{{ byggmester_runner_version }}-linux-amd64"
byggmester_checksum: sha1:badd86f725c507dac37a28f03dbd4d7350195554

View file

@ -7,13 +7,5 @@
- btop
- ca-certificates
- curl
- python3
- python3-pip
- lm-sensors
update_cache: true
become: true
- name: Import proxmox common when applicable
ansible.builtin.include_tasks:
file: proxmox.yml
when: "'proxmox' in group_names"

View file

@ -1 +0,0 @@
---

View file

@ -1,3 +0,0 @@
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sat Oct 05 22:39:49 UTC 2024
eula=true

View file

@ -1,21 +0,0 @@
#Minecraft server properties
#Sat Oct 05 22:46:23 UTC 2024
use-native-transport=true
level-name=world
allow-flight=false
prevent-proxy-connections=false
server-port=25565
force-gamemode=false
server-ip=
spawn-npcs=true
spawn-animals=true
snooper-enabled=true
resource-pack-sha1=
online-mode=true
resource-pack=
pvp=true
difficulty=1
gamemode=0
player-idle-timeout=0
generate-structures=true
motd=Rolf FTB server :)

View file

@ -1,18 +0,0 @@
;SETTINGS FOR SERVERSTART SCRIPTS
;See "serverstart.log" in the LOGS subfolder
;For more details/help see: https://github.com/AllTheMods/Server-Scripts
MAX_RAM=6G;
JAVA_ARGS=-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -Dfml.readTimeout=180 -Dfml.queryResult=confirm;
CRASH_COUNT=5;
CRASH_TIMER=600;
RUN_FROM_BAD_FOLDER=0;
IGNORE_OFFLINE=0;
IGNORE_JAVA_CHECK=0;
USE_SPONGE=0;
HIGH_CPU_PRIORITY=0;
MODPACK_NAME=Enigmatica 2: Expert;
MCVER=1.12.2;
FORGEVER=14.23.5.2860;
FORGEURL=DISABLE;

View file

@ -1,52 +0,0 @@
---
- name: Make dir
ansible.builtin.file:
state: directory
path: ~/enigmatica2
mode: "0755"
- name: Download modpack
ansible.builtin.get_url:
url: "{{ enigmatica2_url }}"
dest: ~/
mode: "0755"
register: download_metadata
- name: Install dependencies
ansible.builtin.apt:
pkg:
- unzip
- openjdk-8-jre
- screen
become: true
- name: Unarchive modpack
ansible.builtin.unarchive:
src: "{{ download_metadata.dest }}"
dest: "~/enigmatica2/"
mode: "0755"
copy: false
- name: Copy configurations
ansible.builtin.copy:
src: "{{ item }}"
dest: "~/enigmatica2/{{ item }}"
mode: "0755"
loop:
- eula.txt
- settings.cfg
- server.properties
- name: Check screen for running sessions
ansible.builtin.command: screen -ls
register: sessions
changed_when: false
failed_when: false
- name: Run mcserver
ansible.builtin.command: screen -s enigmatica2 -d -m ~/enigmatica2/ServerStartLinux.sh
args:
chdir: '~/enigmatica2'
when: sessions.stdout.find("There is a screen on") == -1
changed_when: false

View file

@ -1,2 +0,0 @@
---
enigmatica2_url: https://www.curseforge.com/api/v1/mods/282744/files/5198828/download

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

View file

@ -1,20 +0,0 @@
{{template "base/head" .}}
<div role="main" aria-label="{{if .IsSigned}}{{ctx.Locale.Tr "dashboard"}}{{else}}{{ctx.Locale.Tr "home"}}{{end}}" class="gt-pt-4">
<div class="center">
<img class="logo" width="220" height="220" src="{{AssetUrlPrefix}}/i-am-developer.gif">
<div class="hero">
<h1 class="ui icon header title">
{{AppDisplayName}}
</h1>
<h2>Welcome to the home of trashy source code and wonky projects</h2>
<h2>If you have ended up here in the search of answers, you should take a moment and wonder where it all went wrong</h2>
<h2>If you still think answers lie beyond here, go ahead, see how wrong you are</h2>
</div>
</div>
</div>
{{template "base/footer" .}}

View file

@ -1,41 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
34646161366265393637343533653562393439323866613133376235383266633238363136343461
3966363966633665313064663365363333643133666363630a383336356366386233643166313631
32326335383930376138623765616363306530636532633862313266383538346638616230386664
6566373464333263630a613063343163303931313638336136316430323637623662373532376134
30386538373265393364356364353766393266616666353764313562343739656636333939653831
32643661626530623631623637633031343530316634363465613331313530356433343632626664
37323764616266306630336333383365363366653263386232633964366564643664343765633838
30313564323932616237366430393464636537353132666538653032323861323263333662346536
62376134393635666365346466636330663037643839633935393833363632623238396430633839
31363762643562326639303264323234366239623138343639343531376566616636313431643462
36313434396565313065333438333464613231626165383262386239626130333961613962613137
65376338633230383530363661393964633336633466656131326632363663383665316435663032
33323062623464666331366235306239366433393534346238356537333239346465313134323334
36663161313766313331636261383634366663636663313766666233376230616130626561633763
62393636383438303036373839396639303664643539383132316231303835393332303135303638
62316162313562636633386434633032623738643134633832343830333134623364343232306434
61646565323434666530636434363632346437646637363661316331333232313230643437353364
63613962656530303464343562306430303064386431363935653064643234633163323931373638
35353139393831363936333335316632393163386363373937626561363939383930386633363762
37613562396538663033616236343635313566353937346362383366316134633532373265313232
61363562313732646564343064343531656637646338306130313135633232633031646230393330
34656465303332343563653239613934653162666536376333613461653662326536396363306565
63353636326138396339383032643132663861616564316136363534393737356538653861343633
61393066616234656263373764306564376365323830616134343966336338353337326362653938
33393031663136613064306631633936623031343161663738323631653536393138303630616432
34656337653033333436346132353433346133356439643262363263343833363463366432353066
66353333343864333964653834666330323338616634633363613539366163656534613139373433
38303734653966643239313466313930323735623535636336306539333461303432656131303639
38333937663364613239313738646364646237346635356438626539393061353635303832636131
64353761356266306339616537653263656463653732343431393131653131383662383436346562
39326561363163386663363733616437333730353338616533383234393561353165333439633362
35333237663430333565663465333839383966666436393364363935313433633936633966306639
33366234396531623030363037333664323931616632316232666462366465356433333334386436
64326536393063396263363431363665306539313361663730343463393263656566303534333338
64396132346434343263346161303435313263313764653233346662366561626234343831303833
30346163373731626237353265613934636237643633353062363661336365393539353332633336
64353930333466646638633762613565313137396330376364643362366636346636333336343064
61656330373736383139376531313931346365646337386531653439623831643832386565376366
31303263393836303739626163376333383334333930396165656632613633643238323161333163
31626535666138323436

View file

@ -1,20 +0,0 @@
[Unit]
Description=Forgejo (Beyond coding. We forge.)
After=syslog.target
After=network.target
[Service]
LimitNOFILE=524288:524288
RestartSec=2s
Type=simple
User=forgejo
Group=forgejo
WorkingDirectory=/var/lib/forgejo/
ExecStart=/usr/local/bin/forgejo/forgejo web --config /etc/forgejo/app.ini
Restart=always
Environment=USER=forgejo HOME=/home/forgejo FORGEJO_WORK_DIR=/var/lib/forgejo
[Install]
WantedBy=multi-user.target

View file

@ -1,6 +0,0 @@
---
- name: Restart forgejo
ansible.builtin.service:
name: forgejo
state: restarted
become: true

View file

@ -1,12 +0,0 @@
---
dependencies:
- role: nginx
nginx_acme_sh_domains:
- code.polsevev.dev
- role: restic_backup
repo_name: forgejo
cron_file_name: forgejo_backup
directories_to_backup:
- /var/lib/forgejo
- /usr/local/bin/forgejo
repo_password: "{{ forgejo_backup_password }}"

View file

@ -1,126 +0,0 @@
---
- name: Install dependencies
ansible.builtin.apt:
pkg:
- git
- git-lfs
update_cache: true
become: true
- name: Make forgejo group
ansible.builtin.group:
name: forgejo
become: true
- name: Make forgejo user
ansible.builtin.user:
name: forgejo
group: forgejo
password: "!"
home: "/home/forgejo"
create_home: true
system: true
shell: /bin/bash
comment: "forgejo system user"
become: true
- name: Make forgejo dir
ansible.builtin.file:
state: directory
path: /usr/local/bin/forgejo
owner: forgejo
mode: "755"
become: true
- name: Download forgejo
ansible.builtin.get_url:
dest: /usr/local/bin/forgejo/forgejo
url: "{{ forgejo_binary_download }}"
checksum: "{{ forgejo_sha1 }}"
owner: forgejo
mode: "0755"
become: true
notify: Restart forgejo
- name: Create forgejo logging dir
ansible.builtin.file:
path: /var/log/forgejo
owner: forgejo
mode: "0755"
state: directory
become: true
- name: Create forgejo data dir
ansible.builtin.file:
state: directory
owner: forgejo
group: forgejo
mode: "0750"
path: /var/lib/forgejo
become: true
notify: Restart forgejo
- name: Make forgejo config dir
ansible.builtin.file:
path: /etc/forgejo
owner: root
group: forgejo
mode: "0770"
state: directory
become: true
notify: Restart forgejo
- name: Transfer forgejo config
ansible.builtin.template:
src: app.ini.j2
dest: /etc/forgejo/app.ini
owner: root
mode: "0440"
become: true
notify: Restart forgejo
- name: Copy forgejo service
ansible.builtin.copy:
src: forgejo.service
dest: /etc/systemd/system/forgejo.service
mode: "0644"
owner: root
group: root
become: true
notify: Restart forgejo
- name: Ensure forgejo service started
ansible.builtin.service:
name: forgejo
state: started
enabled: true
become: true
- name: Sync custom forgejo styling
ansible.posix.synchronize:
src: custom
dest: /usr/local/bin/forgejo/
rsync_opts:
- --chown=forgejo:forgejo
- --chmod=755
recursive: true
notify: Restart forgejo
become: true
- name: Make forgejo config dir non writeable
ansible.builtin.file:
path: /etc/forgejo
mode: "0750"
state: directory
become: true
notify: Restart forgejo
when: "not initial_run"
- name: Copy forgejo nginx config
ansible.builtin.copy:
src: forgejo.conf
dest: /etc/nginx/sites-enabled/forgejo.conf
owner: root
mode: "0644"
become: true
notify: Reload nginx

View file

@ -1,82 +0,0 @@
APP_NAME = code.polsevev.dev
APP_SLOGAN = Beyond coding. We Forge.
RUN_USER = forgejo
WORK_PATH = /usr/local/bin/forgejo
RUN_MODE = prod
[database]
DB_TYPE = sqlite3
HOST = 127.0.0.1:3306
NAME = forgejo
USER = forgejo
PASSWD =
SCHEMA =
SSL_MODE = disable
PATH = /usr/local/bin/forgejo/data/forgejo.db
LOG_SQL = false
[repository]
ROOT = /var/lib/forgejo/forgejo-repositories
[server]
SSH_DOMAIN = code.polsevev.dev
DOMAIN = code.polsevev.dev
HTTP_PORT = 3000
ROOT_URL = https://code.polsevev.dev/
APP_DATA_PATH = /usr/local/bin/forgejo/data
DISABLE_SSH = false
SSH_PORT = 22
LFS_START_SERVER = true
LFS_JWT_SECRET = {{ forgejo_lfs_jwt_secret | mandatory }}
OFFLINE_MODE = true
[lfs]
PATH = /var/lib/forgejo/data/lfs
[mailer]
ENABLED = false
[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL = false
DISABLE_REGISTRATION = true
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
ENABLE_CAPTCHA = false
REQUIRE_SIGNIN_VIEW = false
DEFAULT_KEEP_EMAIL_PRIVATE = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
DEFAULT_ENABLE_TIMETRACKING = true
NO_REPLY_ADDRESS = noreply.localhost
[openid]
ENABLE_OPENID_SIGNIN = false
ENABLE_OPENID_SIGNUP = false
[cron.update_checker]
ENABLED = true
[session]
PROVIDER = file
[log]
MODE = console
LEVEL = info
ROOT_PATH = /var/log/forgejo/
[repository.pull-request]
DEFAULT_MERGE_STYLE = merge
[actions]
ENABLED=true
DEFAULT_ACTIONS_URL = https://code.forgejo.org
[repository.signing]
DEFAULT_TRUST_MODEL = committer
[security]
INSTALL_LOCK = true
INTERNAL_TOKEN = {{ forgejo_internal_token | mandatory }}
PASSWORD_HASH_ALGO = pbkdf2_hi
[oauth2]
JWT_SECRET = {{ forgejo_jwt_secret | mandatory }}

View file

@ -1,5 +0,0 @@
---
forgejo_version: 9.0.0
forgejo_binary_download: "https://codeberg.org/forgejo/forgejo/releases/download/v9.0.0/forgejo-{{ forgejo_version }}-linux-amd64"
forgejo_sha1: "sha1:bd525cc75452f3b64a23c0484d6760267b6b78e9"
initial_run: false

View file

@ -1,20 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
30646537356136323837363930613139363034626263366164333664333035396238663766306534
3635313839343834353931663266613139393534336439360a353563386638366562616163323733
62356361633263383462366539353336366337666430613265386133623062323365346364616332
6538336638393231640a306335373138613266356335383865656666303361623336313965633938
34343765323436393266383065393535646665323762646561393363383862616138373430333837
39376464643561336562333230313437373663316338373733333866393762356562636237313938
30653165336431373661303237623865373738383534336364313434393939346262623838666265
31653238656132303439373533363364643839306231656661373838653039313434356538353638
33326138303534383063333836666135383632316634656334626532663536393431613438326332
66396239383862323862386563633035323132393131343831626165633764646563666535626234
37316630613163613063333132646434313531396531316262653666653334623631353532636638
64333939636635333266613562613135386138303932316337336133313233643436656636643932
36336136656630356137643534303831623432633364636263623862326138383165663465383632
34313833363066366630613332613365363963333239356432376539313035346631626136353264
36663434653331363331373333626335636631383931653366343734356661333566633063626463
31343734373737326430353634353434633030326630316337323066313162393262656132376336
39383861633137396232353265383866333766346232666330623135343566396131326564303064
61613934383561613062333539313633336330366661626637613439383165656364306236646233
303731663765393364336462303734646330

View file

@ -1,49 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
38316335346634313932366466303631373231326134323264666166373261373039333961396266
3361353931393863333363343665356264343638313666300a393066653536306238353538613263
34323335646337313664303561323933313566613561633337386536326462373861616237366664
6133343337303230350a653339646534613130353237373633316136346231666565373938363537
37646539353138343738336538346630646430316537383363323137633333613936643137616339
32663133663362313731373763383636663264313137616533376165636233303566373938353066
36346637613732353362613434646261363135343936383338383662383736653439343464376430
33333861363739613736356565383632323662323232393866353633643163646161663165366237
30396430313136316365373834666138386165346535663830376562386235613431353365326665
39646461653133313862643730613465366336326638393432303139653761343135643138653161
33346263643331376438353466333161323738363366366466613561396230616637663539633838
62633936656435373637343832623536663664663434376462323231653666613538333935323363
35653533326162313836363731656664353238383438636431656362313161633863326236663564
66316331346166303264643638303665346364656637336339646332303562306638316632653639
30333732363732373865353335356135373637653237356261663631373764393365303061333765
66376134633536633166656466366238653763383937643537323938616166636338616135356564
37303632666162613036393438356235616162393035353736346365346162376231393466393264
63346561643732376639363163396534633333333235386362646136356263303837623565366466
36363939663562363431356137323062623138366665386332303231653264373164303238316438
61343437613633633335383038616134356538396432663833386462316234316632643834636266
35376665336432633930396461356433313831346131636433623633643733386464383635613832
64353766326266373433626233656366643538636231633664663164336366643766363434303336
33646130313430613339633364303739666563613236313635383664633361313662313031316561
65613137613062393134343362626362346533656134373162653032336332373462303538396232
64313236613162393035343736373836646266646565663132373462633337663465623865303461
31303235386138323434363831653064616635616535613836393563643132393263626338393633
39616539326130346561613065656165343837353961366566323133306261343236393064353238
31386133643636653938373761336330333965343933333033633239633766393931623864303838
37313937356337306335613365333732313235323361343933383932656535653263663332353237
31613734363536643230333139666235346239656539306132396361353433396339346264303839
31613135323131653365643135653130613361356133303862393061316631323535363833393364
62636530616630323664346533343039653437353937633830316337646536346534323630636632
33626232626466363836393164646163646632373763316635346662633361343034363961376431
63633232623866303532323832346364633430393163336535616633623363333332383935316439
62323434383661326338633463306363353739633831346263323634313136363532643630653464
62646566303331353737663931376534653463303730346334383433633064323965323430383265
35366130613737656633656230663137653562663633383233393639663364633663663338666362
37363930363861623464373638306166366663643737393133316464336130383364313238343832
38613165666132643964343564623462623361363366616230663864323266343935633261346531
65656264323862363936653532393362333261353935353765303232356631383931303161623662
31636636656239303032643563616163646338643238326262623464326535636439313834623131
64363863626532363234366139393262333061353031386239393439386531636536306336366135
33353736326231333630666137626462333832363639353733303933313064393161356130373265
37373466373637363263666463343262363737383830653333366235303034393135633636333563
33613432353165663433343230383563326161633866626565623332386438303136303763656261
65326137376561313530333665303764313132346139356563653631333737356631383532366362
31643539363366386261643862336138656364323938366331343061353634303231633563623639
62646534623836623164

View file

@ -0,0 +1,212 @@
$ANSIBLE_VAULT;1.1;AES256
38343232316262353863376331346434643638303433353964373164646662623163306635386135
6438653666306337636565303133353736373836383230620a613366336336386566666139396133
65333936346662663037613165383036663266623334643636363736643036333533366164643136
6637643536383961660a303730373935633361336232653435616366663465653165623439656537
65363936343735303934376234326339373232386635376362333033643734306131336538303966
64333937653639656166333132386135396539663464386366323362313835656437653138326637
34363466323431343031653562343334643366343538323037633161336438656239633966336638
37323134303932323461373866303961376362323639393037316637343162363435646164343264
63633739346439323165303134343132656133616463623835306433386239353161646666633239
39383162333636663233353161623733336262613837623533356331643862303935393132363661
35366338376539313866636134313266353334313766386331633230396432303464626330616664
38653339386332663862643237663034386138333930623162623230323063333437646336303666
32396639616432653030666164326535663336616264306133633634646361356439626137363163
64323031326438623831383732623634353131363438653930613363376661616234336661386262
65316638316530363737306233303536396536343738633733643133633539326562666538393333
61366661353139663234373631323436373961386531633964356236636564353537366334633362
38383030613330363938306564313634646436613635383661643065373361333464343062373961
38303462613163383963346362316165366166346461333863313238393136646631393036333764
35343462326265343464656165346339353061636131393265363238626564383238353631643739
35333334643139303338376664306136373062653130353134376561613564313836636638333230
65393334613035343831373163643564333033353461626565323037396439393839383164356435
33643036396463373362353239383838333833393132303764383661623237393161373362356439
32336139653830643136333066323362616533633866373564623536656630343237646161666366
32343132626262383937643336353966323339383831396237333635623964393366353938626465
31653239333136323436616331306432343065366436343132353534356433363733346263303434
30366531393330646366366630323736376134303435613035623431323164623965643362313632
63303532623166636563663563353435336665336365383135616131393634313532616130383665
32663938646265616162653539633765366131653338653061643834646265363339396434333661
35356230643461353938323166636132373934663435376639373730626131303633306665336233
64316433643166313665386665366632356437313331613333393565306666666336333535386165
37653863383165616136316434636561646131663666366136323363653365353366646262356266
62393339633134316537396433633437386261396237383136663938333937313538306336343166
61353330376563393565626339626634646430646236663465666465636261353364343163373066
33306366396335356336316533343533323638373234326564643133363263336364386638653762
39356636613933333231333266653965333937666533643763373366613334613436386532376661
63383537383739386633623035376535656564663835643763636233613030346565346265353737
32386433663362633163343066313131303339396339373037663565383334393132623235663038
36373030393738383435663039326231356365333235363664633966663162323235626663373930
62393165623036316438626137646133616662653335373436643734346433383764613431336139
62366264343033386234376164623933343061306234326239306330356638333661333031633266
37613563663732353937336161663335643064666363633962653262653063623763333132303335
61363861333735393162313761323666363532346263623462616531316236303434616236366464
39323866656334343364613235316661353433343366393231373166326433636237383937623835
37656637343638373165373130353839643737353035326134316462393433646263336634346265
39343361356565616538623032366564363533393862356131356265356662333864643536623966
31616339346131623931393838633934633264303939613034383237333935396438303263393164
33306537663238343165303464316132363736663263666639366336623333616334376639613539
30336638353739656362666561303934363437393538333833326466646432386235326131313666
39313564333835366666386661656332666135353236316364383333376433356533363831316363
38306261666261313939343264616362366261653038633362396636316538333132363361653562
31636437353438333864363631616462303032316632383830643438333861366431663934323236
63323962643439386435663138366333336664363938643238353266633637303966363939303261
61336235333332633439313135663832323264313739626463396439373139396665366364313737
35656232633063303138663664383763366264623831653035363538303735326235376439663862
64373365396464666663383630663361346466316639356461373233363763356333636336346132
31646338336432366533323962376565313763396435353033346362376237316265646365383731
61393533633631316166376335653432313865346531313530616130643064363765666431376463
30643762356630653132373734313930623537356261396230363834336338663331633666616630
36623037636530303261616264303331636263393731613737626237636662376462313337636362
63316438386361653065346534653661316366613431653966643334376234363031313265306366
33363534326634623437663263323939656430383234396531353934313735393334366433663663
33653533613138623064313137383166343637386263646264666233323733316532613866343639
36663839376664643033346165656463393634356233343761383738343666323863386130326236
61363065363037313666613364623561336664666633363163393231626335396364323466643236
39623766366431663531633866623665643737313036333365363934313036346463636539343836
38663566613035343661363437636135383933383262643530646339316164333730653336636235
38313064333534653732346535333432313038666334303065653663393734393134343661626436
34343735353739396533383932383135656566323063323461653962326235613461626566613837
37653735626165633365303266363632613838363239653762663462663635653564363334393237
35666139316561613330613063323336643131336263613065383465393535393136613838636233
35333065316132643863343633623737323234623836353338323032653162613736326265363334
35633730376564653731656366623763663962383031336662633436386163333361383435333632
62336235323237303435653633353535326131666663663766356539623761333863336461303866
38363361656461333634303139666638616436653534313839313764356631353938663938343131
66356530393362643730323838313566623064306362373534663462386632623766636139333439
35613737663762326632653230613132623263376530363036366436303934346562363331303532
36633936356137346366656664326261336263636237346237326331646465346466356138623665
32343432663531336561353135303861336366633332353036333230663332363466323739386264
35656461306438383234656162323933656238393265353631643339336434646237363831376535
65663166386464663166333032663461373063646532303234353338373461666662306432313166
36396432376163336635663338653736666231366631646133373930326135393731313131633632
64633637353230636337306339313364336637643965393630613566383530396561323836646631
63613336623238623137643966366531653739656535616666353139613566356366326434343134
61323762643363323236383731306133396631363736346239306463373330353337653637306130
33616366663362393336326162343833653730343836343137363231643434323439336164356266
61386566303430396236333164656131366236343865393864333863373330323437373833316563
63656235623231383938663234363162646237373739643030623538333863306139633339633434
64383566333066303937616135333138303966633838326238346365663733313133663063666236
65383764376533396166343166313733393532346434353133663462303430656262306137633963
36393336363731396538356364376263303031333738643131393138663965336662303264363564
39366531333133653738636131646132386633653064636637353233386237373630643539633362
38653436663138616532346535646633396232376232626134373235343637343430326334643566
35373032353962643262376239643735373130666361643537633939646237363239646233653038
36306663626162313330396435323565623339613164303331613839343463356331616538653833
32303234326361323435626466383430396536613364323462373335353435653235633764363135
38623165636530343465306439633830323764363833653063653132306531336563646431623730
64313738306265366437656637666636313533313535626463366361666134653435313064326533
34343735323635353463393532626261613531336166333264323864366635356330616437376139
63343032363331623366363637356438333130663533623133623932323461366332366133646237
35643466616336323664633635333339326534613733653930613736313738626539323062663933
61366266646132326362316665386631616662323161613938653235373739643463363565623934
30346462623462663963653334373365633235386661363131396261663561646337623966343332
65346238623733353663393839653338656662663330633537616666663238326139346166643565
39376230633836353431323439653438666232313561636338333138633565303333633162663934
39303362633936393663316638666232366361366164333237353062653863633034653830326133
36376631656263653631666239343264366232663739323766643834333038626666313635613763
32666339613465393338356537643033316163343761306238306137616532663466363764616165
62633839376539366138656561653034623565303262313938333239353230633734666337653062
66653562623862343838383161316238303633383930656561633162353466373932303964636164
63623665653935396331353230333336636237643037383637393834643838373166343432643736
33396135363136393133626165363061323265643032666636343739343966343532656530376231
33376564306438393661613336353537643661306536666530643936393762613465336464346632
62316636663063623863356339616539306439653638373366623764333964326139393731373834
36643531376665653037316537333061613136396563663264643363396334313539313335666337
37613934353261383663383166626438646335386336313132373430643433666565636262633835
35663334373932376637656263623634333265333131383039383166356362336630353838633665
34653037376430613831366434383537326133653836613634316133656666366632386132643935
63366131333735303530363866623962653861343234643830626263623261656433633966653531
32396566623737366333636466313833643434383562653631316566383230616462353636663266
64333265373036326461363066306661666637346530396466383762313839666466363465326430
36666439663163616263623437653761303032643139613063393434373436366162643731396630
64663536366134633039663033393936323633643730653638303431356630623239366235356134
34333663366339643236333765613934303661353963646135366332376538656239613634616163
65633464326161356635633936646539613035343334393633663035356564336432333531636537
37353038626266623736393733343065666566323661646665643330333934323335323136316230
32363330326131623433333736343465616434343062363332366432353134373538346337653461
37313032393933363136356231363834636239353036323634376461646266373964373337396664
37323764663633343133616439393831633364333363336439313163333464393633343736316333
63383439356531396633643435643363373731666235653035383338316262323734373738623536
65383832363263663532303333626366343239373737383661323461373438643932386534626364
32326230326238396234373836343364306538643632326665323839353366373937353566393462
38666339646638373132373730386562343734386633396232383962346162316431353531303436
64353930336366623165313939386538623761323137656230353966303130616262313431376337
63666163653938366236333237663563393532386239333236313734363734373964316165336566
33323730643162306366616133303162366137383737346164326432376534326232353664623463
64353837323738303638346564323033346365303034353931376164643532363932636162666232
38303838653534383761303364396338376232363733303738666137363235356661653364383438
34616535666334633234386239323533633561663230313063626436343430613636396636656431
31323864643137333936303835336333316661336263623963386665653131333065336239363166
33333533666236306337656131376231336438353730643531626264356537306431356165616531
33363138363335326662373662616664393333373138343165376462363233303461653965613632
61313662366439366131363661396535616134663333356338303738356135663232316361643037
38663533396233326235383539303430326337313663373266646536386234313236353633633962
34333534616165623038303938626664626232643662653930353133663563343031613230663066
61323662336464373535643235333062663066366663326230303833383639353362633530353534
38663239326131383565383232353435396361613964666362616666303236636235663135383766
64333762313938373565636138363336303635343433373837663766373635313563303839656534
63636464363663306334353362303862313633633335303630623734633934626130643533353036
35663335366230666532343863636263316638613761623030353436303638616132393436613061
30303534363938323635333938623138373234333732373061366234373764313038313362373962
30343034366437313261663332646336366335656538353832353266653935386134666139353065
37353235626633366265396463383639363563633030623037373339376265393131633237643737
30386265353538303662306635313634333161323537613633613261633833323262373836306139
62646361656435363361363537663531386563623237666230303834663638623133666262666439
33376533666562306530653364333531336638356665373038356133396439616266613563663839
63363564316339306239636464323939323631373837383230393331346633343238666430613366
64386635623561386434306337343231643631386561366363303234613532396663623533363434
62623361366466316666626330623839666636653066666132323834376436353235353033363830
62373465353434643932643262643338346334386138346262356266396366366135666330646139
38366632393761303130643865346533313264366265323731333739396263336339373536336330
62306634343965653234643032616438653138636533326434646430633763363736636162663935
64353135316439613636326132316465306238323932386238396437396434323031333730616536
66613932343630333166313530626539623831303636626635316434383362646632646233343761
33346565653532646131643537663666333739306265306336316236316433666264393166636533
30623832333733316133323938373634346634333932353536343364633562653766393665623830
30333138333361616561336136363466393838343930376264376538363034623038623735336662
37656666333964323461386330333163326337646566346265626563613531356338346662383330
66343431646539346139336332346261356362383766326632393136316636396230323734376432
35386165316266353531626531393661353235386236383163346232333935653630373466336636
33316137356633636162623963333265343030313038353139343262323136346563363863623137
65326166666663663831363963656332323737636463613064663831346565666537363237313537
63323830303766616364656666613535376464346231366565353930303863306465323364363635
37326561646266353232363937396130653363363931303862356135653261353438393761353830
33623464393362333764356436306236613235376366643062373036636637373965616465363664
36313734646535353664366563663737623864323230613131396165363932363733356234366665
34376663636136393637616436353666633063613232663630653635333432303965636436633462
35303733303736623234306437386562653466393932353964336266663537666363303835623165
62643439653937323133383766626532326162303631343464623231376261356533636639343435
64306232383666316462386235333530333063343236366331616366626463373464326335633839
36633937616230353338643731386235356461646263653365303636613638326334646632376336
63363865656362633832323761353265353135363937396434396363373237623465373965643338
30613236363833623734636135656166323963396330663533323834356133303964623466646537
37643163343930653131626432353762303262383138386266616235626561626235313865633861
63616233336334316432616166663162353037316465303132643861373964633832666434306635
34636234366234633835396361323764643065353937373936386531363738366138343164313766
36646431616336353961303832313965613263646162363438323039366563346234616432613665
37636535353066346166386362623033643033333766303139643839623731393961613465393566
37366665303138383666396438316134646635643762333263303461393437353936646232363865
65623730626230623438383265353666613463653562666633393861313939643132393336316137
61646130333065326163316261323764343038653764323264626362336536633762393136376137
34323561313836303963306331373433373562623562306363306664653763353537373366626430
61663731326338333139643064326434353039643065643839393833313130326534616639303630
66386432303162323035373666303931616630623931316639336433303434376436336136383734
39383837643264623939373431393064303134633337323761343233633061396461613565396230
65376438626237613530353637623637626636663461303534356436303735613431663363386134
66343161393738623136326162393537623762383961643332323363353164633431646431616331
39623734366636663966303338626532356266316661656230633166333738383431636638323433
61666638363432326261663231303930386630623539306239393534393362653132663861343134
39373065666262313334376265653538646637343039333765613339363633656634333834393034
30353734383935383462613561633030613065366332306236313934393039306664396235643733
31386466653865356266656330623762303539386132303235323739376336623839396530313666
30373539366364303732343236653239663737633832363735383365386261613539613131623661
39363438353866356135303539303831653330373761396363633333373566313665336361613631
66383437346438313361376261363664323838353039323563386639663134366438326262656364
34623038343839633832353362646438353665333234333035316437613931346333303235313534
61306261353932323235356266663861366665666139353638323336313236323265366261373564
33356432646262326236363234333237666533383436303864386662663439326666636461653662
36396434353034636435643630656634623664306339653033376437373932616262346339653362
37336363303861373762646666356331366439303762336236353737623761393037623462653262
38666635386635346130313235373730306466386262666563383238333031373166396634646564
643136333130623965653064363662663839

View file

@ -1,5 +0,0 @@
---
dependencies:
- role: nginx
nginx_acme_sh_domains:
- grafana.l.polsevev.dev

View file

@ -35,24 +35,11 @@
become: true
- name: Copy prometheus config
ansible.builtin.template:
src: prometheus.yml.j2
ansible.builtin.copy:
src: prometheus.yml
dest: /etc/prometheus/prometheus.yml
owner: root
group: root
mode: "0644"
become: true
notify: Restart prometheus
- name: Copy nginx config
ansible.builtin.copy:
src: grafana.conf
dest: /etc/nginx/sites-enabled/grafana.conf
mode: "0644"
become: true
- name: Reload nginx config
ansible.builtin.service:
name: nginx
state: reloaded
become: true

View file

@ -1,108 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
34323936326566323736333732666337623939336363623566646661636633616166383664653636
3562616638373931336339313861663565393038333733370a336630656262373265303530356433
34366134383833613463366332656164383934643462643336333066663263646331653861346335
3837653937326431620a646362626238323963313139326366386237663731313364666633333837
37613661333534313435313439316331303036616638326165663761663063623832383461643061
34396665383561336530343865663734323136346133383463326131383935666535663231306239
35313565383638643931303963373430323739356138626135313061363465666439316234313231
36353864373833366464343665363766643834386533373938303865383133653137393930633535
33393434636534333665396133636532326463666264303137663761353061316165333337616565
33336536373463303966373662313138393233326664626463333364353531316265363532613264
31633031623133396233666235353634343464623066373637373462376664663632643239383662
62323333643235663665303434306333616133383962336463336566646436323837633534363233
36623037376561666236363564633131363865303363653136653939393965393032653733613562
36643939383936383030386531316461366363336631343366366164646637313136383532393034
37623336616235323832633537313161313131393161316239393034373364356463386536346561
32613433366531373633393664653432626661393935343730623936373136393938643564333961
36646666623961316463333430363765323037643630303061383131656266616639613032343339
37663231323339666232663735616261323337646666626633316233633432393637613136663831
65616538393138316632376432356230623535323434623132313738356365613634616230626232
65663938326436383036653062623562393332646430383733343031646665353366366166626566
61343533303462663432323365303531343730633830623935633139653638366331626539363331
65653864376134653939376537336361326365666362373963336266353330313762336161383365
62306638613136313536303466653036623039383961653266313138626434376565353135643637
30616366323364366466613639373264353461656363353631646433383233343033653038313131
39656636346134636138363739376432336138396261376432396434626437343865666131303738
62313634666262373831623335353465643132316330306566386339663665366237333261613766
64663662613964663263623735653262336631616163313433363932363861326330656265396136
62363665623063356436383661323663373532326639363161363834383162323064356334303331
39346161613830316139623365646331376563653532396262616138396632643864326431353130
32313062663235383665383361643935363230393965363434636635633630353131623533646532
33333666633762623636323731633566363336383562636332386562316462646564663936366232
33313934333363653765316237353131356437626162353932663736636562626135346164613161
38303263326163643635653939663864323665383935393732306635616535646434303338353764
39653133303662363830343463326238323537383063313837346338626336366237363338656262
62353430663334313966343731346266336430323731313566323765346231643038616365633036
31373038623635333232313336306432653836366135633137353039303464356661323235353732
39653162326133653766353061343264386131616231323637366530333861656266373962663561
66666130623636306463616164313234366662393161666266386138353966303535383032313465
61376330633564616434303862356433336236636136393163636162643033626264396334633730
39333063363130643037376266393839633361376233343534323530653434656338363233383964
38386466373761663131666330633333623564623464633635343264333166363333323730326566
65613434663665636539383937613566333461333635616332343964626630306530373234613536
66336566613765373338626335393161316431643139616632646366623738626566376465393939
38636564336263343638323930363131613137386236643732646566373464366532653861653030
62626233353964386132343839366561653530666630653762393062663933316366383066633938
34633034653438363931373165343134613837393363666534393738313865633165333763623162
34303935303064343461653565633231306465613430663862333033386138613632333233343834
65326162633037383837656363333031636466366531633430636139333536353165643539316632
34663362306531636136636236333362653266653662336538313933623831613832386161636132
39616136643930343461336138643639346533353563333836396564636265383165643131303132
64396532626561613134356565363833633737303763313535376163653365303832313232396233
36373337373637613038666239313733643131643336616230353130643031343838343239633861
39393634396539386163313332373735376631323361346131346366326537666633336633666133
30626431343431323832316138623266623231626161373034643865653462383664623232346261
32653064646230333134643462653364663666346661663063646236666237626133663836396239
39646438316565643536623239303038663765396561643135373564303463313732386261356234
64653162323336613463396365346362353361393335393964663862313366643030303130313662
39366166636234383861323431613638326131323766633064343431336561323664383164323262
38373539303539643832363131643736623338343461383662383832666331373362306139373238
65326466313536343036646161383166653461376161646638653535383963643733643930396331
61623237363133613661366461353433633865613437323266386133306666623630626665663364
61353361626137633035613735363061623933626439333033623035646630653664363966353038
63303836643531336163663835643132326565346165643630646339313666653534663934396639
33353364316138663039623431303337646163333335643338323161363632356230613861346337
31373061316535306663333063313430646265356332666334333430366364616462343261613232
64656235646561303832616137376261363139313465316635626437643432363066393762393735
66383834306135633664363630363363313337626433366339643436323437626564393132313238
32343730306362393633343931393035326135313036393933383139663535623936383837663661
63333130633937313663656337303132363038633163373666643533633862313664326237393566
38303266343966333462643764313532333461653038353333363636626136313138323132386463
33383436333639653532643838333435656664373963366139656661303163643866663663393462
33363637346531323661653633663736616433626139303862303532386236306536356361306338
33363133333233623036313238333436303762343766323039623635303138363235366436643561
38323833373132343564653535316362396434376263386366306235646266303930376235323261
61636131646433663537626336613865613563386261633035383863643138363964336366623737
30663935316362623361356134336137636436376461346636373433653237646263633166343234
38636339353031396337386439636563363436383763363163383434633232663133333436393933
64663863663033393831623934643930373462353864356532376164636337653233326539663332
64353831643564623838373732363138646637633930333966323333393035616335316532393037
37623830326530303831666165356532363830356333666538343330303863303938343735376562
63356538383433336532376432346163663563343230363264353861633138336238333938383934
66333366343761633463383461616438333666633336363163666337313831626464646433663534
66383938366664313864326662303233633436316261633431333132346362333239316462333031
33383535336466656530393265633766373131326434303132343134376163633834326334346138
64643866343033316233303936393136353461376461343335323863366437303664323531333162
32316361666638623061616333366235383638653465336138613930313262636135363764383233
33333163383935316138363166363830313732343731343835323563373538623930303338393064
30336131373662376234623133666437656362303833623563623064366234333361646133643265
61623165636265313236633963663838326164666536613466663662663632656162386339336463
30353639336162623863616134636361643931386334656161313134626566666435336536333338
63666335323961626663313765666231666336316330313265663365343733393562386139366630
38303834316534323132623133653362373465313338336262396136633535343338313138366436
30643335653564336436623661323237326536343332303930663366656361623066663333323731
34373332633435316334356437363863386134663531326466306365646164623565313766646466
64393161363431343734383865656234313830633531323039616236313435346138326131616538
62623766626664326366653631643636633762373735343434386438323833663230633536643030
66353761333339633431306133373865316464386137396663316336316264323739373164323062
65323362663065306636366537326637353036346330633265363937303466303232323930313435
63356466633935666562356336353138636265633866393438396139326263366239396436363663
61656532633734313462313432653332666337373363333764393735616664663063323537336539
61616563393433393261653139313230666333333939356564303630356164306536346133616536
39303537623364643966363730316562646134643033353866396534323830623038616563353566
66646661633832346130653638356239383061343236383463393632633238336634663537363530
64663361643265336364373530373433383733626139666465366461386535613563383134303164
62373332396333353365363638383263313537626634613663613361346439616163373665633865
62333664326662633862383338396237643734306466613263383033383465363230343461626238
313334653438353734633031356130383163

View file

@ -1,87 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
64346339336236613837353138646630343462393566396332363332313238656631303263363365
6432316633333965323435623032626132633735336465660a363238636536626264363465366136
31333132346163333631633436656434363163626461303839613636633061656133346531323735
6632623736363963300a336131343963376536653430663939626664653439353661333834303666
30346264626161623030373833313837363264616163656463653463346363643266616264663032
34363835353434323436353837643931376363653137313234313032613434336134313131333137
64363932653164363936306631643532303433316235336237613331306634626161326464643736
63653464366130336139663462616536373463326139366364616533353837366237393132333034
62323736616139363539623038393333313539363662366561366662363230636466376566636465
36656536366362363961663163656662313632336435316362323733336531363761633933363533
36323264656133393563626232326265363032623930363735633235646266323661356134326537
37326531643932663032306232613165356362636139643432646330653031366436313032626539
32323031623130643033653735663163326231646332633261343134633632653335623139613334
30373936336463323963346265366538363931313466366133356262386130663964343437366230
38613665323433336361336130653862646564306361656437363233383433383332343039313531
32323138636564386137336262616662386565376633646363326664653762613735656161333138
33633937386263613734316362373734643534343032653563643866383034323438386432623938
35366435326638333934303964616365633839376637323632376361326564333236363331373165
34653562366339633039633762353365373366356437633934353532373632633738363561356135
39316463643564656137363633323435353163316462646663346431366632643533353831376138
33653033373135333761633138343039356633643261383539653937666633356430353637343665
30333336333661333837396438383163623838376335626130656435313738656430623034313936
33623333663966656230663434663765366332346531636664633537343830616532353835633837
62323039646162666131376233626563376134336336646535396631623765653466363062653364
31306331663665663333336238393633343365613538646664663963313233653335373562353030
31356636306232663331653566313362653433616130643961623362333837386639333636396131
65333731323866626333633261386361643738643133303837393134323239323830396432313863
37623531393433323166623364333466316134653439373233316362383136336239303332613638
38313563326435316564623732323330353663323130336334383135656361353131396135386162
30323861313030323835396233626236613665306265626539343364386239636130346362313833
64313736323966626539326566623464663962373162643135313735356334316333353066646439
30323065353638396438343963386166626161303936333766396238646563303033356332626232
38366364386434663835333864366530663461316537633065333331643334626663636231306563
61313238633063343463346234363437626665393064386530626664306566666465613031323862
37363464363436366133666234303763316138346436626535313834663132616239346331306638
39656439656136633461363237336135623466326665363365383561666461346537316432643635
36656330313366363766656566386339356362643361373932646430626163643531356232323934
31343965333265656639306439313030303864663666663266653734386337336261616265613435
66366333336431363738656663356332333463613364336331666364333433323832326161633161
32626162316235343863653032336437646539636435356635653037353263343564643737386434
30623932323138616365666436343861366237326665666262363632646237323439353438306237
66313933626338623336396532353937313230313630336532353639636363316665366365336339
63386366383534313533666532626631396665393239306131633766323462626361366134373438
39323462313166393663643930313965373639306233616634383632353261623838633665376232
36363136373133656261313539616162633733353261663737346134646537333837323834343038
32623835313138326439343362316263353335303463363163326266393837653762633130336532
66323936633664373163643932353735666663313037313062396465653935626262393131376530
31383565336138316234323265363762393365346466393164326566653235373462393233663634
30643735313136386264313362626531613437636434636639663966393539303466663637663032
66333634393562393336616562383935636337366532653639343238346166336163643334346434
34353032636130313038663139333934396263326338346336363331396366373265383631666434
36613531666533333064326363653738623961393237313039363536653634396265376435316536
31346363336563353835386336626539326364303061346162396233393261383034356636646634
33316630666435636336613966346537633930616166636537643938383665346333633664383738
64383030326337323031653737653939343961336532363031313330323431383963346636373865
31303561633330613836373636326131643630636438306233623666326637356431373539316363
38333534613564636331613538626665616634373266383965616435616338636662633535333261
35633134373438316134613039316266373263313130396238626564663736376531336537633936
36396463326562633966373531323963306637333533303163653838623464633030333363363464
33623264666433353766373966336436366234386361333666626137373634663737653966616134
35636336353135373038343466633261343333643166396564663833346331643637653236333265
30633963303234386462626264393630643466623239323032636665653039333333636639613439
62616564326531636461633764653930303163653230343933636632626239316261663065613937
36313134616330363338396238656631623863373566353363613966373039393339376564393439
38613533663437643632363436393431313066303163303663306565323961613064623839393264
35373963366631653662386366623832663665613336376466353865643835653939383163643865
37623762323661613338306631386332633465316537643061636136633530303630643234303664
31323862636263313339613730623865633333616538363634383532643561306639613662373638
66336362613636326533626639646361366635343739656565333239353564396263393265613466
65353937626464353838336263656266656430366530636635643839356437303166313139393433
36626435646462616463356437343162383639373136393437646436346638343861333365616336
30366331363766346138616630356265303163373461643264316465306663346233363532353965
66623538383863316434663739353161313734663465643766626263396234353039313837373231
37396234306566326333393864303162323030376435343133653765623430636161623839376262
30306536383064336663666538663838343666333437633430643232393638633736353965326630
33306233373664636237643663653031343336306631666235313463386237313464663037393139
30646661643338633366353763366136316362396334363632623934393937666533336535336264
62326666326266333832373862356361316264313233306464633531303738396162333033303036
36393239663830323036333663313035393838346366313464353030383734343461643139333331
62373838373263303039313734376533306131626131363932623937653231343831303430633162
63623565613536363865636263663132656661666263656561316637396130356635623764613163
33343564346333633032613339353263343235333435323362363266383239383562303463373762
39316462663038356565326234666363653439316561613636353265363866386561333237336339
38656335306365613264363734326236663964313963343639323466353461313833313431393964
35353561646165653234313333636362356130343136653233373836306136633031316463353537
3137353065386166303163343461316633333435643039343961

View file

@ -1,57 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
65396339616563366635343034643331633539336437623130383531373833386134396234633039
6136346233383030323661306134313938373964656436660a376262333931656164326531313838
35393463363732626366356566613638386338313233656537643761306464383036643163373236
6164666630643661660a303463373731376661663431363439666566613036396163663930333730
63666130363430363633323230663632323531653866636433363232383663363737306365623963
62626664613363373531323966343132396531653530663262303734306137346130616462613363
36623631363330333231646364363938636166386436633366386362613465636233336436356634
63636662326164613164613234373562643830323363653161663462663733623830303963663737
36663437616236343163613939323837366430383665643637303034623662623565636166633364
34343836346539616139393634383466633230343430373033323239616238316461346232373163
65643361333039353963326330383331353866356635336531663564653736666238386432353331
65353832383666346130633439393764336538366639316439303238633865303061376136643864
63656262343637626339616664616363383363363434383633643232623661366661396562393937
66313864393361373531313630633836383964313835363434616366313137663836316132353932
64376538626336313537613333333939353933353138633733333465363266373636353830323565
33623261303131333535653732313135353234623033356664363866386230636431356466386638
62636262636337366334643338643138393831663666336136396536353535623831613262613261
33636434313438306536363430626532653136333338396663613634366533633764613732623665
36356462316464346464663238626531376333306435633939313062346435653637623363346136
38613034656637356639643834346634643762643232353165616234613233353432383434623361
37643165303336313736666536663761373962666162333937623233663061343933333235363332
34396461653764373639323734363835366235616465343232336335323135666338663032366230
61313730623138353532373736346237346266616334643465386465373034303636356231613062
66623461656239623633663864643632663337636265383934303532356363353433323936373731
63323331613863383261666234356433363435623434626564303166386535323136376331313464
33623262333936396234383938306432313132313065663761333765396631616331646165376164
36373335393265666337373933396332323061363435633831623237663565656439643261623133
39633330386132623236353131363831663766363439626266386165613530383736623638623462
35306532306466323061366436616262396566383933626264663038653562656533623064653033
64356433663535323337636234303834303136643563656536326135313839373136336138323266
64643632363264633033373231636464656361303364386635663664626235306465643031333834
63626536393439373035643062383664646234366438343435393539646163653035623139393135
65663634623738643539336635356566343433633066626330363362623763626264656437353032
38616463313263353637353864313335623965646239663962623937323163353834646637623432
65643963646439323262346137333933663534386261356561633631343531366637396662663634
62313832346462333737636136643633346530373264626139366134666133323637306662313230
39623835363862666634343639633339373931316430326237323466343363663263623763306165
31663330363763613935343631323533646632363562306133653839633662653231623634366437
33303131613335613532643936623633393961306366313465333064366664373065663534326466
64646431613934333730643162373863633439643933646532663535656339366636323161316665
32373861666133363638376231643734396539613735366530326237663261383261333161373637
63613730616563623765623538343962633938363436663862393538326666636232396530306163
39623062663933363237356330663136646664303766363132386233393238616434383563666362
65623061303065376231366531323833383231626262646138383031386565373532386361306362
31663533346262636538343533386433353563616430643366656333666337373038313838653165
37313433363332366430353433366334373234373832353466633062383734323339326238333736
31633930353364376361393061363663373034633236316133393961376662326132333337353162
66666637383632326333663461663963363761313363326662646566373563653337306130393166
34326566313465303862306631343831393538343937643030333831323561366163623265343339
34663932656161326261333038383230666161613035613063313235643630366566666239313730
31383038323639356366353866303064646434396134653530643433363438316364386363303861
36663038653037643034393835393436376639393336366535626330383939656536363132326662
66306365633735376362636566303231303836313063336137643032333264356334353130646163
39653762626138616162303039396137363365643232613438333534353061363862326438386563
62356532303136366462633762363530636335376532643830333964323262363533613139396438
37336361313936656265

View file

@ -1,5 +0,0 @@
---
dependencies:
- role: nginx
nginx_acme_sh_domains:
- headscale.polsevev.dev

View file

@ -1,9 +0,0 @@
---
- name: Copy nginx config for headscale
ansible.builtin.copy:
src: headscale.conf
dest: /etc/nginx/sites-enabled/headscale.conf
owner: root
mode: "0644"
become: true
notify: Reload nginx

View file

@ -1,39 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
30373762666235666235333030383830313862373435303263383263386535313430396562383565
3764653433633633373765653662646461326431393534320a633734626164323536626538613066
36323661313536393233376133326535356231326666336433396365633238633831336438646534
6466353735326531370a376466323837303238623666643066646562663039353934613635323632
61363637373861323339626234663263333765643138313637346537343236666361623135306235
62333539643765623363613330343534366639333965346661356135623864343831393062336532
31366364643836643161333035356539346364366331356138336336313239316565663637656235
32343061356465376262656535653139343036353165316662643961633838376431633138383765
65353635613263323162396461343635656565656464313930643938366465303465393336623434
36333430373838323761613965316435316430343230633933346338633433323237373636623061
36643232643839613362363139623666656431386638626665323533666564633536373766636138
65356432643936663564386632356433643361393837643537656337333563663362386665363233
62356138333061663832656161656636383964386235396637323836386233323138623230633237
34663438316364623534313332393864646439393964643435326431636437626364356666396365
36653564663634386231656138623233366664613337303865626638306332663565343734393036
61336664366138356237616337343863346530326461356663663335336230653334303861346431
39373831323361393038306134386463643164353766363732346639353437303436633934326638
62653638303235366238643430343962373366396633343832353336366533663831663536316337
30643561353338343239633966663033383830613030383665316631383665656136663962663062
33613634653138363463383433336564663862616235653432333363346633653034383831623763
66353036363934333232613631616433343836313530326139313665306132656331633262346538
66616465386431363139383435303862376231623536343838303730663264353563393563636635
63306633393236653635366165353062663039666335356634646566396537313162623635396636
62336566343234653763363962336361666331363936383334383035316264303836386631353834
64636266653066643538396639366361383133346136613866393132653933613761643163373335
66323433353136656664373863353966356636633765656665343461366261393537356138626130
64313330623337623732303666616161336564353966386332393064336637343833643463316461
66383636343137633330303566386636366630316131333863373539383734333639346432303835
61666163306164623531376233386531366533336139323537326135333530643666386565613165
61306431623436363535386539643638303231376239353261313034666538363838626335363036
36303262336666623363353731376464333634653730316666376132353930336662336664373933
36646166663630616335336136626461373638393532363264616330336165623066376638633865
62646365323762323463363539346464663738636561666430643436383964616639313939386361
65313362353237636535343363396566356635373333336666376430626338663861393834393137
38306535333331373837646162366164393238396261353238363762646364313838383466356134
35303463633236636232383762333539323938656634353761383839633838373463333134303064
35356636346136343235656631343961343338376639626139613739613233653938646665393133
3033363138663962616430383136333634303331666439313135

View file

@ -1,4 +0,0 @@
dependencies:
- role: nginx
nginx_acme_sh_domains:
- kitchenowl.l.polsevev.dev

View file

@ -1,26 +0,0 @@
---
- name: Make project source
ansible.builtin.file:
state: directory
path: ~/kitchenowl
owner: ansible
mode: "0755"
- name: Copy compose file
ansible.builtin.template:
src: docker-compose.yml.j2
dest: /home/ansible/kitchenowl/docker-compose.yml
mode: "0644"
- name: Start docker compose
community.docker.docker_compose_v2:
project_src: ~/kitchenowl
- name: Copy umami nginx
ansible.builtin.copy:
src: kitchenowl.conf
dest: /etc/nginx/sites-enabled/kitchenowl.conf
mode: "0644"
become: true
notify: Reload nginx

View file

@ -1,21 +0,0 @@
version: "3"
services:
front:
image: tombursch/kitchenowl-web:latest
restart: unless-stopped
# environment:
# - BACK_URL=back:5000 # Change this if you rename the containers
ports:
- "8000:80"
depends_on:
- back
back:
image: tombursch/kitchenowl-backend:latest
restart: unless-stopped
environment:
- JWT_SECRET_KEY={{ kitchenowl_jwt_secret }}
volumes:
- kitchenowl_data:/data
volumes:
kitchenowl_data:

View file

@ -1,32 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
62326630346634323662623536306130313431636136343361626661643839313166643233366431
3462353865323462346264616665633432623336353838320a383636396538616439366232633239
39363865646138306561303037613138336336306263323133616366633839336431306438333037
6134656133633561330a313931373566313933336631333764393532313862666434366261653038
66626461386431613462356537313739343230313530646236653063356261636663643737666463
30353539383965396161306466656639383566346162363466303433663634393461313832666535
62646231333537396331623938613736626265396362666230303334663639623739656637306636
66343962643365646636623764393866303438363530323038353565643063366332383334393266
61376135303931656664623239353265353837306133326664373062393666656432373336346562
34333331373862353732383063363866373635393464643337613234393137313366356131366438
31396638653938636263373235653139656666313533356235353832303437366437656636623038
36343233356137396561373666393962386536613330616236613661363563396461663862643335
30303764646337623430643139373430376132346536633366326234396236353532303233396331
35316366626436316534366333636431653037323239303062636564623865326231396138343865
62636630366634623935396165386266623133373363653536306232333436326132383130303166
32353935313639303139336134303861306561646361363835303561326536336465306636323731
66323961623031653965653832396661306532383835306363393135333338646565633335303464
66333766376162373165366161356666386430643065313961373565336230343632646236303163
36386237666234386663333261366631316164333165643930303962613137613436336437656530
34653438643031363430623066386339343036663363653365363662636533633832386661393636
32653830623436626232636135313137653234386238376564613931643435316562333836653766
63363832313130333462643032376266653331393265626239643439303737643730346636643037
66316639383938393537666163626630666161353832653066373963346365613661333637303431
65363464653934353030353731306164323930306534393762656563613430666630393634613239
66343866393833656630323837303664633765636561623666303261393666643564356362346532
62643163336539386331313032366632323137363133636363626433313836346530643738316230
39656361303363323535323762373139363030306630626234343931626639333161363032383361
37346236636236613436306465636266653231396562356136656433326263663237623635363238
65653635663335333063373133303362336665336337643235356234663330356534633835313561
35663036656638366336326334386461313663633662616531623738393636323563383738363734
636135366236373762303134633935303730

View file

@ -1 +0,0 @@

View file

@ -3,85 +3,6 @@
ansible.builtin.apt:
pkg:
- nginx
- certbot
update_cache: true
become: true
- name: Clone acme.sh github
ansible.builtin.git:
repo: https://github.com/acmesh-official/acme.sh.git
dest: /home/ansible/acme
depth: 1
update: false
version: master
- name: Install acme.sh
ansible.builtin.command: >-
./acme.sh --install --log
--days 30
{{ "--accountemail " + nginx_acme_sh_account_email if nginx_acme_sh_account_email else "" }}
args:
chdir: "/home/ansible/acme"
creates: "~/.acme.sh/acme.sh"
become: true
- name: Determine if acme.sh is installed
ansible.builtin.stat:
path: "~/.acme.sh/acme.sh"
register: is_acme_sh_installed
become: true
- name: Upgrade acme.sh
ansible.builtin.command: ./acme.sh --upgrade
args:
chdir: "~/.acme.sh"
when:
- is_acme_sh_installed.stat.exists
register: upgrade_result
changed_when: upgrade_result.rc == 0 and "Upgrade success" in upgrade_result.stdout
become: true
- name: Create cert path
ansible.builtin.file:
state: directory
path: /etc/nginx/acme.sh/
mode: "0700"
owner: root
group: root
become: true
- name: Set default CA to letsencrypt
ansible.builtin.command: >-
./acme.sh --set-default-ca --server letsencrypt
args:
chdir: "~/.acme.sh"
become: true
changed_when: false
- name: Issue acme.sh certificate(s) (this will sleep for dns_sleep seconds)
ansible.builtin.command: >-
./acme.sh --issue -d {{ item }}
--dns dns_cf
args:
chdir: "~/.acme.sh"
environment:
CF_Token: "{{ nginx_cloudflare_api_key }}"
CF_Email: "{{ nginx_acme_sh_account_email }}"
loop: "{{ nginx_acme_sh_domains }}"
become: true
register: issue_result
changed_when: issue_result.rc == 0 and "Cert success" in issue_result.stdout
failed_when: issue_result.rc != 0 and "Domains not changed" not in issue_result.stdout
- name: Install certs to nginx
ansible.builtin.command: >-
./acme.sh --install-cert -d {{ item }}
--key-file /etc/nginx/acme.sh/{{ item }}.key.pem
--fullchain-file /etc/nginx/acme.sh/{{ item }}.cert.pem
--reloadcmd "systemctl reload nginx"
become: true
loop: "{{ nginx_acme_sh_domains }}"
args:
chdir: "~/.acme.sh"
register: install_result
changed_when: install_result.rc == 0 and "Reload successful" in install_result.stdout
failed_when: install_result.rc != 0

View file

@ -1,11 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
65643762613331353263376538663762363566633233373739633564363231613439643136666666
3664663263333137353539366532363732383066303038320a613239616263393161656131376436
66383831616562343064336236626562376332353932383764613063623831626163333339636539
6639323862613938610a653861323635343864646239306530373537363939353137633366386131
30333030646638333364303737313537316436343463316461363665336232323030306134353161
32323236646663326332623763303336633735633533303466653530313532663334333039653666
39633738663837663736303161373436633732346266343439663430633063396538343064653965
38616538396166656538366534633265613730383731366235343139346634336334326165613564
32646134633561646234613539356565656333356337643766336263383634396666353131306166
3962303462353333386634623431316236366533376231313166

View file

@ -1,150 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
39623865383539336631653039643033353530636532393935316365616466623031326365363462
3066353130616563323033376530306230643938306263310a363232633732366164613364393530
35623039356463363037343435636131653435343035303836306365303837623732353665393130
3762353866613862340a393864386434646664313433396237653961666431643633613538393366
36613232373632633130336333343532633139363536303130383737303536643036383165383036
32663366313733653431383766373239653836353936636466386364363737323835353861333766
63373830636132633766656162353133633463643938643131383737666131336139313062623366
39353535653131663962326164343834376434376334623962393566616534343865353730646366
31633632613131373966346531363564383862316636383436303239623862356532326234613137
66663430356633616166313939386366343661643337373763366263616164646663663061336632
35333335343864306162646533376562323533383265353537373363616137323464326139333933
30356432383838333965633661333064313833353266363763396636646136313130656237343361
31373166386466313963653636393064646232383034616330333162343336373763656561353232
37633032356465663636323563623231316666623762376565316634303238323865626632646134
38363437316331613737373361323066313434346436356632313361633836643430303164653562
66333562343338623665623037376236653631323038663766323033346362623337326537613833
64613861636161643832393261366362313932666132623461616536616633333161326532316435
61356339336534346533393135373031623763386661626338343735616434376435393564656464
33343061613566313166663130383038653130393636393564333438663235623064373132383732
35343466363036346137346133623330633138373763336138393233376336386634613833626362
37396466303436663234613538323738383637346539336137323364613838633566353163366431
63386266663064386531313130333435613835393463666334343464383536393132303731633539
39663131323535373839373230653235353337626462363030613538653664613863306436623537
39626466343430306364623430656133363564393932656335303062333232653335343330666339
32316333323233646565366662373161303033393238346535383039626534633531633237316131
38383663353733313164616461346264386461393133316566343432653136303638636438393533
66393661333864353162636161373965633435653362333837346330613237316633353037643966
63656136336432303035373233613133313962623065383431336236306461653264323634616161
39326231306431343130623066356235623832646431623834663035343131626434303161633938
64393962653761343663316137376365353731653134316235386436323963643638333231356636
34393735333362666436353739626565306538666436366564653830623235303564373536383633
62636434333061303937373031303738336334333935626261333231613339363737646138316665
32356339333861333532306465663665646633313731643061646465366162623163356430366364
35316138653533646339643639396436396338323633656566623632333136313134353836613038
39346638353063623531636232613339343763353131346361656562336335666663613730333264
66303231666238663563386534653432663839313264313064353039303533363736316465366633
63636534303361323765653533346665663961336666656265363137653731613565653938373830
61313339333436363863383036373936343737666161636135333839323562386334626136336466
62643134396638646561643936396234623532653436313533353439616334363537326234633939
64646238613235333563333461366638306332633461376438616662343838356334373239343061
61323433366438393038626235306264313966666433633639316633363539666632333161323630
61333139393565333965316435366163356465656534313766373230383763666531386634656136
35326233613037616632643839323336626261316133303063626432326632393462646662313061
39353933393333303261636434653665386563346131323466346637363431626163663539643765
65336335396335663935613862653031363639343333666337363139356365643832323234663464
37623361336162613736643465353839396165636637363436313961306637386434353237336336
39663338343765626638623263626338336335373264303063623039366638366338653065346564
36366532303639363437656333373231333136383762393532666233633031396666623138666262
30303934383335366630623265323963373730306463643635333264303463333864363739626439
63613039363162393032303263363235336431646431323935333164623261386239343562303738
61316263323332643164386663653034386130633662623164663465636466393931636638353031
32366230383066613365333938373462363238306538343236326162363632303337623965373330
31633232393339313032336563346365373661626466386435633331323236656366323866303235
63346563366337663831613633393538663633323835376165393131396565646134393763346232
36313438303264346430643535623762626262323965313462383361636163613466343666303234
63363730373037386531316535623764316332633338383064366233653666663739383139333933
64613164393135323831613066343631356139363337316433386466306464373130383536613539
32313535393833643937333736386462636636303633343832353137653735616531623363396634
35393866613936343662323333396564383464636433653665326465633734626338613663333161
31353230316639346436363732376138316466633463366239326265666265353964353238386632
36636562396463396538303739626436386532616131633636346561316464303536623830353862
32383339343263623832643161633636653064373836383862643735373838656434333861346263
37386138386335626164306135303538656361393362613165386130346635626566323137376266
38623364376230393635363538306439653262616636393063386339326661383463393166366239
34623861393833336164366538353438656234333837643032313434643835366463633639333531
30653462656232626337383866383634633363613833373136383933653462633932656331373732
30353963353334353662653031643735393336386137656563343730613261663933663566613330
66313838633833303836373763386132306334316562636361356133303535623834623466383964
34393465613236386631363230626538313338646234623635333138663266393061303536653637
64303464633532383237646234396631663663373632303763633561353830316637366334386165
64613037333531623662636665353739353230346462363334363534373865326237623032653534
33356262396430383434353463303830326364633430363530343133316331313131326339346333
36623730626130313763326562396633633065323538383666623139343338356135643463633232
30383364396636386135363466303564336638613239376563343364373238376631346239383163
35666164666663386437333661366661666633366234326230633930663939666265613937656537
38656262313338623537353037653966303666316264326138616365333239346166653131636161
31643966656562326636356332333866346638383333336562363262316539643862653039626264
61396161393139666432363639373063363037636537316532386434636535653433613033633261
63663138656365653833663038663765626632383863623531646436313836366634386535323936
32316636336239646162376238313832653661306466636263633831303763303534386333623764
37663430363163633833636136656532383861643466623730656363326261616636383531326664
35633464393936303263373965313637386238643438613832653634383639393132323339363436
31663462656234616665653461316532343462623339633663356661666537346162396439383838
32343733336361333563633263636663373436626462653739633165613866336362653531363437
63613561303430626165326466643630656537393137653762646239653366356565333165326339
62306661373165343038336638653763343436363135346361323565343730623866393633363361
30613136356537323631613363636264376163633866663738626135396635316362393536343263
38666333333965666361366334373330633939613263336238363737643335613230363362383431
36646236393134396335633534383438653134666163623535346634636263363965303634353633
35666564643237376364353436363162666563613661333362363735306364366433653565393966
39376335633432303231383732633764626531353035393338373738333763633263613761643633
35306135363435386563363263663337663733666363353238363962616366393563383361323138
61343031643837363830373066346166313532313732356139633531653762373732313137333964
32313635626562326463326166386263646631613731643733306330383861326432323163306130
33366464366430393732393531343234323363363237636666616432613163373038383162373438
32393361316239346465333933396337363066663461373736663662343636346532316666323763
31363135303964376163333231653536643339326564353163666134656537353930393333396132
66363231333438353966393364306361336232343963336232336532616230363532613263373631
33336431613063316130653132616130623231396465363061373338613239363166336637616434
32616230616561343665303563343963643261373561363330383962646430646264363537333935
31646237333336316336323764373739343961363966646236393538303936613762306138653530
39326432373231333433366136323061353438393730663633313530313264306137323130643463
32316438373461363162643838383164393666393066666131626334356437343137343062333633
30313938333662326330633431353738663463613564333762326538643062336363613463643234
63303466363161643664326433356438316232336533653265386535323034363233383735626563
62313262343966646163333866393261353636363931343964666634326135363337323133356434
63353233666666386564326334366633313030303236633863366166666530663934656235656166
37346538663535343836633233303662666238353361373565336332323637346630323362346262
65666335376533373137353236663866396363653331623566636162643537656635353463303134
33386439656162356630393433393262636534656666346434316166393533626362633564633964
61333032353565316130396263353765333438333465366531653766653062616466623461646237
36376565663038656536323032333135643762643164346635373963306333643538613030343761
65643635356637343963616436363432356362386164643638343933386336336131653564646637
34663363656664366632323862393338333063663932393137333564633633393462326133333564
33393232313739613534613666303535626635666230666234363066376465306166343964656234
61656136323763336233396466383338346265343766343434356566393664663261633839633536
33633563363638363364663738343262353235353839656131656265386331623033343436616566
32336232333464346234316132313336323764313165333731323835333462323938626232333563
64653737306563663861343332316234306532383339643766396339666262336162623161396361
36306132303139336164353566653865306336663233306434316464306234323066383364333235
33643830356563303839343966643136356366643765343631366234653835633165383630386134
34303033373132353931643132396132316339653939313962393037623131366562663031346238
30393036346532653530356665386665663034663637383364343636353861376361343739363132
65336635616565363964653635353132326233656262316334353163373131313933646233383564
63666333643133643262393932366134663365396333623930343030663536623436646630346363
61346262333265613162393637663762336465366236623461396534353435363436653037366334
30326635663232356665396662366264376466613030393463393432343565346631333932356331
34613933313166383165663139653761646563663637373666383835343361656535343363633333
33376361393735653866346663663630373063633932306363646536643066386531643937303062
39363565613735326364303963373564643137623131643339386362626561373538346366396433
39396161653633333830663731666239333237356337316534353165383434313935396563653331
66333363343133613861613034336265393362346131623736326436653066326333383064343832
63323934386636633034323965383034643437633832636430316265616663666531613233353332
61343330343633623035393136646335303764333739623130326434623633356666663330333130
63646338303663353532383564666430633061363061373434653233366234616164613637666633
63366431643965386235646565613930333064623737633733386563363165316538623966353563
34373231613235633036383837626432303134306138353666613235396637346635633564613265
33346665666639326131336661313266643239663036323865363637363639373763393536313239
62646236613330333935363534373766386631396337353639366633383136373538376230663864
61373939616565336663383430373034343430356630633932646264636566643331316632646139
37633639363038393939636135663265616266383135373034656633353138303639306361636439
36383736383236346336663836303637343466333039643862316639623935653632343430636334
65663436626363373337663561616435316565396164653334343833353862386563333532653330
61323436393539376161656634386661353930613534656236343439333434323262383339623036
35313033323666393338643364373464616433313465363734613761306639333561326663396537
38636136353761623264303565353161393265653038636533363034393735373433636136373335
39333331343232343633663137336535636636316365623433313165323331616438653166373565
61376437346238383965356332313037356636353936653131353134343938663962393431626631
62353063383433336334306231393232353338313439623062366330616136636638

View file

@ -1,6 +0,0 @@
---
- name: Reload haproxy
ansible.builtin.service:
name: haproxy
state: reloaded
become: true

View file

@ -1,22 +0,0 @@
---
- name: Install haproxy
ansible.builtin.apt:
pkg:
- haproxy
- fail2ban
become: true
- name: Copy haproxy config
ansible.builtin.copy:
src: haproxy.cfg
dest: /etc/haproxy/haproxy.cfg
mode: "0644"
become: true
notify: Reload haproxy
- name: Ensure Haproxy started
ansible.builtin.service:
name: haproxy
state: started
enabled: true
become: true

View file

@ -1,174 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
35306361346562643630613962323532653634613033353232633434343361386464333833626633
6362353364646338656538663762306533343166376337650a316163663232353035393539356135
33303439323031363438386230663532313136383531363734643230623039396262363131386338
3138323033633636640a653338353336353763636436663334633036643730363761623338363262
63663330343361633432316130313337653664656162613665643634353537626132353266643331
62626431636636373035383733383864386463393130326264626331616637343732353932313266
35333436656463363165313863376134323934633338613332306331373732313365633965666238
35343138333538613837323030656634626561656434343033633332633039663237623438363462
32363962353861396333663566313938313730333261636363343061373335316333613733393239
37356133376430306630386435323262396164613361646331306337656536633065383561306336
63643833336136643134616331353631393761326632656362663436623464353361393339643132
65613466356134613964386334363739323137336633613965373230643537356534643237636530
62303563376139393063623565663262383639613764363039366562653933343661306262393966
36386335343761313661323165396332353738656136306439343163316339383762653632343336
33303430363636323362633061383765333463663039313033626537393666616339303534633439
36343338353963343633643437663933323832636431313435343638613138393366363031656531
38633435323736393064313032326165326662623862333138366637353565636564643964666431
64646136353161363733383139643639303539306632626635303432343864326537396636653436
66636138363639326133656635643237383733613566663161313261373966343035323463663438
66613365653531636264616231303535623331316132663962663964383134373331313265623130
31386265643636356165313036303163366636666163333134616432616234346161663336313638
38313033366564363265363434623633643866326230623434336564646365353664306632326666
31663564353166386238613166303736643033393438363164353961383632313862383565636635
66656632396136393036663939353961326638326266653664663035393862636634643365613963
30393836663738393138383738656139346238393030363535333134663734613139656431646339
39643462386136306430633138636334343363663835383062383161623762643934326166633861
61633863356432363932653831386137353131363562663338623561616431646366623262363436
62663830336632373630623666653264363065366361356137633038633262626461643333316463
35303232353637616365303333646162643266623738363462326131303665376234636638393062
65353964613561653138646135363633383732346633383336623231363735386165366533313838
30313837313366663364643936633631323666396136366136393263313230353039386539323035
66323739393934323635383739336538343230666232386133346166383866376538666464386666
30633838393061303535353936643238613032306336633834313332626331323164616237326362
35373533303533353536393863353432316361323163393233386561316531353738666234653835
63316461356665323739303430613363373832626338643431386637386633373339313663346166
33313538373766623736643666356430646161383066333031646634333361363463666337643233
39626461313337333031363133343939633131373963616364306331366434326331633762633939
38303332313866336363623832633638376266663639626237353038363534643361616535643061
36363664363330366233653561396630303062653864393938316134396237363036333730656631
63326238623965386432363963623935363934623439313235643263323030373162643235353265
66323966383632656662303836376663316234346435623539613438623032333036373762613362
64313631366235373534383965333637643438363338613163656138333864613131353530333535
36616535656539636436326537333935306436616338633934643561643638353133373337663865
34656461616138386634613063306137386165336365663766623638643365366338616430303166
38663931386333663565393034363934386661613163616631646566656538656531343766373935
34613662656136343336636562393265343433333434313635303439363638646461313236303962
62626363303261333533653139313234363765636237343637653837396231623366323238386462
38313239343439383565363534313565363837323736663037663134353539616265336564386133
32666465393061333462363136356134323261653932343065363334396238356139393934623135
38393464656235393436306664363233623432396637373637663339613935313933613164633264
34363139313732323636616138663437616562323561346431636337646530396563313639346533
61396465383731333561666664336261633236393539666438663536383562646633363635623963
35653139386638373535393038326665313333623161623038376365353938663532653338336138
64373965643234396462393031643330316662343338363262336331373331656639346666653138
64343561633563313236663134386562313432333339633332386230343437306634616161326532
64646638346332373962633837636432303735316238326366653466383564663935643236626132
33663238316239393262326137626539633530653636396232646165366232643430306339346661
61336638626632623465343633386132343265343137643430373232376564633363376562363135
36333536313032663661646565333138313733646530303037623835353466643038643432663030
37666466393431303135316334396632613763656133356663373263643964663230656665323533
39363630343236633335346431356562616130643364376632393034303030316164313964383661
65633966356361346563636336316565333931636266366265353161666537366638663036356238
66326266333265643235363361346664653332613963663766666534373936333363386238303863
32616564646165323136313332653434636164373363656433366230376339663161383664316333
34346363336437623031343264616266653431346639363163663334636537613533346363643731
39613333346439383639623763376330323461666137323036366236626134623232646563373136
63363436376666353163366162633365613965356132623633303638316131666434643235346164
37643364623939346333376666316436616233313265396162336538303162616464313066373436
35613036336261353331613039313966356435343734313161313039613135383532656263323464
64353066383433346135616637356535333630326137663033623531343161313363363839336564
63336234376264306666343162393866376331303438356636363036343931366562363936643463
65623261646636366464366166653339666139313538643837616131336161323133653665363861
38336464353062646464613061663338323736613362373362646436306263383134663965623764
30616561323635306566643039303035646335373361363361373834313932646165643762366437
39353137623465626665626334326161303363326461373865343865373337393361363730666336
30323939653866653832646232353266363033396636386537396536316635353563333635363934
61383865326463646234656635356237376337373339306639336238613234396330666335393266
32633765386431343730623463396138313537363063323662383561616164613364373339623366
38353965366334356238303735633432613861353334646239326534613132333336303634663363
66646135373733646530376564316332376130313139613138353062313338636339376438313962
64646437323534316237643763643439643839393233333261383630313432663030613637336535
66623830613135663835373934383262626563653738356335386263616136663962356264653638
64643961373664663737366563323566646536313663323637356637383561316330366263353738
36353630376139373239313238313235313635666235653961633162653639323566633230303737
31363763353834313032326666343332363061653033356563373033323234383932626561306630
63336433616534323630636336376366653337346539343038643532333932383261653438653933
61373833643734346464346132643861663663336462356335303561303562363561383038303039
61653133336363303430346135666137656534626332306162323937303837616262613066313838
62363837373263623338653238353135373764323330613939653736376461353133373466656338
61313664323361306266653863303339303337363361623038363162373266343535376231646134
36646266346238376136396563326639313230313534326133336337373637366164343330396637
65373830623833623130663430366131336138623034613135326439636162623066613763643464
35666661393237313736353935363964646137626165336639373162663530623831613964636636
61363539303435666263626262623234616562333938643030343031663733313031323862306662
31306536393835316437306334323035393036336238633766643831363463616331656264386637
34383139343863373737333963393736656134366163353033326635363937646132386137636433
66636337343935346363396133396163613166383130653064353137636263353562363339653761
61323337633930343864306335306566326432393065393463363962303333383533333133623462
34373235626262386461663239383734313138613262373563303266623735666438306333323739
63663833636538356436383837336331316166326565313437333661383138363764306239353062
63366665393465656466313633323831643438626262626666303664373065633163323634366664
36613436356564383264323139383237363666373866636435653736303739316464353432323861
37656433356330373737313263353166326239616138373935356635633934376236313366633963
35623333303937363738626534323135623834623162386561626239336536386562653637363965
38393038313234663334633465646534343736316135613230626366396138393434313266643932
32373736306235643762663835613937646363663361393130323337303764633038383633646631
30366166366364663132303137383132316435633336643938623135356364663762303264306132
65616662663537663731643330333934363335326530653765653138333063666165306135313761
30343630373539303932613632346437633764633762613435663736393031626339643464383631
37313566333261356136333163313234623030393635333063623462633234326631336131646466
35343436386561626632316565356435646137633030363430633034623232636435393335366164
63356237333730303539363762356664613562393033646231393635393163656164613638396231
35383265323137633332646133396561396463306134366539623461396364623931373038613536
30643135393761383937313638626539306162336531323936323631373230383366393564343135
34346664616236623166343764363632663163643136613436633932663538326532653533353864
35363232613966323436363235343833643462346537666230363662646332366466643439616365
32626261343961396633633832323263333136643262383830383963656662353834363231653766
30623565373732646662373835373835366333616532376261383235633736343439653431363539
36653062313331326465363735336532653461333964656331316366353336336164336334323635
33393330356334646338663662616233613361393966393365663132666266333839383936323933
63316239613732663438356665313366303765393036363636633734666535633965373735663865
33383030646166316230616139373737663336323335393238353637336233346339393666666666
35666339653066623838313931663234393766663931356365636533363362323534663265386532
31366436643364613331643935663561383132626663623064623263633061636639343130323332
62366364343266336634316663303034366337356535643832323937663037336238363264363732
30306562313066323930363438373730346363303031306463643566323439333465616231333430
66656136303535656332396236396563326264653133306631373031633565313038336162343163
61306538663930643436643666333334306566383131396336616435663438653032386161343736
39336233646431663661336465373234376663313366386532343338303665613536373033613866
62633636303661343738333330633161633937333535336333333961326661313530323834666461
34623066303838653733316235663436666438306463343663343730313433356164646530346432
33316534376662386365613931633862386261343763303239343863623336323335366539326564
31393034616130303731323338326638636631613133373463383238383563363335323864333431
62393930633962623164633934383639623439366661636138393832383637303662303539626330
66616534623930393064626332663835333033393966393933643065653966303235643336323731
62396564346433303330636663383865323566346265663361323038623230383037666636306466
64393738663563393261623162376339666634393039623461376532363061313434373031326639
36313435663038323062336233343732666265316539313163366231633631326536643131366666
63393336323335666432373965333061333630656235633733646431386566393539333064306439
65303762346434303062383863616233363432656565653539336166663865663166666639633665
65396435386462653361386234316135643734656463333865376265346237613463613361353231
36326562623836613764373936393766393666313733623938336131323766316233366432623766
63646532656431613761323961313130623432356331303332346264376163663466613464656430
37396337613930666332343636393032333232656532396237356137383565613133346331663830
37383133336366393836316134646463393237346536663435663031356163613031663632373865
35373138306365636334653161316637333466303139646163333263363266306238336166356431
61343430326562636663613364663763343939383031306337323035623662353733366138626433
31316131383738636436653038306265633336616565316337356136313762306239623861613464
62356262346463326365633637383631393034666335643462323930323236303565376161656538
38323062383231633235326536393466653464656336366562383531333266373938396466313737
30363433636132353035373437613530646436663861653534356265363830376433396565376536
62363036383032346139356632303530326234363832653536323538306339353034363435393539
32383366353437623637326231626261626666643765623932396265343162306632363163376663
31313336376534663138656165316564643538313134386337323262313639656563356439643635
66656262653838653234356336343937376336343734623165633263373361613536646466643635
36396263383132316432613966393331653035373466636334393437336437623539333462396131
38666565313364343533373364623632353163373931623565343532323163663030306335613662
36626163383333363439643862653064303363393261383962623737386433353830343439633930
33326664653537623162346531623562663138306562626362323063386463366530363733376436
34346166623264393033376233346238393937656563313366326465346435353333643035636533
39623966623239656137666131666534613230363931393463393039306663653832613864643161
37353534393534343236343762373264353137396533356331663661393162653566646233396235
62303936643166303137663762306163383063616163656664616133636638383834653433326365
31393734616362633663663836326430373937353831613961636438313031343631663536316135
30363165353062653564663961313032356565656339653038386532363863323632653139346430
35373063373430643564616131373234326432633562623166396463643032613361636430663132
64303565313237363836323133386332393932336461343735353432653939333434633634653537
30366263383930386162376134363434306534303561396338633137303339656436386530616337
63323163663964386334373232396532343234326331363130643830386362666166383039333739
35653331393364313639356261363030303563323036373364653832306161616331353661373966
62343361353366396630333838323938623835366636616564393130313831323266646465333233
32356632323732393637303063623332363632356633316636383333353164393837383530353637
39386339363731643864316461333231306363393230663965623366643566663436

View file

@ -1,31 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
38373631373063363437653366653066376265613335656664366539303937643435303764363966
3836303264323836613962383062376333316665366639340a373430346535623166326538653432
62663861656563366162396333323136363364636437333563336334303264313833383035666430
3665353834363937300a363239626630663531356431396533626339343263613363373432346431
61633933346633353764363861316364666639393165383831636335636135343665333437363239
37393237663235666636353434313231633936313536393231366134643864323533366434663533
35616664386665646266633334663563656136366465653138313930656166663636373837663137
62616339626463363664376332313166636165626330346533333165306337613239623635343366
39353934663439373635643832316231643764636639326332656537383435653035343131306465
64323331643533363031333430616634656161323234396663326339663334666130663364626133
31373132323032376230303332373364316535373235623332343339396464306439303063613632
62333133613834366339616339633964623361356233393465313634666536373964626465346662
62643136366164656466636332373438343435373432333235303435343062303137346534356233
30383231386637373831316236633562623761653833633834333238646430356235663932393638
30646538643930623061396162336636326237386633646433663136356630653838313536323530
31666136326639616539663433383133383062343434326564613936663864323332663932616632
63613030343564323363363066363232626331656262636530303536633132653738656434623338
64643232356461396534306665343164363961346262623235633064336434373730396539636661
39303334353636343438626363663930306438656438373032633462323232396562623835353961
33666461626561363438356365393966636461383366363431316135363162653431656332666534
31306566643130373334646161666566343338663337363431353264303264366465623336633138
37313062333863316235616636663462663239643130306231633037323935396665383165373264
36393531343766373666383265363363373634383665363761353065623335333761343639333466
64366136663136373038386335346565316633623830306464336538616566626634363364363066
38646438623531393033393561356639616635393030386535306535626462346238646564386231
64353064393434616661623063636130336166623630376132376233356664663263656132316561
65313731656631353961623763313631636435333464613032643162303564316236656431303963
61643065336664336536613162656232633237653865396132663063646665623939663464613033
38313136353232386531663233363636633331656366306136616432616161336532373964353565
6566363033663537633130633065646365623665356531343333

View file

@ -1,17 +0,0 @@
server {
server_name stortissvatnet.no;
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /etc/nginx/acme.sh/stortissvatnet.no.cert.pem;
ssl_certificate_key /etc/nginx/acme.sh/stortissvatnet.no.key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
root /var/www/stortissvatnet;
index index.html;
location / {
try_files $uri $uri/ =404; # Make the server respond with 404 - Not found if requested file isn't present
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View file

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Stortissvatnet!</title>
<style>
body {
margin: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f9f9f9;
font-family: Arial, sans-serif;
text-align: center;
}
.container {
max-width: 400px;
}
img {
max-width: 100%;
height: auto;
border-radius: 8px;
}
p {
margin-top: 10px;
font-size: 16px;
color: #555;
}
</style>
</head>
<body>
<div class="container">
<img src="image.png" alt="Placeholder Image">
<p>Stortissvatnet er en liten innsjø i Lierne kommune i Trøndelag. Den har utløp til Tissvasselva</p>
</div>
</body>
</html>

View file

@ -1,7 +0,0 @@
---
dependencies:
- role: nginx
nginx_acme_sh_domains:
- polsevev.dev
- jellyfin.polsevev.dev
- stortissvatnet.no

View file

@ -1,20 +0,0 @@
---
- name: Copy nginx config
ansible.builtin.copy:
src: "{{ item }}"
dest: /etc/nginx/sites-enabled/{{ item }}
owner: root
mode: "0644"
become: true
notify: Reload nginx
loop:
- polsevev.dev.conf
- jellyfin.conf
- stortissvatnet.no.conf
- name: Copy over stortissvatnet
ansible.builtin.copy:
src: stortissvatnet
dest: /var/www/
owner: www-data
become: true

View file

@ -1,306 +1,306 @@
$ANSIBLE_VAULT;1.1;AES256
37613430303966373261666132643933623163613231666361396134326564313062623465633632
6133333938623562633861613038663664646166353064310a306432633930363731633638353237
30333964653735323235346330666338613532306166393561643633396632336334366662343637
6566353936326630610a623132623262366338353264346338323062386437663734613232633834
36623634313932366335383537333536353931663639626566616239303964643963353934383137
39303266353537346331353933366266363962626531663066623164376536393863316134313166
63376634313835346161353239313461656662343665373930666130353365653130646264626365
66393764316331626336386361653131353038643034336661663732616661633132386231663734
63313166393466393839346138643966663966646538653331313863363434663837363965333436
34383935646233306431643065333231303931343665373332666162363937616537366630326333
30656530636135633436303737333866353362333133306363376534633765323861623630356465
32653937613464326466343462343837666633356465393861666136383964396236333464613637
32633332326663333437306637666233373831666630623236323764353031666637626162333933
39343637653730336366343432623331316339623232643332653031346535346232633164373564
38626632643862616235356331626538326339323939336131613837323863663830323231386236
65386265313834666638306134306534653362626235393064323064313536313738613335643736
34666562353337653761393661356230663938643361623636343764643062633136393931656530
31643135363432303034323031313063333934316161363362336561323438616439333130646636
62613631636561306566396132386634613137626432656138386639646334336232316132656131
32353131333761313662363763366564316533666432643866356339343866646166616239323537
34613365396330656332323539323835663236383033323434313634656261346661663230613132
35396366623466306633343266656232363232616634356462313635333538653331356232303738
66326330356632336564366330376535313237333539653461393030666637363834636136353265
38393566393839316133613862646662303933373166326332376538623531353537363739376436
32666133363866343463323262386530303739353635383766643031333262386665623463643234
31626361636463623332323761346166613431313861303538373666663833323935613866333664
39353539336634326537363661633839626339356639663738643936653831653734333539613161
61396337356563323961386361643065323661633963366238383665653634656262623666326637
64663035613866623036343535346532653631323432623164343936333264323332313430316535
33646366373931643936373865383562353830353866326665646365326431346435393265343630
37383934353964663035623530646339636130366233353033363662653034643033373761383931
61373164306636623361393866666439626334663065613730623834386562376136653737356435
63323037356664333836323864386562323138623735326538376337613438353664636138653336
61353764343939376537356636316639666439613762356562333165336231666539623433393231
32616330373535366336373735636235356534353262333561646261616238323465383664303036
38363932336633623763666134386565376238373137363239326265316434333766303739356465
66633939393035646661643130383935663838656462626337653665303339643465663530323461
63336436653365643430653834656239643833313531323031656564393031343331626438363431
32643162626536626563313365373130663334616333316365656435333636333736323464383465
63323637343462323737623063363263663463323064653862376336346633323735656464303562
30393234303230613436376162323664333030323162396333626533623865653938626539346366
33626233393736323130663161366363616635633432666630313736333832396466393662396132
32646337346237633936636332393636613539326266333534656263373234343434336561666139
33643261303166313436623931623236346437643935386239663564626661396434653130326232
62376535656133383261326634656532393933346136626162333530326439393530343731616533
62313031636132643032616630626537633162316231316661366134613439636336313161633361
65343730356634393738336439656564343730626237333633643635343331373233633936663031
39336533636135316166633264613030643636626136373132306233623432363133656638636162
33386262396339383063346166383636396663663530383234616230623261393837376335646631
37313934373631623938393535356130383531346431336335333563343338306537383630663962
62363234653539346361666438306663633630633366366662636330323162646633656461616335
39373362363433326334343033623333656663356631383561336330636266393161656336386135
62363335663563313264653535633461626639363966663433666566623438303536383463313737
32636530616261326636363039393631616138376132303265643334346462376239363966393538
33303961333161646633636137646661323133626137363032306131313335306134353765326135
61663934313233613164643265633964333738393362373832303534633330663131396237623835
65356234333539326230386266356239616364653833646135356237333231613562666363313964
35616561393462373730336636376662386339633732613833616532666166383232303636613534
37393932343939613261633666353863343163363665666133313863386530323730636636633732
63306264353464313334623436343761333034656339656237326131633362316537363434623664
39623065663763393964303462613466373738383538636534376133306133343134376333643430
66623438333363613064373131323861383935323931366666343462366330316561343365643137
30383734336433313737663638323935643931326239323939383138363164313237333965613063
61383936646464336438346365303136386462363566323965303262386238376466396130666637
32376462663834316166333837633564383237616564636161363466613639633739343963643134
65666566323136346639383631643334333561383239353062343533396636363061643933326231
65303835316164663733396433333530613036646334643233623831386237316435626364306433
63303465313262353866346431636566633438383764313239336561316362346135396565376339
63333337386164316139643163646365363631613664646434666562383336346262323464623461
30343661333266343362303066353237383031323364666334356561666435383938393433333934
38313066343666633039393338326133386336666533313862633163343731306337316337373666
31353663333335613838316263393433663062373364326534623966363631646430356263383764
39613661386236636131626634363065393466303035616562313931626335613231653930366561
31376639303039613634646261616333643332373161303330353937386334343534326636346333
30643066613336613266323431313564303438326466303831633463353033316362653462373065
39353139323630623765626335616638316665343638303439353934616231396535326338663965
63616235353464363431653665393961633338393232336535306265393436656561306462363130
34613366356666616336616439653631386130303161373439336461313264613331623535316364
63626533346633626362326537623936636362663439386632323666623736636135666337616136
65303163393762366363636262366433383134373537656661373864646532616639323233323561
39373630353733346134373862393334636339346634373365356639383435663966363463303337
37653834363663343361663939353638613964626263656234396366333265353365363638323339
66363231626533656537643139343231616430336135313730363261663239316430336339386262
31663432373166383835666332333962313261386433336163356535663762336136373937626239
39303136643562366433376535363533343938373133343737333231353364366162333132356464
30636139313831663339333861386165346532666262386461633738323030313237353266623835
37336362343633653035326365306165303335613036356236393136386363393139653065636631
62663762383634326535373831366430333363353966383039303631356164363661333230373963
31643663316165623363353963623163346535363932376631633464313232646661646366396264
33383163666537306432643062623631323133316261613362303732303036333331636431653563
34353363626533343662656264303961333865303466656631383335373964303266376134383066
61383336393135303635306362646165643437316530636339636632653336303436376431323534
35373835333637346533336134313333653139623935626361636537353635303262633139313335
31613235396434303366643733346631343830653531646332663331363130346639643966343138
65653730623565373733336439643935666262633064373836646561373464313430613335396433
62316438366463633339366437623561636337333235636431363466303264633166616566643536
61623864303865363434356536656665326635633066333037623461663165393965323165383463
38616466366135656562616161613933653534663162346633643737396437386239613438376233
31663834313430373937663237643337353435633166383030613639366238313862623336313565
32623233633664633839366461626637623064616330666265386334333738336434646166343830
66666261363137373632336432313366636162383430613832306538316162363635386463626339
66626533633232663236373135323737333566313961393932396134663638666335613835316134
36643461353861623261386536336661633730666566353034323634353239356133636535333266
61306335643064313838666462636133636538616432303162326236613337396136326431643839
32303333303663353662386537626432356230613464306261623766656237376239363436313135
66663562386266373539646636316537616463643935633432616664346535636235313165363533
31383663366233356134623932306662303331353162363538303138326535346632326561666364
62313230323439393338336238373162333262613430393431653436303165633661663162636461
65306233363630663163366433323362613062386461323961353735313566363366376135393232
66376435343965653036343766346562393830346533303437343666613934333032343732383764
35396639653836313131643965396238346561313637323433383238396638353461626261343663
33373632323865306261313866383763313931346166653463643062663864393234393262373062
32323834343232613764353063343335626462373965663630663239383330326436326633623566
66666333616265356531386262306334616632646132386665353835393263303232343564306533
32303366396538653361636133353564343730326332393863333065353835663066353038383662
32396562376635623365626239626430396564626265343938636534623532613435343730656566
32353531353336333031336133383534643939653461353130306437303238636565363339646365
34383732316630633965393734396638626166303064653437653332346461633464393037363832
35623963336636643164336262636266396235326365346161613135623033363332663639623361
31306538633638386233366638623764633466653837356439646231376139656564306635373263
32383239663238386539613632346263346139643436656436653538636466643564653637393064
34323539356263353064396135363932663664633232366666613665336339353966616666646264
34653632313030633263616561306464396330343635643835303732376364656163613532633432
64303961333362376535643230643834336166613733343139323530333735313264656539613837
35643331616136646339643936656138366538326539663861383133316264376337613765353361
37646461653639383630313830353034353137636238343262313764336431653533623964666435
35346136643264643437376235363464313836373933366536633061366638356363323734343934
30363066363861633562333261656334663833396561653033653430343839363735323465366661
66313161343266353963373265356131366437366662363630303434653437323732373830636262
62303432393639393730646339343638343438303930306437343062376138313037643131363866
35333030386263646333656538376536303530323131626539373534626332646139303836313431
34356437393833643762393137396533396163653434343461376361376563613961366666666238
65306465336162633361626164383131323135356463313039623036396166656131326439353335
36346165623664633864343662393231383364363639306435376462363863613165306232336461
64313362393365393634386239316631356337646563623361613038346535306234646166663331
61363761623334363332363237353437623565393235633436613333373965363931666361386135
38643361393933666132323733653666333634643336663431376566366633396466343335613265
33643137393363653137316432373334326233343436303263333431336137343062623161633333
66376334646365343561643034303665346537393963393135666434396437623734373434303331
33613861366336373634323933383763343930373735653132343633323738396237373339376537
64616232346164303932303231376163626565666539643061353363663265646230306136336238
62646562323034376339643866353363366364326462336366646332373664373335356165373936
33613066653361303134313239343036343932663930346663323362376431353138633961353364
33633135313663396265363736396364623466303030623565646535656536326231653264363765
34613062656135633164643630326534356561303434643239306562653033323032333630326433
35613334383965643632316536376463646464633937626131393462316361633566316230613162
64363330623965313363336534353739646338343637366264346166636163373930363365633439
36336366373466366562383866366262396536306465333534653562366663623136356133616139
61613861373639613835623831626331353237336536333561396232646264316337643062653137
38313562656564623336303931336364393538353562643537373935346131306136313162356539
33613762643466333639373533383065323538326630626566646132613763626463663536666635
38323661636538623762386632303134373237383239616266373130316235376331656462366539
35656436613230373435376266633163323830643031643535333433616438636631323564316635
39636433336666376166346362343239373236396161633434303065353637323364343766383733
66376530656630323837393332623037613265396335663331633638636635633032666363316136
65623130613763633764613433326333386265353365623431386364303236326461363933633363
30626362326538643039326630303861376639666139393238356339393930633064303763636161
39633566373737316361306634333361353435356230663964393935306635386532643734383462
65616134633335353738626630393964353065326538653435653963343039326238303738313666
61373963353361366336653237336431653132333433336330623738663364393336383835643064
62363465323836326333613832383335353436396263343739373364356132626138653832393166
66646535613233656632393562383938646665613762373731333639323837336438613063643334
32386264383236333664386466636234663238333761633963653061356266666464376136616337
63616239376533393634353739386262636466376235303263343864366633643366376233386166
33356534393865643065633738656264303961333464373062623133666436656532363138396332
61333932656661313963663062353836383433373839643135356631333261333466636663386266
39356438656362303563633130336266323361636564313731373238303034303961306465616132
38363963323839656262346135376534333530623862646430303434653465613762353139383333
39646433393162663633663562636330386634636332366532306363313264653038656338353263
30393161313136323661303063643436396533366436346365653736366433353536633331343734
66616138653834396430333635373834366133393961646630393231643730643061396262303061
30663665663832336565636333663231343238396130346635393431653430383262326463383463
38306366613061336566313031613266663733613938366232336265353336636463306331643331
66383362396664363633363936306531616333616131613363313132306663343936313662366537
64326139643230363965353336313138656164653365356436323566396634643266346430346230
31653237613537313531383831363862396331303636323737366338616337306538616163373261
64303830343739376464623766646633626239303932383232623463656537613965356438616338
37373636636561646236613966613461326235383631333862343732353334353162306234386631
31383937626132363438316463353535336633613632653965343937396161336362393139636538
37326431313863323035626532313466343334333836363435306132323636396265393661626233
34646465336366333138343830663535303937336162303736663566336265303637626165633834
61373762633130643363646336303930616230393835623533386661653238363533636565633739
62643431313966346162303966386438373132303733303561303531363466366666326465633632
63323163303066363537313739643062303334303830323665643534343063383463373532383862
31653431643935653662643936616561383863353962333664333539303136366632323632646136
66613465623831646533663261643566646337373661336630623435353635363438653132633564
36623136343732366436366630313133326661313130393138663334393265363933373731353730
39646563373632363835623965396666616263613239343637363632316564303661626265643830
38353061306664333331646333303165616432336666656437636661666562313662623831313162
61313835656563346132653465363463306232663334666333323139383838313562396336303066
33363137623061333864656264326237396638343331316162363231396636646266373635356436
32376566626365343136336665643362653833383334326562313030643333613566323933383334
39316365383132313831323037626437383434653234326266363237353937353431333230646239
35303230366464386137653463393937353262356565303735346630333333346265313566623963
30616338323032313063343834376232323466333564646331613465323332333039653266373830
65383330633863373432356437363563306163653732323662633838633663363564323431346164
34353131353331643338316366343435336434616136613238666666346139323839383936346337
30373062313033333431333931663161646537373762336461633131643632623432643761616438
32373038643662343961643066636263386233633239376639336339333039633035623036323462
62346137613234636336316661323465653063333831626534613838653032666666383365616364
61663037353431643030303636323330366430323366336235373861616330656333313366303563
65383431393033663063663963303437313563333639313963366561303465326339616131303034
61613835343362623861343335663637386437336536376466306130613836626530643263656233
30333437303162333138613364333264613564653235646138313436323831666263326239356131
38333961396336643566643262636464363266363566633433333361323533643064633834316333
63336135633063373531613534303662653734653137663835663562346532346233306666653432
62366666663335346363316638346335373633306237636135353931636662623863663634373532
37356163663264313766663336386661613637616263303634356538373634373238626465666261
32353165373937323561383563303933636666636131633730353337363265323862613235333832
62366531666266373139323764323638393162643530306135616531393438383963336133613565
36326162306235623630346366666562646332643233396561343938663236366530616663616364
38666637643732303764626336646263313131353734333435346465393331666264363538376666
34663464633038366565353861313734656532383065356431346334303139643537323037383539
61623136306339366537646436343233306663383031353565653066376134306266376532623561
36663464343133376264386539376165643464386230336330623134306330333636646138343566
30313239393463336436343438336564613538663734326564333930313962616631613437613163
38333866343731353337346534326630353630336330366637343138393439643938633665656139
31663733353937643937323062306332363535356363643333663731663237656464326261363264
64373239643031366238636264613539633263633433646162386366363865616634343337306233
65386463633731616533393461313437373937356164306535386332326338653734663038326138
37303238653433613166303862643630346164373436323065393135393365316466623965353739
33663034323832303830316537396461383061623662346431613365666638373235616234656134
62633236336231376131343237313837313632373965663332346239346163323237303462366237
36643132303236336238396234656337613732303636326266346230663266346431323235613831
30383930303266623566333963666339363535616132353263653862383162656533616131663033
33663230616439386439383162373364653734393934396262356232346136643237376231656262
65636564626132303461613931616138363533653333646463653635333935356531633236613263
30386431313665626439353133303733343330386137396461316232616161613162353932336434
30313265383863396630356631666230656561636239633038346465326337316430323038303830
65653130343265636361373432613864383332623965356566386232653266616335313930323436
63626234663036326363656465653237636162326366333266396631346534653935643534383835
34633835613565343662316533386561363466643932313030356430356637376665613930356561
66323938306532666537646232313163633937376533623634303962656166343961626436353563
63336238623533663666313264633832386337643865636662373066613935323066623031653535
62306131623865323731383138393639383530323631663864353262613235373361326230366562
37633930313934333339666266336230616135333463326661353863633638363937316532653666
66346438303238646663653061653764376534623861633838396261393032646162356266303931
64613037313533343763373633356534373939333534643863613734626335653930383431393561
66356634343130366136313533663533356466363366333865623637303134343035633738336138
32366561376635306230393033666666653461306536353538616363383861326562323532653939
63363532316464396135353038373162313232353432393037303730633735346435656534613839
38666137373966613130373864393036386264366464653233623161363564313134363931376563
38636265376565646162366234383737393163353137616130613263396433626533313665383738
66326266353339316637393764353530316562656661306135633462636136613736356434353663
33663861613537323930356438613464613931383366363738373663386635386564303161313463
32613065316537643032316439343165623632393039643163666233363439333232616162653735
37313163663134663462303233373462326432633333386532646464636366656366386663393763
61326262363362303564646334323939333137343438383839623432613933333234613033363832
32313930343731653633353137393263396161343836323531626531633161396639636165373439
64623035633066353266383736356233313538323661356631663031333264343064393439626135
65383464613133646462326232326532316662323037626237363939636661343738363863643261
63616636376633626164336239366530653733656534616664623137613364663564653863666362
35313563663333373666643437393763363431313266636537313236306431383739303564623435
39303331353061386461343636336262353864643266656235373235336534626336613637323863
34613036653639353861613965613536626334376566346564323964623631383333633066653634
33363831313066353465303035333636656366376664356266333763626330316465316166316264
32633037653830303661656232363335303736363865356631323365333936373264373934386663
62323732666631353062313037393130393565383137306135396366636439646637303034666261
63376339643464303961653166653031336239326437363637363133396133336639653033363563
39316438666161393261656237653366383962373736663763303733653235376233616161646535
33383930313630396337363432366239303565353965303930656565383964643162333831653034
37356566316334376436303661333932306436656464633835363262346562356637623161373936
39393837366164343363646462326132623733306666663638643639323632393438396564353064
61623634383066663537373266306166303138333165666664616531663962633164633664626461
31323666336536626635663933373566376630643830376137623033666335386534323431633233
34353136383161376534363234646132363133383064613463313034363065326537653739613635
34303061633263663433313438633533356335336131613832376539346465393866636234636661
38663331373162626534336362386465336262313430373030343466313839656566373939333630
30313362333264313232333161383566613361636362373065313664326635373233636365323564
35663466356534356237313165393537353132383236666261303038393961323339393332396431
30356334323131306164643335626466636564353830376131613764363763616163643030613334
35313261616530383766656433306666313139353935336134613833303136646132646230613861
62636664633031353832623537653361323231326165366163623561646330323530663436303937
33396237633534366530333633346439313733333964396530656139663431653934613962356662
62663661616330653637343734303035303238336331656465393565386565383235323637366530
38316363656332353266643339336237623031313135316335656533323130383762663936373635
66616633373861613366633234626364633963323836393233333630633063353435663666643938
33663038643865333535376662303235623563366263313531346336393330636364633437333539
34316437336166343333623438333463323662633765313562316639633535666432633730626364
65653562353430623535353032326666636565376533386663613538663536393864383966386561
34366266623265343335666237306662326235653266303861633665626266313236626632643035
63633963633934633564333736373238633936343036623334333435643739376430643365363036
66616665613936373638373738303936356161383835366338363561363935353365383734643763
33333435313434633464386538613939366531636233653264636261623033326436386138633139
33353835353936303066383161303161303432363035316264633339363637623936643830636362
35626432633262306263316666383533313630326261363466386331653936666236373661646235
65303835353535396638616331356633343438616331656462336663643533316634393365396662
38383332343664623466316235656136653962336336646434303036646437653161343739663438
32396365333366633934383038623831333435356464643962383164313437633737373435643666
63616462636532623039376534623239396430306230323030646339616364386431303361393064
32326237303464623731313661323763363134336262666332326132633732663332623935316266
33343663356462336236363339313232303032323232353061363264306263636231343365616335
37346466346632666430323739346131646163323664386663333131363932366534636666396366
63333539306131366337343230386137326266653537643762613330323631653139343265363838
65653831356237313132636530336664363338353330326234613063636466306535393963623836
34353234316239333534323933663733316161386265346130646435626463326539653631643639
33633263643665663330326338306464343331316137393264636238376461663135313538646266
65343561383365626437306636643463646433326434383966376436373936343766323238653066
38303866343738356638663932356236663463306536623635363839663763653265336461356630
38373538383964646463346637643933663663346462623230636264666336663039613037613732
63353532663535353237383431613736653066313161316363366135626362613633626133313637
65376364386339363437636537383432346231653062633332636232396435366166636262356163
61343965623863383933393639616631656633306365626536643038623036613566656362333361
33333531353262313538623031623832306433383435323763316637646433613865653961333763
32646435323738336336653265333136323961353433643031636336303763663234
61363564353331636566336262656632663963313263626139376638326331613564393533396263
6233663365656236386635336330663237643638616432390a353439623732303330323334666639
34356631353765346565303663376562656238633331386339383930346464613234343332643532
3064336637303436640a313432396139313339323532306430333261633336393930633432626162
66616364386261666161626531386431646663393766336463313334633465383466313761613232
31343162616166353034633664626163646363323830323834373234313732353566316230643731
32333334363132626162613463646536363761646433643837303763623066366364376661633631
38303332363032656539636331343634623334363732353036343036356465333333663838666630
61613132663236313834386561373064343034353464643633613936383364666130323031366465
35613336613664613464396435326232366135613061313437626132346132633938363836626539
36393936663163306339666136396636353462616536386230313737623862383230353862656235
61383036633066623832623962646263623662626133343463396531376135313133316130643439
66636639663566393332656465353237346663613632316563326438616431666635376135636139
33363838643237386562363034373436333835646235366134326535636462343232636535373465
38663939633837373638653337343339663839386532643739643464656331636337663231663138
38646331346330353133343734333034646363346233363336363738356165386135306334346565
37616330653233303864663137343561643833373363633433613737363961396665623264303266
61626238343562633162323632353030663366383463646536613762303635353365373638343564
32623138373233663565326439663238393531396334646234613065623766633839346634626166
35656665646361623131646230643861383366313239643732656162656262313466393432383264
64663933376137623462303233383038613036313339333433333266346365613764396161383164
34393632393039343730656334613165396565396365616165656437346234373735643032613431
36663562643966353234343838393634343066373635343030643832666364393030353739393037
34643937626138346236343561346466333438626464666664613635386636616461343935636663
38616363633031356663303132343935616637306333343764373731333133336562323831613437
34313336656265303934356135316463363362303538656461386133353762656136636536313465
65633932323265643232336139343063613565313530613962366638383435666135633335366439
34373532666333653661386638383830303335623463643139333032346538333137323935323666
34363837663537366238613566623631353261343636653236376636363563653266363361663837
30666538333964383431643766616430343131383538623564303534333738363038383537356663
64636561663865373331653031316433373061303933386465373733386134316234376365666339
62666632356437366465346139323933666662383631613364363938316564343734363964656261
61333662353162353362373465303530303164623564373734363237656561326138623062666661
30623438623034393464653938393237613931653731386563333939616633633736386535363637
66656366653638393566396639333065356361326466373838343038353664396631393034646563
33306466663163393435386462373937623932306164333730643332663436626165623731303163
32623130383064383134306537663565636464653434323566373831623938313837626162366563
30373639633439376436643535363233636361383665386535323964353365303537623937313930
62383265633065306537386165643030366435323461656439323532316337313731323333383637
37333364363130376538336337356466346439303039336462646136373061363862336366373461
38643035366135386663633065333563343963633131393664376636353332653337633765376261
62316339326331323831303461666130353266396237626232323337326662623263376462333564
35363664386239306366316431656133663666623464333036363334366635333132353665373836
64356631616365363730303164393064363432643031633963613262313930343939616132663231
32356561623964643930366633303235323335303965396331326230333265666465363733666435
36353033623564376635656331343661306466323535303861386234376530623333616334386261
63316161653635636238333232656563323066656533653061363465626664653337356630613564
63643839656662656632303032333063373961363765656265663530393965313265393835303130
65333832613462613163636335616237393166323464336634363135663333666532663134326163
33393162653234643536333164616139346230343462353831623331303038333935653933373932
33643335356534643965313636303238306264613937656137616536646432623439323230343462
66323033613435323961356133643636313337663736663564376331303735373538653236313866
61363861663834643630643864623066643631373566666530633765373038373334653937393566
62313531323437313638666235316435616533323936356362393463613236316539316633613737
30333339643235303734346338653531316164626635363931383238666566643633313664306663
34643166623136336237616538366133343037336161663132393534373764313064626362666330
65333330623039323965663631316563303863353464376238333334656132363430653830333031
34633835643565343636343032653137663562616431613861383662616335363136643431663631
37613334333133613362623964656662333466616435666634646632636534623436383564353636
31343131313833393032633330313961616536353038653564366335316331643638663638616638
33396532666630363665623863363935653739393264656233333066623537346561313263313537
34393762333837306265666464353332663761623132346666386632646163306565343336313134
66666332373537363265346161373936303063646238393461646238616631333538616539356631
37333435363133353663353130316339383366316331653630613065393862373363303539316534
32656261353666373639376266326530356335386534333963373338363136366230306163343933
61616566643839303133323031336163306662646662383462653538613135643466663063376634
63653733343133616536393264396666396565326264646563303833616664356131353934393334
33306265323536356636326537623266383338613662656539646466306530373035653730336233
35313530353364383039656262326562333935363861333365363339386634646132343632626264
61373334323261336330623233323665376132373636316263636234326264343037653631613664
32656431646637643262356563613463626330386234323962666235326664313764656230366632
39656430666661613134663966333430646161366333326166303365396332313364633961323862
39663730346562666161626161313361316139333361393963313739396463306338336537663061
66383230343439343530633339393838343031663332323434653338343664656236333735366234
33386535656534383236636130373038636439313761646136636136303863306137633435386636
39306361636337656335633831306436306535343536396336343539396461346335666262393331
36356238646134363336303833343636346131353562376333626362323732663165336366326237
63623334636661366631363664313161356631653230303933336261373865336566326335653037
34343936643536623731393430363066636338313130623466376536316437356238623436373038
63363732653062356438376664343130356638306534343664393465346463333163613462366432
39373731626161653664333932653161643132623966323533336361393236383833633136663933
61343434376364396662396532383562666338326164336634663039303436613732616131356561
64333933313664646133626663386561336665633062316464613865313730303137623835323537
38383036656535306566333761396634613139396661326337303961353734363630383734633533
38353166323533653563633965623638336433306536333132633138333361653663366439636465
38346662663933623030326466353734383933383862303235366331386333353231636638323133
34346639383264623438393561616534616235323966353336663865346331616166663039306532
38646636313638663334303138393138653564373665646432336466366437363364316130633732
35393761623430383930313238633132326136303933333737383831313136653238306337323937
33666238373930333864373366343164353530366131663933623866663137623338303730636264
32393939636437343739396637626136303166326235653836643232646361313837353739386433
35316163663763303234663938356638626263363530366430353336393133393034386530613865
34376136633161336338666539316637646335333038313161383062656334656566643135313134
31363765316234373239313338633362393134336336663032616234306530623138623564313261
65626237306235666330346666636163346134643237346338373735636463626331663630643437
66636339363666633632303234316365373565623864646265356636386261343262633935663134
32303230303965376539393139376237653665393062646163353237656630653133366434663330
36623336323439363966316466316234636535346662383536653262376331653663303031323838
39623736333237303935636535396364303466656637333838663663613964376139336434333530
35633265373133346661343135646133643135376232333933326265633866653164336466353961
64313036303033323263623536366133303637333039663464343464386531373034616338636135
36666363396135626461343332656236313232656364613131653635653361336661396536303337
33633835383431633633363461363534303533346334306230383138653035656534343332666234
36623061356533353533363537343466383965643664343762386439336137343430313538323334
63396663343733396330333764313838393236316232343465303766333531363235656636626230
36326666623364306663323461643437613132336466643837336562636436386530626534636435
33653431373564646665633633346161386332396562663164383330643963613331613335353164
31306461663335343632376333336561663961303864643831653239663434366466306637633133
35353132316264373965616132626137386135646261616438303463306238356231316234323265
39363234613062366131623236663365303731623735333533356566643764343634306239643266
35373439643635653361356238333135303532323235643634383130323161646535336661306130
31363765626236356435663038396239303232393138316261306261646130356130663034646233
39383731656564663634316431383638353732323133393363633861333665393965393336373461
65636563616466653734346565666335343939313336653035386431643032626133353462366164
65306531323136396530353064343462323265333931346134323234366134626263373363323738
36643532643834653837623265333365336534666434333738386266326362346433356266333133
30353333656231386531626633373261313534363235383565343334373136656632356235613333
30333934323463353739356237343264393239623833353639353938646339626231323364643735
61633931343335653632386537303765303365343531633564373230643433326434643130373036
64613162323935643436386564623831343435353239626638616233393963363937306135643834
61303737373031376139666631393132343835613263376466663530646239303038643133633433
66343465343565656463306262313037633832353064306361353165666433623561353266653031
65663931393132316466656130333062656163376263323133313538623238313965303866613439
63343235306361333533366531613935663361313164623930383834326564373733633966396534
65343461616637316638653738396239613735363936616563356539393166393861373437326565
39383363363966313065333632613261633362393531633566363362386365656136666266353437
65613638616638363038613831313237333833643233303664353235393066303731643366366434
31376164613232616164613065386337666238303935313138666333366439383265326461396439
39343161333630313230373536386664346134313330633537663461663032316636663135393564
34326661393637313631323036356232663336663634346266356138626232613361343235643032
34346438663536393537623361333062643837323062626265323235383461393761613439313664
64336166666138353763643331313438656361323833356236393038333333346265366361316563
63376463343737643832353166616566626530383837643035646238643463653137646633336237
39326233613161643162313933376130366264663931323433613331373730353065306138643537
34633734633262656531353936323031326163333566363464353166323530303536666236383932
32333461363337356461333362303963386134373864366239346630326339663034303738656363
61623638643664656237646131653961626136333533373462613336376364373230613961643666
37323231626136393039623232363761663939353265636439363065333135393330303461663265
37343532366433656164663737653931326538643139656232363231303965303964656261623338
38323838343732326634653231393137333939323731613534363433383331396435633937623366
64326166313832383533386665303964663065316138396639396438353638666637633636313338
31626232323933633763623630333661653735346336316638386432383164373134653863626337
35326138613038313138396565383765616463383033633564643830646632313839316436616136
33353537316666663866353238656134373466643030343936366637373435353332343735353236
33643834306134313036643534303831336238376164333636613365616539316538346535386337
35386266396161303535626538643533336535363338306434363534393263626464623963353061
65613030646437393738306436343830313361353466323062323364643430373939333066623332
62356334386466626438383835353764393863343431666362313339323161393364636264326130
38366534383463643130653932353863346462306437666564393036343835383430653931303237
31323336363430643638616637393531396638646663323662343134333466666663346530613664
63383532666532323232396565376339303237326464306330653932613962313136656635383762
63306636363462323931636233333639396438383535376262376230383038623430356632343563
32613135636436613331323036643832653362623235343864363466303263373230373032306337
39336630333130316439393239336363333763643565366165636233383265613638643364663262
32363337326261376231653066396533666435333232643136343839356662333331386639383765
66356537353538373465303738633830623162653335666664653230323830363837653466363135
33613239363535653931653864646436333635393939383333386366386265363435303763616536
36333265376664373132366366343439613239666530653631343836666634363163376264663031
38373566613832613865316637636538633265316330303239363335653665386466643735613839
66653863316236383964656235306437646130386434643361656130653132396637663035353631
61363964353732663765383433313634633430656437346230343561396339346461313961613632
30386338383230313564386331356263353464343137336663336438333562396635373935393230
33303031613837663539643132663735323662653231303137383361646330383333633962643330
34336236613131306261616338636331623732666366353961646337396434313932326464613136
39626162376465626634343333353566303261663638653766363362336136623861366338386132
39366265333730326439633330396337623635633830346361646364396332313932333433373333
62613837336462313065633930386532643865383133636433303362376231313030613264376139
30613064663637333636656437303439303263643236376136666266303330353634616630363533
64366631353065653561313935343530383164643235383838346338323236373930333331326434
32386430636236393363613962343065663361313661346162376162626530383763346530636535
62353634636562646431646236303564363334626264383566316162363166373264346533316364
39333666373966366365336366343862316662626638393463373833303962353130623933323833
35313965363138653730663635636264633536646535623366636232313666393732303131353233
63313030396236376665646435653362383936346562336464666265656164663866363436323034
39333230383233633133633233326166356666323464633036333135613639303666316534623963
30623835626266386433343139323532653266393733663566383335356162613436386538636534
38383765613338333862363233666666343165373365626633623230376339313035643732363562
35396131336261613332316632343066623135613738623565323131623562313835366139623665
35616635313131643639663237323165316433306230393035386166373533376633376335343536
33326533393035393737666465636134386536336133326134313634306562336538326362616663
38383238386538623938353435386165386339636135313165653738366432323534396236353031
33373966383864643863393133303263386164626438633236643365326530333632363831643430
38303230323933323965663166643263316166323531303331323464383534323438373163366566
64373531633031326232646462646632383562656662383265373835323134376161323066663633
38616362393866623962616330393130373634313630373537303938633937373030666633393936
31363432313362393530343763623866346164666236353135343663353338623236343764316366
31363438626665633864363238626463613662383331663963666265303930306662666361623331
31653562633738393537306436373435373232363039366561613031366665383135373862643433
38383434383038303636303164346130653261343961336435393337303233373263396136636532
64626430396435393034383465323130663739323763393934376136633966656238366431363031
30633035303462663734363462343062393531336665373833643337303163636561333063333037
37323236616261613463306466363236386666353738386335383038373932643330353937636261
66616634343531383433653737376434613464383639323962633831303063316430636366383936
64363463323161653164386432353762333130383262353261343230613465366138343139316565
63663361373462643631336562333736393432376332633761613333646539613761653038323037
33356431313339326164333338333466633139363066393530313332376233313631373861393435
65313436363537663637383736313030353264363233623135393039373338663966313065306532
36653435353437336266313138396334313936616630323936353632666464653238633563626439
61663461396262626666653434333564666335616332363535366663333634663762303034646631
38313663376465656530383966333138633634363632333561303862363533363636366437646438
66306261303339343462363362323465326639616565393136653431613330353437623764336562
39333837396565643637353465653965663139353237633633376534353161353337656237336465
33663038363631306532613739396664306137313534346237326365353130653134326337636330
33353031313262323962643633663261613431336262356631616236386362656333636537336333
37363331366265306161623631663932666136353035393437623464303865373836623136643931
61636636313137336638346462363966656361663033376532333932323737376263343930666630
31333733303862656234346130373264333964623366376262666635656437656236353937323166
39353863323433393866386232616166336636353238316330373030303232353731613933653636
30636533343862336364656239623939613135383035653665646538653062383633303333613732
36383837396561306330656466663630643037653930303930326561333038663666653435633565
65656662643831653966306161323933633635396537386337373739396163303536376436643634
31393431346536666233303533343136623661363531333835373934356365343237336532333830
31393335663630366464306132383665653964376563623239343762326361353930363636663338
38396435356533366332393437366136633262613662316132313066306664636166346366336465
38633838663261343237346162633533316431313566393762343663363735623965656339366566
62323738623461326434393536383861323535656265646634316138313061633465666238373331
31323335303764333266623962643839666364636132616135626437613138343236653263346166
33663035343035323433393462623938623931623164393739373739393863323230383832353239
65323436353634313665396334356435623231373561653266613362303961646639343562336266
30613664303466373936313532356333373935353331646130336235306565663265386638373232
35663839626465646331623966306238373036343263313266613736613639366661636532343562
39353831653735316134363666656562646262333731666433313238353236343338333064616631
62656136343130393234383165666533643162636635306438663966353239376263623632373933
33666539353862336263386436303064393166323035633065373862646337663933366333393830
31393064356332393635343132343163396663333639353938663335303732326637326630393164
66663662393434376265383034656563653338346661346337653030646434653661613166346631
35356362643262646566623166633466333961303263366130643562646237633062333931346431
38376564666432636334366538336661323439386164356265376238346261633736393533353361
61353333316232303632616563636636663431373664623461643037323138326630363436633363
61363562633835373764343262393562373861386630376239616434346435653365303865396362
65643066396363626134623538306330616435616532376232656237653364353037386461316430
65363461663365393261373430316134653261396231356165383931646134383862316431643339
30383636633865333632646464313233643865626430653638303530666239653265343866616437
31323435386333616261373937633534336134656664343465313961623763363566343936613536
33373765386463383966383839626635306439626531623730626664656331386136376136373736
35613936313031656530643438663736336136393933343034623238623330616338323938356433
62643134343933386239353035623764666233333230363466373163326537656363373639613066
35636663373165663738333364366561393938343366636262313437636166303435396265326161
66633136393137663033666232366132633566306434366362343531323163323533336537356562
35346433383861623365396563373237316361323564626134346135613831613636616330316164
66336461613230643532616331386364393062656662633431366661373439613164366135396636
34633031333439356661356430663032326435303962333562356530333230343432643566623833
32383737653963323264336465656633616532646264663161373462326165623339356363363036
33346331373232653462636638613463633365313664336430313731313063373363386231663035
36316462376532353136303932336665323437356630656439653563396534663436633831643635
38656633633863623337613861646530393734313935343732623465643562633362346465346432
62323838643533623131393235613532383562363530656163353063356431353331616633646664
35363864343731393735636631623365366362393638626463663239653763303762333765623835
32373338643430393765396434313939636536613535343064643634633436376163653231663365
34343334393161636136616638613766383431326665663262316530316236313533656433393161
66666331633463663933383931393865313363396238646231303936633662303737653437353065
31646163386633376431346666663066316265633031646566336564646565393939313738373331
37613366653632373934383639383933333566656336393765633436623531333031613833323332
63306562376261653663396162613965343636343365353062666632316230336437646265323930
39306430633233336336386633303739393734316331653439336538653862323831656365333935
37343437323336656338313164383566633230656333393663353064383737383835363630636364
63303534376139383962646337303237353638373130376635343966656430633165333539636131
32343263373331633831343165326361663561373363663463316233396162653039633962306530
62346633386334386238633161393337333330643432663666373964633936386239313464396566
36646333383833303562323231336364383666626438396461323533396137376339353133383361
35306561393738316563346163393035616363396131323030316238393435353862666466366133
63636565356632653165656232636166386464393139663263663430633130313538336533396431
39316662313337333032633263383533323766323361646261366233366335626631663939363161
35613135313762623134303534653532323633613363666333303031653964323963336165663831
35393266656437373634346661666132396162623136383463613630323633666564383639613332
35376534333365636664306532643234333966393666636262383065653431613834303134623165
33353164343762383335333861363033343731363064646165396334626330623930333564633238
39663338353666353661666538333265383638643861333833326234616264656339623131383231
39373630333235316230633833613038313931363839653930333262333561366361626435643464
37613439316363633264623830393439393766613164343930356537613564666530323034663332
32363433356361396264386565633962613162313062653066366131346638353134633435326165
39623361306232326437336665646462343066393062373137303339343965663164656362663466
63366237633637373730383538616164313162373965313665656133303630353233363938643338
37613962373834333535333438316233633432343832386664613137646132353635666531343465
38376433666662613161383534666437643963383062333534306565313337653138306434316234
61353663363437376261363361633062386263376166303531643432383339346339363638636565
62626539613831653439383738326565356639626362333566646334643164346635666235356631
30336166383461303234303633373064333138306461373633613137383066623463373564313462
38313961306134326634643064616365323463393332643836306465393839373866373536373434
61396630626264323564386230393631303330636339383166373764343038323034326666663261
64343432363061636263366539306334303135666162306338363331663633656236333739363561
30323435356636643735633266616361303762346133656436383035323436633633613436383962
37643538333637323738333238613832666334643937626366333135663764653437666161313430
37636631613662323036356638336238373939643039653063343639626266626164303335653035
66356530353130393366313939333139376135613332373462366461346364623937643035623831
64353732623036646261343866396531353236666139303739653731663835653935633934363263
36633636393764663531396435663836336436656665386339626337616663646461663466383239
62646166626634306439323136663438666634383732336663636634336239373164313730666439
38346431633863363064373635653939336565646630373864623862616537633235333064366535
65623031326635353835383534313635326561656533303964613830643830353031383166633363
63363734353838373164336466316165656566656130663264373430623534316562623261636437
64643039346563653032616134353336326562616261353631306431643965646634356663633331
33626634313330393938393238383036303630356330633366616134663961396130326261353862
35356439303236386337393766383436383935363436303761663036636530363130393432656266
64326232353662363062383232373031616665643237366139656538333536653364373138636466
39656637383634363030353966326164333235666161346563323431316634353133626463636166
64386136646632653038373162383062316334623936646138646262663733313230313931336266
39343866663163323961643634303535653835393062383962326561373661393134393362653437
35343666326339626530343964643639346439323733316465353136333536653862353730336134
61363362613261663336373732316162653465373436333032383235383030623635313835383133
31356132323731336630313761373133663035353935323832323736663961396661613535373331
30653165623766366632663739333461393337383930656438656566306130323438326161323231
34666464333033663765376566333563323562643738363366313332646331333362656638393061
61336530356136383236346532366135663732336534653233333364363931383062363430353732
32633338353936613961393961623535343433363562386163633937613266306233

File diff suppressed because it is too large Load diff

View file

@ -9,29 +9,20 @@
become: true
notify: Restart postgres
- name: Create databases
- name: Create test db
community.postgresql.postgresql_db:
name: "{{ item.database }}"
name: test
comment: This is a test db
become: true
become_user: postgres
loop: "{{ postgres_users }}"
- name: Create postgres user
community.postgresql.postgresql_user:
db: "{{ item.database }}"
name: "{{ item.user }}"
password: "{{ item.password }}"
db: test
name: polsevev
password: "{{ postgres_user_polsevev_pass }}"
become: true
become_user: postgres
loop: "{{ postgres_users }}"
- name: Set database owners
community.postgresql.postgresql_db:
name: "{{ item.database }}"
owner: "{{ item.user }}"
become: true
become_user: postgres
loop: "{{ postgres_users }}"
- name: Copy authorization config
ansible.builtin.copy:

View file

@ -1,12 +1,7 @@
$ANSIBLE_VAULT;1.1;AES256
62373930613962323530343463626264343035633961653939363132393032323831343235353836
3539613639306663393766326539343164373035626163650a613164613735333062306136663863
61626563393564636439323338343339383934623233396565653666616636653964313130383035
6139643562303034610a653037336232313561633166663037306637653835633262333765306130
39333665343664363931336339646535306564333237636338363239336633323232313236336138
37626362613235666166353432616532376564376635336362316635636139646233653236326464
34616561663266383039376636313332646138363965623566303166393964303364303436386236
66326165623764653738643339616437393239323233363461333263663463363535386236366266
31303066626331353032626533616339666134343239303333633238396334643463636566346338
30353635353033663330346564666339663264623631663433646165346134373333373864643332
366661316466373933613762663231386332
62653734626136323565653232376136656132393664346636616662313961383130376163393863
6138343664663637396535383436386530333861633265330a313961303432653931656466303463
65393034666638383831336339373064616136623930333262646563336131663839323936386165
6165616133633835360a653839636339303066653339616235666535316639613136376365613439
62613439616563643137653430663062323864363064356262316232393932643435343366636631
3132376130323138343464393730613230613562666237326235

View file

@ -1,3 +0,0 @@
---
restic_backup_remote: 192.168.1.100:8000
restic_remote_backup_remote: 100.64.0.5:8000

View file

@ -1,66 +0,0 @@
---
- name: Ensure restic is installed
ansible.builtin.apt:
pkg:
- restic
become: true
- name: Write password file
ansible.builtin.copy:
dest: /root/restic_password
mode: "0700"
content: "{{ repo_password }}"
become: true
- name: See if already initialized
ansible.builtin.shell:
cmd: "restic -r '{{ restic_backup_repo_string }}' init --password-file /root/restic_password"
failed_when: false
become: true
- name: Register crontab entry
ansible.builtin.cron:
name: "{{ cron_file_name }}"
cron_file: "{{ cron_file_name }}"
state: present
job: "restic -r '{{ restic_backup_repo_string }}' backup {{ directories_to_backup | join(' ') }} --password-file /root/restic_password; restic -r '{{ restic_backup_repo_string }}' forget --keep-last 10 --password-file /root/restic_password"
minute: "0"
hour: "1"
user: root
become: true
- name: Set up mirroring this repo to remote backup
block:
- name: Ensure restic is installed
ansible.builtin.apt:
pkg:
- restic
- cron
become: true
- name: Write password to file
ansible.builtin.copy:
dest: /root/restic_password
mode: "0700"
content: "{{ repo_password }}"
become: true
- name: Initialize repo locally
ansible.builtin.shell:
cmd: "restic -r /mnt/backup/{{ repo_name }} init --password-file /root/restic_password"
failed_when: false
become: true
- name: Register cronjob for daily remote backup
ansible.builtin.cron:
name: "{{ cron_file_name }}"
cron_file: "{{ cron_file_name }}"
state: present
hour: "1"
minute: "30"
user: root
job: "restic -r /mnt/backup/{{ repo_name }} copy --from-repo '{{ restic_remote_backup_repo_string }}' --from-password-file /root/restic_password --password-file /root/restic_password; restic -r /mnt/backup/{{ repo_name }} forget --keep-last 10 --password-file /root/restic_password"
become: true
delegate_to: soteria

View file

@ -1,2 +0,0 @@
restic_backup_repo_string: "rest:http://{{ restic_backup_user }}:{{ restic_backup_pass }}@{{ restic_backup_remote }}/{{ repo_name }}"
restic_remote_backup_repo_string: "rest:http://{{ restic_backup_user}}:{{ restic_backup_pass}}@{{ restic_remote_backup_remote }}/{{ repo_name }}"

View file

@ -1,8 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
34393364363339636430306233353132356136613033326166313066616261373765633462356137
6634643264393632313064346530323730366431323738350a366537376335646133666361616632
32366134303232393436326661366661343663626139333663363638643639663436316166373566
3133343437353630300a646538373030623439333033306565333830386165343133663464373466
64333532363933383135353563356335663530653965343231356462346565333536303031383834
66633038303833333766346136663362643535643332333666653761353365313665386138326561
653361643534643365393039373232326437

View file

@ -48,7 +48,7 @@
register: result
- name: Tailscale up
ansible.builtin.shell: "tailscale up --login-server={{ headscale_domain }} --auth-key={{ result.stdout.split('\n')[-1] }} --ssh --reset"
ansible.builtin.shell: "tailscale up --login-server={{ headscale_domain }} --auth-key={{ result.stdout.split('\n')[-1] }}"
tags:
- skip_ansible_lint
become: true

View file

@ -1,28 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
61613033666561393035356531613466643362366535653731663139373731343531343563353536
3336336562636364386666643038363731383665306164360a663438366436393662646235313066
33656164613663316261323634313338363966383463663237326666616432376339326163376532
6563643561353333640a616437366234336564636535333737306632326538303330353265623464
37386463333661383865376562643738633137376334303834313161356435363734333062393533
31643261633539653465343633643462636561656535393939356565663130393731393236306636
36366539346465343231633732326337613830636264346435333465616230343464343064306562
30666330356465326461373630623131623430303732313337653261633136303233353838623465
31623339613866333137633231653332613239323838616366666330336164383338326231663031
38386631633932326563353533343737313935313936613537326231616435343763303065653064
61656133336132623361353061613761656434303431623163613636396665373838313836306133
35373333656263636438306237623033336339666266626236343230393931653434373966373264
33643134393538363636386137356237323839393466356336373563336639363766663763616336
63356635356339643235333062656231656664386164346461613130613533346466363936633031
33666635313436623665613432616531373965623030626635643131356462613363616435643131
33353631653633306234646335643736313762393566323636366239366463333039656666323038
63333666633862663166333136626635616333343064306636316539393835396136636263393064
64306161386331343663656631323830613033353461376665356139313665333863333361396635
63386162653434343335613965616139393235636139613230646330333638623262303761663364
39373231376334663931323831643738643436346235396530346362646332613030626238356262
36633739313538666134353839373533633332653931633466663466343139356434663631306232
35633965353964656465303032623637343863643639626434356365383861613430363764626234
66353265666532316338323663633337363164343432386430366439326534663230313432323661
33336335316164666664663938363064323832333061366534303137373363636365336466393431
34306132623533653739363837616663343962353262393339353430613530303133373965316230
66303265306637376364373262383565363432633433346466616532663038363135333536323436
333438366635366138373139363934623234

View file

@ -1,63 +0,0 @@
$ANSIBLE_VAULT;1.1;AES256
63366564613261356365306161626566353135393331623032646263386435333861376462363262
6336653539326138636261613963393431633237303666320a386366363662353636633630343039
65333065373735666364623166363838303635393836383535306533663230353061333064393131
3265353061653464380a383166666433633735316364613731303061636130336462363462376266
63613039316261363061633230366436663938613431636435383862633335376365376536356539
63313666616330633534356635303332303335386432623263626330376532636665396630636465
36386335653530373763393137303935306635353135353239323066306661326266383337346532
35653766633330386262346632343133636536613534356563383365333630333733393034393535
65653338636134326365326230383462353861353733326533373131393632303639373462363530
61353034393964393566633537383138623835303262363564343833623136663765623865316363
65363038643635326464663530323735363938663137353661346237643134393762356338396237
66303430373133643930666432373066356632393638303331323830363063363464623963313233
38653138653439383562386337363731656538303331353761666365663861376434323665353963
32393635333865353662666431643735633763616634663935616265343566343335653336373232
36623831346137313065616539313938323534393965643462353331353765643231663534323239
32373635353163396332373062393764396266393061313261313637396132666638626330613132
35366637326662653166646637633038356366306165326433306361393335333833646464323337
30363234366166316536646339643065646335323530613463306333363761336637323464343661
38316563613962313439613264393765653135333261303832326266326231626532643232373963
36663236333762363139303834333565613638316263353366383035366461643633383262333563
38343063643061386339616336663562323536326437623436386639383534373836643736646239
65393237376132356462336532323935613336613661386539613737386166643137373535306239
37373333653465306366393635393336666230393964633930343134623337343661323432633462
30383331366634323361646334616463346263373635653661343739393335356261636131653831
31336166633033356633393439353230313266656430643432656661323764663534323132643637
33653830656333333863383638633630613736333230353662303230346439353237656638656364
35366332633039376133623766663633306639306638636130346431343230353837343833646639
62373066356363356135313732623437656132396330623832326639303565663965393636323732
62303865616334343963323236353433386366386530393265306463646537656362613164323433
66633664626434666230663338666439616338623734343538663730666465653836643765363536
35623666616638326361363635613035333135363431376364376233396664313236343464373263
30633638396533613734616231643631636564356563393563623462386438656565626235383937
33343136623639373931313664383936636166333163343631363763343161333463356666303462
66313962333634336133306331373366386438376166653736626165333665316665336562353034
31313231316166323766373165666464363165306438613162303666633564376639313966636563
37616162316339393531393662653235383062623963363765333864396636393963343031626264
33333261336663393933323564633966373637323338353964613434623939363931336439353330
36613030373664633437646236663832373062343537376234373036613034656133336362656631
35373664383039323431326330313432633133653362346464643033623232316135623530663230
32633637306139666634633232623331303931393336376165323864323361646662363438343261
36376466326638623233646531373462353530313565646530366133653866306432373338366636
62326362616161656261393062656138343166646136316365663763353861663462396564386632
33613538613665613938623333363031323136336163646137313035626233626433373966616538
39613636653937353362613539323666313731356239383432363832363064373133393163396264
62663862383565343237663133636462613061366162666135646165653637613037323237383464
33366631646335646530386361393930626533373230643335316438326462386631656261373433
36636333653231326536333130373766336333336366353636303665633230383334653932656162
30393365326638353366316230303032303864633434323965633132353335666635316662336238
35623631383163613264383661366166623139346330613338613732616638313838633165646662
39333438333061353663326234313337653166633731613638663136396266616433653662356635
64303334376639663636346535643762326266633863666331343862653664376235616339643264
37623633356431653933356536623235643562353437643165383063643136646665373036313363
66336337383866323863376131303232373631383131666538613230313330616632346233396463
30393736653763396536363262396132666133356136323132393337386437343565343930636631
35356662643863343634373536323762396130616637313631663663336634386463393362663465
34363161386463323532376233336263373733653232316637303735653936373866386431376563
34646632623661626463663039613735306531633836333335326362373130333361356138353335
36626262326239643737666664306338316264353635366662646633303864353535356633616139
34643764373433656439303830393639656566326333616630613833363932643732653639303763
65326636353534653833343534363665356263303663626537633331313564663963396138663466
65396635343538333432356436373362323565666535373165666365356533356632363165393230
3931373634646365346465393538646130373164656366653865

View file

@ -1,5 +0,0 @@
---
dependencies:
- role: nginx
nginx_acme_sh_domains:
- umami.polsevev.dev

View file

@ -1,25 +0,0 @@
---
- name: Make project source
ansible.builtin.file:
state: directory
path: ~/umami
owner: ansible
mode: "0755"
- name: Copy compose file
ansible.builtin.copy:
src: docker-compose.yml
dest: /home/ansible/umami/docker-compose.yml
mode: "0644"
- name: Start docker compose
community.docker.docker_compose_v2:
project_src: ~/umami
- name: Copy umami nginx
ansible.builtin.copy:
src: umami.conf
dest: /etc/nginx/sites-enabled/umami.conf
mode: "0644"
become: true
notify: Reload nginx

View file

@ -1,20 +1,20 @@
$ANSIBLE_VAULT;1.1;AES256
66353437386562316639363837303363666530396339363331616231656533613636306238376162
3132336330656438383933383538663261366336346563660a333163653430656434653132343635
61356434313737313935383864323437373439323065663266333339383135656262636663316133
3930346532356561320a353338353866346335386436646663613134306662613931646533363830
64316139353233383134353433623939643530313130623934636264626435646163613337633435
37306466623137343932353833613637336638353039356430653039313939373462343133353965
37626432336661396134623033333735353738376364623563623164656636363333633732643834
65303964343065316430353666313638633131383535613235333931663837353935333839633830
65306435373264373735343635333634653435303431623333366433346536633561353264656264
31626164323230613430666663653731663764373336353362633438656531613532626231626335
61666238643663646161616230623363316233353533323362616636323836346336376136343237
35393733383433353731623336633766616662393362356530316530303232666664666565643634
37343135633862613361366132323937376466393065393632386363323932663438356637613634
64636131643133366331633633333232643936366633666163386433353536353962613930343963
36633261393561353963316638653030633437326165653434326231373965313339633035613230
34373064623461643061663262613232626530616365623939653264643964633466346539396632
34303761326564623462666639396334316437323634383661646665313133326539313139373737
65616664626261316439383430653733353966333038653233336133353538643362656232663230
343831646332356665316631383166653061
63643964323736643466386561313136363162356130663130666538343034656336393666333866
3839386534656266613039373163326464613538353136350a336236343535633666326634633138
39303365303634633061356164633237316132323961366265306135343631306566396163323637
6633386566663532320a356362316463316365646135656430623730313732333366336137613761
32663563313536363163353038323063396633363339303837616635613538353934363463626432
37643630333565623635303238316632373439623532633138373565396663353238383032376537
62393130393337303032666331346436626463313234666566366138316637613034383763313233
38303530353565396665353661623333663435323132313930303661333164386134613234626264
66316265363933326435623038333830633961666331313736313463303962643730663331336133
36656165356666353633366536393037343665623939663264643166323934663061626465623130
63663830663163663334633738623936633036353065653030623962636463636238383466333163
34656536633438303037326132363537386166376365623062366334343264366638373737633434
63663336663163616534643364613963646331653762386330633464356335326462383938353436
66386138343239323466626333343762373565353131333234363732366266303338363039636231
62323366663937326665343763323265383234336137353766653339613662363035613662643832
32666661653634346363356465646461623039636663646639396233373031316562643336353361
38396662666533636562316239323337316465393961313333623033663362633162663662366462
32386534643661356439303935333336653432323039636137366664643836303566323935636662
643035366237656561306539356161343431

View file

@ -1,39 +1,26 @@
$ANSIBLE_VAULT;1.1;AES256
36613265663433633735363365383863316233366437343262376332383339376462303037623131
3236643139316534613739616533643731613337633638380a316465333435373761356662643638
34353430616539633037636432326230316439383566623631643531336366386263326139376634
3565636236613765390a613663323736343430333639643536356634663035633065353932316435
33343133643639316433366337313432373164616263383834333863393436383037626131353338
61363536343138346666636163303431663434396139373432653233383935393834646264346136
36653864366230363163663933643664306639393566306533663932306337343061346637653964
38326564643965346639313861353038303030313761383065616364303665636562653132393862
35343361333561393731663965306235336639613533313330663337313862333933663036363435
34323266373261313963653266363564653335366561613163393034633337363934643361643964
37313234633066313932643031393439643833653330346433613833343034343739663230383835
39363536646132653566633265336565616431613963623439393933346538663932643861646432
30393036386462346538306433393663313238383439653663386130323961343361663665326361
63643334373035303437626565656633373434393062326135333261373332393531326132396136
35643262366232623231646261333530303238396133306564666261393934643832396261343336
33376566323163666135393233623934373235303266323032363234643661363638633663616338
39333266643038346639646434376666663261343335613839393763613631376530663562326239
32383934636461623230313833316338343564653565396164656238316165313233363461373634
34393739353635343337646432326530353632653332316134653235326366643239353639636138
36666530653830346339343864653936653938396638343265653265633764376538656334613936
35623537376632326534363865623834356332623534656236656565646466326235393539373930
38646564636664323530363334383366363032366664333738653662653435313933643935326539
38363366633236346530356633336264643965663562346662366236666266343766626366636633
39626339313462373639363763333038633936373332636363326238646335366639373531303063
63623230383436326564313538636537303533303939636336613264666665623462663135653733
35613531346136633363333938376161633839643166303461306138303237373236663266323463
39636164353963636130656438656261343061353061326639636463316539376631353538666365
38636431393265333062316437383436343138383432323739616363636337613333323635316533
33383334346339346430333939343235353563656661363633343264666530656365303866343339
65323664333565646562623833376233373465653538366337363761656430643839323361386136
35636362383338663431643562316338303164363064383537643038323263303162323265343039
30346233613065366630323165363365336234653662656434616661643230646365306335366532
64353365663035313935393931383435383236353839346635656634396636643361313139383732
31373366313761643537343265666133613362653337323734663166346433356638303333643037
37636266303834346665383532366133343032633234613039303162656231343963346538393935
64353665316538346134653939383963366136656531336161366364393134393737643163396362
66663962333163366634306362323964343634343435633663356631613731346534393264643233
6163333133316133333066333737323739363537636131383662
31306561383033373639646131353537636465336363643238623137303163353964646166353662
3466643834303239656430363432333838346633393066620a336238613035646666663832653933
66353334366364643238376361613436613232306330613138396535646361646636326530323633
6364386465313863340a353235653934383332333739396230643561663565323335326431636364
66326133303039336332656430643930636430336232356361623764336338643364346663393563
34353932326338393365616632306131643530613666316565643636343530323363353033393637
33653763356666663535663063346533373963386562666534306337653264623134666231316136
36666339353637653164353066613230356262616365343030356665383162303565363133613966
32316366626330613133353061653362663637343133373364616466633832653731393462653036
63613364623862353333393962623532626532383436633362663139623938616564343732336566
32656561356636343963313463383839666633303034303963333931656333363563306533616134
32326231336535633035356466636430303862343136363062336463356465306231306165393432
35363031326538633165346331326138393666383439646438303236656662393938306132353834
64383764363666626363663662663136383162393263306133343835613932343466323035656435
31313038383730613335653263383334383861643431613030663133646631383166386436396565
39323762666363373539373131313761623233366239396266386264636230646334393130633933
30366133633263363661643338333865636530333431666437363437643235373431383636653266
34623237643932393336366231393838313663346532326666643632323439636632623037386138
62353138373435323439383933663665336335316131366538633536373332653938616562316135
39613933353362623563376539353762333866633037633338623232323330646434313032353962
63373765613836633264616166316630666134323763366433636438303832343137653664633733
32336330613261363237313538633734323230373364656530303739643835316561333365643935
61366432623937383865633766343866353836363037306364356430633136393061323536393461
62383238663832373035313863326463643833613930333030303430656663656562343637653737
33393333396130336138393139323037323037373731376235393236343137646163

View file

@ -1,6 +1,4 @@
---
dependencies:
- common
- role: nginx
nginx_acme_sh_domains:
- uptime.l.polsevev.dev
- nginx

View file

@ -5,12 +5,6 @@
roles:
- common
- name: Soteria stuffs
hosts:
- soteria
roles:
- upgrade
- name: Setup postgres
hosts:
- brevgress
@ -25,56 +19,12 @@
- name: Docker on vms
hosts:
- havneboks
- vms
roles:
- docker
- name: Setup Internal Docker Services
- name: Setup uptime_kuma
hosts:
- havneboks
roles:
- uptime_kuma
- kitchenowl
#- name: Setup FTB server
# hosts:
# - matmonster
# roles:
# - enigmatica2
- name: Setup umami
hosts:
- umami
roles:
- umami
- name: Setup polsevev.dev + jellyfin proxy
hosts:
- polsevev
roles:
- polsevev.dev
- name: Setup headscale nginx
hosts:
- olympus_entry
roles:
- olympus_entry
- headscale
- name: Setup forgejo
hosts:
- forgejo
roles:
- forgejo
- name: Setup Forgejo actions
hosts:
- byggmester
roles:
- byggmester
- name: Setup filesharing
hosts:
- arkivet
roles:
- arkivet

View file

@ -1,11 +0,0 @@
---
- name: Stress test homelab (See max power usage and temperature)
strategy: free
gather_facts: true
hosts:
- proxmox
- cronus
tasks:
- name: Stress for 2 minutes
ansible.builtin.command: "stress -c {{ ansible_facts['processor_cores'] * ansible_facts['processor_threads_per_core'] }} --timeout 180"
poll: 0

View file

@ -2,7 +2,6 @@
hosts:
- proxmox
- vms
- vps
serial: 1
roles:
- upgrade

View file

@ -1,5 +0,0 @@
#!/bin/bash
nixos-rebuild --impure --flake $(pwd)/$2#$2 --build-host ansible@$1 --target-host ansible@$1 --fast --use-remote-sudo switch

View file

@ -1,25 +0,0 @@
{ config, pkgs, ... }: {
environment.systemPackages = with pkgs; [
nginx
authentik
];
services.authentik = {
enable = true;
# The environmentFile needs to be on the target host!
# Best use something like sops-nix or agenix to manage it
environmentFile = "/run/secrets/authentik/authentik-env";
settings = {
#email = {
# host = "smtp.example.com";
# port = 587;
# username = "authentik@example.com";
# use_tls = true;
# use_ssl = false;
# from = "authentik@example.com";
#};
disable_startup_analytics = true;
avatars = "initials";
};
};
}

View file

@ -1,107 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{
imports = [ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "hephaestus"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
networking.defaultGateway.address = "192.168.1.1";
networking.interfaces.enp3s0.ipv4.addresses = [{
address = "192.168.1.25";
prefixLength = 24;
}];
networking.nameservers = [ "192.168.1.69" "1.1.1.1" ];
# Set your time zone.
time.timeZone = "Europe/Oslo";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
# Configure keymap in X11
services.xserver.xkb = {
layout = "no";
variant = "";
};
# Configure console keymap
console.keyMap = "no";
# Define a user account. Don't forget to set a password with passwd.
users.users.hephaestus = {
isNormalUser = true;
description = "Hephaestus";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [ ];
};
users.users.ansible = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "sudo" "docker"];
packages = with pkgs; [ ];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHlpPX7ogQo0dG0Ze4VSsAAJO+Z7w/wxGFZ+vuTHwDT9 forgejo-runner"
"sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBDpeouwzFZoYA7AYARaJ/qdQHORJB2h1V73PXQYEAI7sDrc3kYwgZPbrZ3pGkGKaHBl45kiV6SYsC7191OCwIl8AAAAEc3NoOg== A"
"sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBHlAtX4mBifZZ8u6sJckCgA6skwN7aamVK+lQuXLQ6kQWJy7GlEXEmoR9RW/0UIrQYLC+wd8Q5MROkYpn+cHLSoAAAAEc3NoOg== B"
];
};
security.sudo.wheelNeedsPassword = false;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
btop
vim
tailscale
python3
git
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
virtualisation.docker.enable = true;
services.tailscale.enable = true;
# Enable the OpenSSH daemon.
services.openssh.enable = true;
services.openssh.settings.PermitRootLogin = "no";
nix.settings.trusted-users = [ "rolf" ];
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment?
}

View file

@ -1,269 +0,0 @@
{
"nodes": {
"authentik-nix": {
"inputs": {
"authentik-src": "authentik-src",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"flake-utils": "flake-utils",
"napalm": "napalm",
"nixpkgs": "nixpkgs",
"poetry2nix": "poetry2nix",
"systems": "systems"
},
"locked": {
"lastModified": 1743172544,
"narHash": "sha256-I6//hyls5T6Y93IgwbWn5izeT29o+yza4yRgBcmNars=",
"owner": "nix-community",
"repo": "authentik-nix",
"rev": "b4916a86d4e650401e67dc03556eadb4a3cb248a",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "authentik-nix",
"type": "github"
}
},
"authentik-src": {
"flake": false,
"locked": {
"lastModified": 1743169792,
"narHash": "sha256-aaSAlFIc5Gn5PJPVuObi24Y86/3N3yFJVQTx1tV2i2A=",
"owner": "goauthentik",
"repo": "authentik",
"rev": "748a8e560f2eb93f7ec15d6762d4e5931fc1fa2a",
"type": "github"
},
"original": {
"owner": "goauthentik",
"ref": "version/2025.2.3",
"repo": "authentik",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1738453229,
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": [
"authentik-nix",
"systems"
]
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"napalm": {
"inputs": {
"flake-utils": [
"authentik-nix",
"flake-utils"
],
"nixpkgs": [
"authentik-nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1725806412,
"narHash": "sha256-lGZjkjds0p924QEhm/r0BhAxbHBJE1xMOldB/HmQH04=",
"owner": "willibutz",
"repo": "napalm",
"rev": "b492440d9e64ae20736d3bec5c7715ffcbde83f5",
"type": "github"
},
"original": {
"owner": "willibutz",
"ref": "avoid-foldl-stack-overflow",
"repo": "napalm",
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"authentik-nix",
"poetry2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729742964,
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1740367490,
"narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0196c0175e9191c474c26ab5548db27ef5d34b05",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1738452942,
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1739206421,
"narHash": "sha256-PwQASeL2cGVmrtQYlrBur0U20Xy07uSWVnFup2PHnDs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "44534bc021b85c8d78e465021e21f33b856e2540",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"poetry2nix": {
"inputs": {
"flake-utils": [
"authentik-nix",
"flake-utils"
],
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"authentik-nix",
"nixpkgs"
],
"systems": [
"authentik-nix",
"systems"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1739883580,
"narHash": "sha256-3ydikhrNaWy8j0cqHju/94PcD4GZ9T4Ju4rHh34oz3k=",
"owner": "nix-community",
"repo": "poetry2nix",
"rev": "d90f9db68a4bda31c346be16dfd8d3263be4547e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "poetry2nix",
"type": "github"
}
},
"root": {
"inputs": {
"authentik-nix": "authentik-nix",
"nixpkgs": "nixpkgs_2"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"authentik-nix",
"poetry2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1730120726,
"narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "9ef337e492a5555d8e17a51c911ff1f02635be15",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,30 +0,0 @@
{
description = "A simple NixOS flake";
inputs = {
# NixOS official package source, using the nixos-24.11 branch here
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
authentik-nix = {
url = "github:nix-community/authentik-nix";
## optional overrides. Note that using a different version of nixpkgs can cause issues, especially with python dependencies
# inputs.nixpkgs.follows = "nixpkgs"
# inputs.flake-parts.follows = "flake-parts"
};
};
outputs = { self, nixpkgs, ... }@inputs: {
# Please replace my-nixos with your hostname
nixosConfigurations.hephaestus = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Import the previous configuration.nix we used,
# so the old configuration file still takes effect
./configuration.nix
./nginx.nix
#./authentik.nix
#sops-nix.nixosModules.sops
];
};
};
}

View file

@ -1,42 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/29bb7df2-9a48-4439-b98a-a3c8f39f9aba";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/8840-3B6F";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/ca7b1c38-a559-4535-8e7e-2168e0354d09"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s20f0u3.useDHCP = lib.mkDefault true;
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,50 +0,0 @@
{ config, pkgs, ... }: {
environment.systemPackages = with pkgs; [ nginx ];
services.nginx.enable = true;
services.nginx.virtualHosts = {
"polsevev.dev" = {
useACMEHost = "polsevev.dev";
forceSSL = true;
root = "/var/www/polsevev/dist";
};
"stortissvatnet.no" = {
useACMEHost = "stortissvatnet.no";
forceSSL = true;
root = "/var/www/stortissvatnet";
};
"tissvasselva.no" = {
useACMEHost = "tissvasselva.no";
forceSSL = true;
root = "/var/www/tissvasselva";
};
};
security.acme = {
acceptTerms = true;
defaults.email = "rolf.martin@glomsrud.no";
certs = {
"polsevev.dev" = {
domain = "polsevev.dev";
dnsProvider = "cloudflare";
environmentFile = /cloudflare.env;
group = config.services.nginx.group;
};
"stortissvatnet.no" = {
domain = "stortissvatnet.no";
dnsProvider = "cloudflare";
environmentFile = /cloudflare.env;
group = config.services.nginx.group;
};
"tissvasselva.no" = {
domain = "tissvasselva.no";
dnsProvider = "cloudflare";
environmentFile = /cloudflare.env;
group = config.services.nginx.group;
};
};
};
}

View file

@ -1,46 +0,0 @@
resource "proxmox_vm_qemu" "arkivet" {
name = "arkivet"
desc = "arkivet"
target_node = "oceanus"
agent = 1
onboot = true
clone = "VM 9000"
cores = 8
sockets = 1
cpu = "host"
memory = 4096
# Setup the disk
disks {
ide {
ide2 {
cloudinit {
storage = "cronus_backup"
}
}
}
scsi {
scsi0 {
disk {
size = "15G"
storage = "maskin"
}
}
}
}
network {
bridge = "vmbr0"
model = "virtio"
}
scsihw = "virtio-scsi-pci"
os_type = "cloud-init"
ipconfig0 = "ip=192.168.1.55/24,gw=192.168.1.1"
nameserver = "192.168.1.69"
ciuser = "ansible"
sshkeys = var.ssh_public_key
}

View file

@ -1,31 +1,31 @@
resource "proxmox_vm_qemu" "umami" {
name = "umami"
desc = "Analytics VM"
target_node = "hades"
resource "proxmox_vm_qemu" "postres" {
name = "brevgress"
desc = "Database server"
target_node = "zeus"
agent = 1
onboot = true
clone = "VM 9000"
cores = 4
cores = 2
sockets = 1
cpu = "host"
memory = 4096
memory = 2048
# Setup the disk
disks {
ide {
ide2 {
cloudinit {
storage = "cronus_backup"
storage = "basseng"
}
}
}
scsi {
scsi0 {
disk {
size = "16G"
storage = "maskin"
size = "10G"
storage = "basseng"
}
}
}
@ -38,7 +38,7 @@ resource "proxmox_vm_qemu" "umami" {
}
scsihw = "virtio-scsi-pci"
os_type = "cloud-init"
ipconfig0 = "ip=192.168.1.52/24,gw=192.168.1.1"
ipconfig0 = "ip=192.168.1.70/24,gw=192.168.1.1"
nameserver = "192.168.1.69"
ciuser = "ansible"
sshkeys = var.ssh_public_key

View file

@ -1,46 +0,0 @@
resource "proxmox_vm_qemu" "byggmester" {
name = "byggmester"
desc = "byggmester"
target_node = "hyperion"
agent = 1
onboot = true
clone = "VM 9000"
cores = 4
sockets = 1
cpu = "host"
memory = 2048
# Setup the disk
disks {
ide {
ide2 {
cloudinit {
storage = "cronus_backup"
}
}
}
scsi {
scsi0 {
disk {
size = "15G"
storage = "maskin"
}
}
}
}
network {
bridge = "vmbr0"
model = "virtio"
}
scsihw = "virtio-scsi-pci"
os_type = "cloud-init"
ipconfig0 = "ip=192.168.1.54/24,gw=192.168.1.1"
nameserver = "192.168.1.69"
ciuser = "ansible"
sshkeys = var.ssh_public_key
}

View file

@ -1,32 +1,31 @@
resource "proxmox_vm_qemu" "forgejo" {
name = "forgejo"
desc = "Forgejo"
resource "proxmox_vm_qemu" "havneboks" {
name = "havneboks"
desc = "Docker master"
target_node = "poseidon"
agent = 1
onboot = true
clone = "VM 9000"
clone = "VM 9001"
cores = 4
sockets = 1
cpu = "host"
memory = 2048
memory = 3096
# Setup the disk
disks {
ide {
ide2 {
cloudinit {
storage = "cronus_backup"
storage = "basseng"
}
}
}
scsi {
scsi0 {
disk {
size = "15G"
storage = "maskin"
size = "10G"
storage = "basseng"
}
}
}
@ -39,7 +38,7 @@ resource "proxmox_vm_qemu" "forgejo" {
}
scsihw = "virtio-scsi-pci"
os_type = "cloud-init"
ipconfig0 = "ip=192.168.1.53/24,gw=192.168.1.1"
ipconfig0 = "ip=192.168.1.51/24,gw=192.168.1.1"
nameserver = "192.168.1.69"
ciuser = "ansible"
sshkeys = var.ssh_public_key

View file

@ -1,45 +0,0 @@
resource "proxmox_vm_qemu" "fabrikken" {
name = "fabrikken"
desc = "Factorio VM"
target_node = "hades"
agent = 1
onboot = true
clone = "VM 9000"
cores = 4
sockets = 1
cpu = "host"
memory = 4096
# Setup the disk
disks {
ide {
ide2 {
cloudinit {
storage = "cronus_backup"
}
}
}
scsi {
scsi0 {
disk {
size = "15G"
storage = "maskin"
}
}
}
}
network {
bridge = "vmbr0"
model = "virtio"
}
scsihw = "virtio-scsi-pci"
os_type = "cloud-init"
ipconfig0 = "ip=192.168.1.31/24,gw=192.168.1.1"
nameserver = "192.168.1.69"
ciuser = "ansible"
sshkeys = var.ssh_public_key
}

View file

@ -1,102 +0,0 @@
locals {
master_count = 3
agents_count = 4
master_targets = ["zeus", "hades", "poseidon"]
agent_targets = ["hermes", "ares", "oceanus", "hyperion"]
}
resource "proxmox_vm_qemu" "masters" {
count = local.master_count
name = "mester-${count.index}"
desc = "K3S master node"
target_node = local.master_targets[count.index]
agent = 1
onboot = true
clone = "VM 9000"
cores = 4
sockets = 1
cpu = "host"
memory = 4096
# Setup the disk
disks {
ide {
ide2 {
cloudinit {
storage = "cronus_backup"
}
}
}
scsi {
scsi0 {
disk {
size = "10G"
storage = "maskin"
}
}
}
}
network {
bridge = "vmbr0"
model = "virtio"
}
scsihw = "virtio-scsi-pci"
os_type = "cloud-init"
ipconfig0 = "ip=192.168.1.${80+count.index}/24,gw=192.168.1.1"
nameserver = "192.168.1.69"
ciuser = "ansible"
sshkeys = var.ssh_public_key
}
resource "proxmox_vm_qemu" "agents" {
count = local.agents_count
name = "agent-${count.index}"
desc = "K3S agent node"
target_node = local.agent_targets[count.index]
agent = 1
onboot = true
clone = "VM 9000"
cores = 4
sockets = 1
cpu = "host"
memory = 6144
# Setup the disk
disks {
ide {
ide2 {
cloudinit {
storage = "cronus_backup"
}
}
}
scsi {
scsi0 {
disk {
size = "20G"
storage = "maskin"
}
}
}
}
network {
bridge = "vmbr0"
model = "virtio"
}
scsihw = "virtio-scsi-pci"
os_type = "cloud-init"
ipconfig0 = "ip=192.168.1.${40+count.index}/24,gw=192.168.1.1"
nameserver = "192.168.1.69"
ciuser = "ansible"
sshkeys = var.ssh_public_key
}