Compare commits
19 Commits
eea8db6499
...
master
Author | SHA1 | Date | |
---|---|---|---|
8a9b3db287
|
|||
a72c67f070
|
|||
47745b7bc9
|
|||
c568f00db1
|
|||
99b6959c84
|
|||
fa65726096
|
|||
f9eaf7a41e
|
|||
d825b1f391
|
|||
b296a3f2fe
|
|||
8ff89c9ee1
|
|||
62a4e598bd
|
|||
b65aaa5072
|
|||
98b7aff274
|
|||
6eaf7f7390
|
|||
32e80282ef
|
|||
c8bd9f4ec3
|
|||
d3d189e284
|
|||
71fe688ef8
|
|||
c5d0f96bdf
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,6 +5,7 @@
|
||||
|
||||
/galaxy.roles/
|
||||
/ansible-vault-password-file
|
||||
/temp
|
||||
*.retry
|
||||
|
||||
test_smtp.py
|
||||
|
33
Taskfile.yml
33
Taskfile.yml
@ -12,8 +12,13 @@ vars:
|
||||
sh: 'yq .ungrouped.hosts.server.ansible_user {{.HOSTS_FILE}}'
|
||||
REMOTE_HOST:
|
||||
sh: 'yq .ungrouped.hosts.server.ansible_host {{.HOSTS_FILE}}'
|
||||
AUTHELIA_DOCKER: 'docker run --rm -v $PWD:/data authelia/authelia:4.39.4 authelia'
|
||||
|
||||
tasks:
|
||||
install-roles:
|
||||
cmds:
|
||||
- ansible-galaxy role install --role-file requirements.yml --force
|
||||
|
||||
ssh:
|
||||
cmds:
|
||||
- ssh {{.REMOTE_USER}}@{{.REMOTE_HOST}}
|
||||
@ -32,7 +37,33 @@ tasks:
|
||||
|
||||
authelia-cli:
|
||||
cmds:
|
||||
- docker run --rm authelia/authelia:latest authelia {{.CLI_ARGS}}
|
||||
- "{{.AUTHELIA_DOCKER}} {{.CLI_ARGS}}"
|
||||
|
||||
authelia-validate-config:
|
||||
vars:
|
||||
DEST_FILE: "temp/configuration.yml"
|
||||
cmds:
|
||||
- >
|
||||
ansible localhost
|
||||
--module-name template
|
||||
--args "src=files/authelia/configuration.yml.j2 dest={{.DEST_FILE}}"
|
||||
--extra-vars "@vars/secrets.yml"
|
||||
- defer: rm -f {{.DEST_FILE}}
|
||||
- >
|
||||
{{.AUTHELIA_DOCKER}}
|
||||
validate-config --config /data/{{.DEST_FILE}}
|
||||
|
||||
authelia-gen-random-string:
|
||||
cmds:
|
||||
- >
|
||||
{{.AUTHELIA_DOCKER}}
|
||||
crypto rand --length 32 --charset alphanumeric
|
||||
|
||||
authelia-gen-secret-and-hash:
|
||||
cmds:
|
||||
- >
|
||||
{{.AUTHELIA_DOCKER}}
|
||||
crypto hash generate pbkdf2 --variant sha512 --random --random.length 72 --random.charset rfc3986
|
||||
|
||||
format-py-files:
|
||||
cmds:
|
||||
|
File diff suppressed because it is too large
Load Diff
3725
files/authelia/configuration.yml.j2
Normal file
3725
files/authelia/configuration.yml.j2
Normal file
File diff suppressed because it is too large
Load Diff
@ -2,8 +2,8 @@ services:
|
||||
|
||||
authelia_app:
|
||||
container_name: 'authelia_app'
|
||||
image: 'docker.io/authelia/authelia:4.39.3'
|
||||
user: '{{ user_create_result.uid }}:{{ user_create_result.group }}'
|
||||
image: 'docker.io/authelia/authelia:4.39.4'
|
||||
user: '{{ user_create_result.uid }}:{{ user_create_result.group }}'
|
||||
restart: 'unless-stopped'
|
||||
networks:
|
||||
- "{{ web_proxy_network }}"
|
||||
|
@ -1,36 +1,37 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
62333333383237396435306539366633646534333231666238326561306439316632383862646132
|
||||
3938353633633131396535333764396238356561373739630a353662343534383761383132373530
|
||||
31343032633261636136313562333331336531386165313264363536363866653562303131313831
|
||||
6632346465646231360a363264653964633738323637323130366264643639633965636632623933
|
||||
64383734623763303330313231316535646635646232386663613833653337396538623363303838
|
||||
30656263346165643632646662363865373531336339393435383935363333393764373664373630
|
||||
33303435303530656432326634623034616633326432613361333236663661393035623961613035
|
||||
39376339393935626637316461636263333666616261646661316631376365356562633063636665
|
||||
63626362336632393235333838313933353637393064616562333235656232613162636631343962
|
||||
37623930666534373437353231353631333430363865333937356666313062336630396538333832
|
||||
35353032333461616635616561656330626664306565313462656532393035353439366437336332
|
||||
37363732373961386533323633323330626533383438663466313438636662343064306236396163
|
||||
31383430643233393939656631646538663833336239323564363563356234306534343465316466
|
||||
61333534363862376539626639353634343234623061316265333763633362336336316534643236
|
||||
61303862386161346533386233303335333136653836666633363738643030633262313232336136
|
||||
38363561376464313066373631356262626234653464356330646666336536623032333634613863
|
||||
32303731396365646138343132623534336366633036623231386439376133656235633035663964
|
||||
36366130633331353464643264383231306639326133633464306638653139666563636563343539
|
||||
65383261396537383438646237633737343236666662633664346332383264646537643535376638
|
||||
66653639633762356566306435383039326630373431343935383766303338363438643135616563
|
||||
33613837613461343036363365356336336631663230326235623965663133336263636636333735
|
||||
64646162326566643536323165363531633330373536656531666334336364313231393234333631
|
||||
38363630653439393065316662306463333563323339313438366238653865653265363535616630
|
||||
64613031653831616666666533346134656630646337633661623163653731656231363232663763
|
||||
61386566356635663561356264633462643265643361343535303365396537363134303438393234
|
||||
34633037356162663933396339373932303138633165323438643230666434363666313361386530
|
||||
38623463663237363335316363333631616133363336326333346436376462663839303961643462
|
||||
61396433383966356635613663636663383264666165373137346234646236623339323738303263
|
||||
63623739303037386363623739623034623435643534353765656535323134656263633066313735
|
||||
35646338613530663633366437353563636364393063386237316265386538616137343735363333
|
||||
61376434303037323236323761376235633631633036653639333862636466653337303662663234
|
||||
30613362386338663531616261386265616131356535346437326436326638346636343666303431
|
||||
63313638313739623761333665616434356561653031666430623530363539626661646638316637
|
||||
35393531363863333737303865323765636633633633623032353061373838376564393136336662
|
||||
643366643665653265323065373536653536
|
||||
33323463653739626134366261626263396338333966376262313263613131343962326432613263
|
||||
6430616564313432666436376432383539626231616438330a646161313364353566373833353337
|
||||
64633361306564646564663736663937303435356332316432666135353863393439663235646462
|
||||
3136303031383835390a396531366636386133656366653835633833633733326561383066656464
|
||||
31613933333731643065316130303561383563626636346633396266346332653234373732326535
|
||||
39663765353938333835646563663633393835633163323435303164663261303661666435306239
|
||||
34353264633736383565306336633565376436646536623835613330393466363935303031346664
|
||||
63626465656435383162633761333131393934666632336539386435613362353135383538643836
|
||||
66373261306139353134393839333539366531393163393266386531613732366431663865343134
|
||||
64363933616338663966353431396133316561653366396130653232636561343739336265386339
|
||||
38646238653436663531633465616164303633356233363433623038666465326339656238653233
|
||||
36323162303233633935646132353835336364303833636563346535316166346533636536656665
|
||||
64323030616665316133363739393364306462316135636630613262646436643062373138656431
|
||||
35663334616239623534383564643738616264373762663034376332323637626337306639653830
|
||||
65386339666465343931303933663561643664313364386662656663643336636264636333666435
|
||||
66366531613538363233346137383462326334306534333564636232393931393433386664363036
|
||||
39623134636331646536323531653063326231613363366562643561353939633062663132303035
|
||||
38303265326136303633666566613966636133666336396133333033643434303138303065666463
|
||||
36643765316134636133333937396332613233383932663265386264623133633364646237346465
|
||||
32623965653662336335366639643765393636623236323036396538353666646132393636663536
|
||||
65646638643236313762373135336430643731643961386264303134366633353934366431333430
|
||||
34313362633836613166336437323835626537653237666139383230663835626630623933383834
|
||||
32636136663830643661363663303136393733646133626538333836666135653936323832336433
|
||||
64396234396430326334656561393264366263313730306631383037643135613765373861356561
|
||||
37363933383238316232336564363364376637626630373963666262376165343838303530653764
|
||||
64343937666365646666363939383662313334656236326566373565643637313434616261616635
|
||||
35646131396432623534396133666239613036386332663038353531313935636139363136666562
|
||||
62616234663935383262626235313337623332333733383035666633393965336535316234323561
|
||||
37353563623138343339616565653465633633383563636631356333303435376536393634343031
|
||||
63653062303432366230643333353634383061313135616533643935316263393366653335353964
|
||||
36363135356365373064613338393261326265396330323930613538326330663532616163666564
|
||||
39313631633434353938626637626462376139383536306531633733646331303030333238373161
|
||||
36336364383939663132366461383264346631366566363638333738386235623264623331343738
|
||||
34316436393363323165396430343163653837623035626236313663643038336666633535666462
|
||||
33323566353062653964643362363233346264396365336637376661323730336437333031363830
|
||||
38303962646561346262
|
||||
|
@ -4,23 +4,23 @@ set -eu
|
||||
set -o pipefail
|
||||
|
||||
echo "Backup: perform gitea backup"
|
||||
|
||||
su --login gitea --command '/home/gitea/backup.sh'
|
||||
|
||||
|
||||
echo "Backup: perform outline backup"
|
||||
|
||||
su --login outline --command '/home/outline/backup.sh'
|
||||
|
||||
|
||||
echo "Backup: perform gramps backup"
|
||||
|
||||
su --login gramps --command '/home/gramps/backup.sh'
|
||||
|
||||
echo "Backup: perform miniflux backup"
|
||||
su --login miniflux --command '/home/miniflux/backup.sh'
|
||||
|
||||
echo "Backup: perform wakapi backup"
|
||||
su --login wakapi --command '/home/wakapi/backup.sh'
|
||||
|
||||
echo "Backup: send backups to remote storage with retic"
|
||||
|
||||
restic-shell.sh backup --verbose /home/gitea/backups /home/outline/backups /home/gramps/backups \
|
||||
restic-shell.sh backup --verbose /home/gitea/backups /home/outline/backups /home/gramps/backups /home/miniflux/backups /home/wakapi/backups \
|
||||
&& restic-shell.sh check \
|
||||
&& restic-shell.sh forget --compact --prune --keep-daily 90 --keep-monthly 36 \
|
||||
&& restic-shell.sh check
|
||||
|
@ -64,3 +64,30 @@ gramps.vakhrushev.me {
|
||||
}
|
||||
}
|
||||
|
||||
miniflux.vakhrushev.me {
|
||||
tls anwinged@ya.ru
|
||||
|
||||
reverse_proxy {
|
||||
to miniflux_app:8080
|
||||
}
|
||||
}
|
||||
|
||||
wakapi.vakhrushev.me {
|
||||
tls anwinged@ya.ru
|
||||
|
||||
reverse_proxy {
|
||||
to wakapi_app:3000
|
||||
}
|
||||
}
|
||||
|
||||
rssbridge.vakhrushev.me {
|
||||
tls anwinged@ya.ru
|
||||
|
||||
forward_auth authelia_app:9091 {
|
||||
uri /api/authz/forward-auth
|
||||
copy_headers Remote-User Remote-Groups Remote-Email Remote-Name
|
||||
}
|
||||
|
||||
reverse_proxy rssbridge_app:80
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
services:
|
||||
|
||||
{{ service_name }}:
|
||||
image: caddy:2.9.1
|
||||
image: caddy:2.10.0
|
||||
restart: unless-stopped
|
||||
container_name: {{ service_name }}
|
||||
ports:
|
||||
|
@ -1,7 +1,7 @@
|
||||
services:
|
||||
|
||||
gitea_app:
|
||||
image: gitea/gitea:1.23.7
|
||||
image: gitea/gitea:1.24.2
|
||||
restart: unless-stopped
|
||||
container_name: gitea_app
|
||||
ports:
|
||||
|
@ -3,13 +3,11 @@
|
||||
services:
|
||||
|
||||
gramps_app: &gramps_app
|
||||
image: ghcr.io/gramps-project/grampsweb:v25.5.1
|
||||
image: ghcr.io/gramps-project/grampsweb:25.7.0
|
||||
container_name: gramps_app
|
||||
depends_on:
|
||||
- gramps_redis
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:{{ gramps_port }}:5000" # host:docker
|
||||
networks:
|
||||
- "gramps_network"
|
||||
- "{{ web_proxy_network }}"
|
||||
|
@ -32,7 +32,7 @@ def main():
|
||||
sorted_files = sorted(files)
|
||||
|
||||
# Identify files to delete
|
||||
to_delete = sorted_files[: -args.keep] if args.keep > 0 else sorted_files.copy()
|
||||
to_delete = sorted_files[:-args.keep] if args.keep > 0 else sorted_files.copy()
|
||||
|
||||
# Delete files and print results
|
||||
for filename in to_delete:
|
||||
|
25
files/miniflux/backup.sh.j2
Normal file
25
files/miniflux/backup.sh.j2
Normal file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eu
|
||||
set -o pipefail
|
||||
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_FILE="miniflux_postgres_${TIMESTAMP}.sql.gz"
|
||||
|
||||
echo "miniflux: backing up postgresql database"
|
||||
|
||||
docker compose --file "{{ base_dir }}/docker-compose.yml" exec \
|
||||
miniflux_postgres \
|
||||
pg_dump \
|
||||
-U "{{ miniflux_postgres_user }}" \
|
||||
"{{ miniflux_postgres_database }}" \
|
||||
| gzip > "{{ postgres_backups_dir }}/${BACKUP_FILE}"
|
||||
|
||||
echo "miniflux: PostgreSQL backup saved to {{ postgres_backups_dir }}/${BACKUP_FILE}"
|
||||
|
||||
echo "miniflux: removing old backups"
|
||||
|
||||
# Keep only the 3 most recent backups
|
||||
keep-files.py "{{ postgres_backups_dir }}" --keep 3
|
||||
|
||||
echo "miniflux: backup completed successfully."
|
52
files/miniflux/docker-compose.yml.j2
Normal file
52
files/miniflux/docker-compose.yml.j2
Normal file
@ -0,0 +1,52 @@
|
||||
# See sample https://miniflux.app/docs/docker.html#docker-compose
|
||||
# See env https://miniflux.app/docs/configuration.html
|
||||
|
||||
services:
|
||||
miniflux_app:
|
||||
image: miniflux/miniflux:2.2.10
|
||||
container_name: miniflux_app
|
||||
depends_on:
|
||||
miniflux_postgres:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- "miniflux_network"
|
||||
- "{{ web_proxy_network }}"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://{{ miniflux_postgres_user }}:{{ miniflux_postgres_password }}@miniflux_postgres/{{ miniflux_postgres_database }}?sslmode=disable
|
||||
- RUN_MIGRATIONS=1
|
||||
- CREATE_ADMIN=1
|
||||
- ADMIN_USERNAME={{ miniflux_admin_user }}
|
||||
- ADMIN_PASSWORD={{ miniflux_admin_password }}
|
||||
- BASE_URL=https://miniflux.vakhrushev.me
|
||||
- DISABLE_LOCAL_AUTH=1
|
||||
- OAUTH2_OIDC_DISCOVERY_ENDPOINT=https://auth.vakhrushev.me
|
||||
- OAUTH2_CLIENT_ID={{ miniflux_oidc_client_id }}
|
||||
- OAUTH2_CLIENT_SECRET={{ miniflux_oidc_client_secret }}
|
||||
- OAUTH2_OIDC_PROVIDER_NAME=Authelia
|
||||
- OAUTH2_PROVIDER=oidc
|
||||
- OAUTH2_REDIRECT_URL=https://miniflux.vakhrushev.me/oauth2/oidc/callback
|
||||
- OAUTH2_USER_CREATION=1
|
||||
- METRICS_COLLECTOR=1
|
||||
- METRICS_ALLOWED_NETWORKS=0.0.0.0/0
|
||||
|
||||
miniflux_postgres:
|
||||
image: postgres:16.3-bookworm
|
||||
container_name: miniflux_postgres
|
||||
environment:
|
||||
- POSTGRES_USER={{ miniflux_postgres_user }}
|
||||
- POSTGRES_PASSWORD={{ miniflux_postgres_password }}
|
||||
- POSTGRES_DB={{ miniflux_postgres_database }}
|
||||
networks:
|
||||
- "miniflux_network"
|
||||
volumes:
|
||||
- {{ postgres_data_dir }}:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD", "pg_isready", "-U", "miniflux"]
|
||||
interval: 10s
|
||||
start_period: 30s
|
||||
|
||||
networks:
|
||||
miniflux_network:
|
||||
driver: bridge
|
||||
{{ web_proxy_network }}:
|
||||
external: true
|
@ -2,7 +2,7 @@
|
||||
services:
|
||||
|
||||
netdata:
|
||||
image: netdata/netdata:v2.5.0
|
||||
image: netdata/netdata:v2.5.4
|
||||
container_name: netdata
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
@ -26,9 +26,11 @@ services:
|
||||
- "/run/dbus:/run/dbus:ro"
|
||||
- "/sys:/host/sys:ro"
|
||||
- "/var/log:/host/var/log:ro"
|
||||
- "/var/run:/host/var/run:ro"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
environment:
|
||||
PGID: "{{ netdata_docker_group_output.stdout | default(999) }}"
|
||||
NETDATA_EXTRA_DEB_PACKAGES: "fail2ban"
|
||||
|
||||
networks:
|
||||
{{ web_proxy_network }}:
|
||||
|
3
files/netdata/go.d/fail2ban.conf
Normal file
3
files/netdata/go.d/fail2ban.conf
Normal file
@ -0,0 +1,3 @@
|
||||
jobs:
|
||||
- name: fail2ban
|
||||
update_every: 5 # Collect Fail2Ban jails statistics every 5 seconds
|
@ -2,8 +2,21 @@ update_every: 5
|
||||
autodetection_retry: 0
|
||||
|
||||
jobs:
|
||||
|
||||
- name: caddyproxy
|
||||
url: http://caddyproxy:2019/metrics
|
||||
selector:
|
||||
allow:
|
||||
- "caddy_http_*"
|
||||
|
||||
- name: authelia
|
||||
url: http://authelia_app:9959/metrics
|
||||
selector:
|
||||
allow:
|
||||
- "authelia_*"
|
||||
|
||||
- name: miniflux
|
||||
url: http://miniflux_app:8080/metrics
|
||||
selector:
|
||||
allow:
|
||||
- "miniflux_*"
|
||||
|
12
files/rssbridge/docker-compose.yml.j2
Normal file
12
files/rssbridge/docker-compose.yml.j2
Normal file
@ -0,0 +1,12 @@
|
||||
services:
|
||||
|
||||
rssbridge_app:
|
||||
image: rssbridge/rss-bridge:2025-06-03
|
||||
container_name: rssbridge_app
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- "{{ web_proxy_network }}"
|
||||
|
||||
networks:
|
||||
{{ web_proxy_network }}:
|
||||
external: true
|
10
files/wakapi/backup.sh.j2
Normal file
10
files/wakapi/backup.sh.j2
Normal file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eu
|
||||
set -o pipefail
|
||||
|
||||
echo "{{ app_name }}: backup data with gobackups"
|
||||
|
||||
(cd "{{ base_dir }}" && gobackup perform --config "{{ gobackup_config }}")
|
||||
|
||||
echo "{{ app_name }}: done."
|
32
files/wakapi/docker-compose.yml.j2
Normal file
32
files/wakapi/docker-compose.yml.j2
Normal file
@ -0,0 +1,32 @@
|
||||
# See versions: https://github.com/gramps-project/gramps-web/pkgs/container/grampsweb
|
||||
|
||||
services:
|
||||
|
||||
wakapi_app:
|
||||
image: ghcr.io/muety/wakapi:2.14.0
|
||||
container_name: wakapi_app
|
||||
restart: unless-stopped
|
||||
user: '{{ user_create_result.uid }}:{{ user_create_result.group }}'
|
||||
networks:
|
||||
- "{{ web_proxy_network }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}:/data"
|
||||
environment:
|
||||
WAKAPI_PUBLIC_URL: "https://wakapi.vakhrushev.me"
|
||||
WAKAPI_PASSWORD_SALT: "{{ wakapi_password_salt }}"
|
||||
WAKAPI_ALLOW_SIGNUP: "false"
|
||||
WAKAPI_DISABLE_FRONTPAGE: "true"
|
||||
WAKAPI_COOKIE_MAX_AGE: 31536000
|
||||
# Mail
|
||||
WAKAPI_MAIL_SENDER: "Wakapi <wakapi@vakhrushev.me>"
|
||||
WAKAPI_MAIL_PROVIDER: "smtp"
|
||||
WAKAPI_MAIL_SMTP_HOST: "{{ postbox_host }}"
|
||||
WAKAPI_MAIL_SMTP_PORT: "{{ postbox_port }}"
|
||||
WAKAPI_MAIL_SMTP_USER: "{{ postbox_user }}"
|
||||
WAKAPI_MAIL_SMTP_PASS: "{{ postbox_pass }}"
|
||||
WAKAPI_MAIL_SMTP_TLS: "false"
|
||||
|
||||
|
||||
networks:
|
||||
{{ web_proxy_network }}:
|
||||
external: true
|
16
files/wakapi/gobackup.yml.j2
Normal file
16
files/wakapi/gobackup.yml.j2
Normal file
@ -0,0 +1,16 @@
|
||||
# https://gobackup.github.io/configuration
|
||||
|
||||
models:
|
||||
|
||||
gramps:
|
||||
compress_with:
|
||||
type: 'tgz'
|
||||
storages:
|
||||
local:
|
||||
type: 'local'
|
||||
path: '{{ backups_dir }}'
|
||||
keep: 3
|
||||
databases:
|
||||
wakapi:
|
||||
type: sqlite
|
||||
path: "{{ (data_dir, 'wakapi.db') | path_join }}"
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
app_name: "authelia"
|
||||
@ -38,9 +38,16 @@
|
||||
group: "{{ app_user }}"
|
||||
mode: "0600"
|
||||
loop:
|
||||
- "configuration.yml"
|
||||
- "users.yml"
|
||||
|
||||
- name: "Copy configuration files (templates)"
|
||||
ansible.builtin.template:
|
||||
src: "files/{{ app_name }}/configuration.yml.j2"
|
||||
dest: "{{ (config_dir, 'configuration.yml') | path_join }}"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0600"
|
||||
|
||||
- name: "Copy docker compose file"
|
||||
ansible.builtin.template:
|
||||
src: "./files/{{ app_name }}/docker-compose.yml.j2"
|
||||
|
@ -3,7 +3,7 @@
|
||||
hosts: all
|
||||
|
||||
vars_files:
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
app_name: "caddyproxy"
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
tasks:
|
||||
- name: "Install python docker lib from pip"
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
# See: https://github.com/zyedidia/eget/releases
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
app_name: "gitea"
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
app_name: "gramps"
|
||||
|
@ -4,7 +4,7 @@
|
||||
hosts: all
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
- vars/homepage.yml
|
||||
tags:
|
||||
- setup
|
||||
@ -28,7 +28,7 @@
|
||||
hosts: all
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
- vars/homepage.yml
|
||||
tags:
|
||||
- deploy
|
||||
|
55
playbook-miniflux.yml
Normal file
55
playbook-miniflux.yml
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
- name: "Configure miniflux application"
|
||||
hosts: all
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
app_name: "miniflux"
|
||||
app_user: "{{ app_name }}"
|
||||
base_dir: "/home/{{ app_user }}"
|
||||
data_dir: "{{ (base_dir, 'data') | path_join }}"
|
||||
postgres_data_dir: "{{ (base_dir, 'data', 'postgres') | path_join }}"
|
||||
postgres_backups_dir: "{{ (base_dir, 'backups', 'postgres') | path_join }}"
|
||||
|
||||
tasks:
|
||||
- name: "Create user and environment"
|
||||
ansible.builtin.import_role:
|
||||
name: owner
|
||||
vars:
|
||||
owner_name: "{{ app_user }}"
|
||||
owner_extra_groups: ["docker"]
|
||||
|
||||
- name: "Create internal directories"
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: "directory"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0770"
|
||||
loop:
|
||||
- "{{ postgres_backups_dir }}"
|
||||
|
||||
- name: "Copy docker compose file"
|
||||
ansible.builtin.template:
|
||||
src: "./files/{{ app_name }}/docker-compose.yml.j2"
|
||||
dest: "{{ base_dir }}/docker-compose.yml"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0640"
|
||||
|
||||
- name: "Copy backup script"
|
||||
ansible.builtin.template:
|
||||
src: "./files/{{ app_name }}/backup.sh.j2"
|
||||
dest: "{{ base_dir }}/backup.sh"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0750"
|
||||
|
||||
- name: "Run application with docker compose"
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ base_dir }}"
|
||||
state: "present"
|
||||
remove_orphans: true
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
app_name: "netdata"
|
||||
@ -50,6 +50,14 @@
|
||||
group: "{{ app_user }}"
|
||||
mode: "0640"
|
||||
|
||||
- name: "Copy fail2ban plugin config file"
|
||||
ansible.builtin.copy:
|
||||
src: "files/{{ app_name }}/go.d/fail2ban.conf"
|
||||
dest: "{{ config_go_d_dir }}/fail2ban.conf"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0640"
|
||||
|
||||
- name: "Grab docker group id."
|
||||
ansible.builtin.shell:
|
||||
cmd: |
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
app_name: "outline"
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
user_name: "<put-name-here>"
|
||||
|
34
playbook-rssbridge.yml
Normal file
34
playbook-rssbridge.yml
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
- name: "Configure rssbridge application"
|
||||
hosts: all
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
app_name: "rssbridge"
|
||||
app_user: "{{ app_name }}"
|
||||
base_dir: "/home/{{ app_user }}"
|
||||
|
||||
tasks:
|
||||
- name: "Create user and environment"
|
||||
ansible.builtin.import_role:
|
||||
name: owner
|
||||
vars:
|
||||
owner_name: "{{ app_user }}"
|
||||
owner_extra_groups: ["docker"]
|
||||
|
||||
- name: "Copy docker compose file"
|
||||
ansible.builtin.template:
|
||||
src: "./files/{{ app_name }}/docker-compose.yml.j2"
|
||||
dest: "{{ base_dir }}/docker-compose.yml"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0640"
|
||||
|
||||
- name: "Run application with docker compose"
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ base_dir }}"
|
||||
state: "present"
|
||||
remove_orphans: true
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
apt_packages:
|
||||
@ -25,21 +25,13 @@
|
||||
name: "{{ apt_packages }}"
|
||||
update_cache: true
|
||||
|
||||
- name: "Configure timezone"
|
||||
ansible.builtin.import_role:
|
||||
name: yatesr.timezone
|
||||
vars:
|
||||
timezone: UTC
|
||||
tags:
|
||||
- skip_ansible_lint
|
||||
|
||||
- name: "Configure security settings"
|
||||
ansible.builtin.import_role:
|
||||
name: geerlingguy.security
|
||||
vars:
|
||||
security_ssh_permit_root_login: "yes"
|
||||
security_autoupdate_enabled: "no"
|
||||
security_fail2ban_enabled: "yes"
|
||||
security_fail2ban_enabled: true
|
||||
|
||||
- name: "Copy keep files script"
|
||||
ansible.builtin.copy:
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/vars.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
tasks:
|
||||
- name: Perform an upgrade of packages
|
||||
|
64
playbook-wakapi.yml
Normal file
64
playbook-wakapi.yml
Normal file
@ -0,0 +1,64 @@
|
||||
---
|
||||
- name: "Configure wakapi application"
|
||||
hosts: all
|
||||
|
||||
vars_files:
|
||||
- vars/ports.yml
|
||||
- vars/secrets.yml
|
||||
|
||||
vars:
|
||||
app_name: "wakapi"
|
||||
app_user: "{{ app_name }}"
|
||||
base_dir: "/home/{{ app_user }}"
|
||||
data_dir: "{{ (base_dir, 'data') | path_join }}"
|
||||
backups_dir: "{{ (base_dir, 'backups') | path_join }}"
|
||||
gobackup_config: "{{ (base_dir, 'gobackup.yml') | path_join }}"
|
||||
|
||||
tasks:
|
||||
- name: "Create user and environment"
|
||||
ansible.builtin.import_role:
|
||||
name: owner
|
||||
vars:
|
||||
owner_name: "{{ app_user }}"
|
||||
owner_extra_groups: ["docker"]
|
||||
|
||||
- name: "Create application internal directories"
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: "directory"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0750"
|
||||
loop:
|
||||
- "{{ data_dir }}"
|
||||
- "{{ backups_dir }}"
|
||||
|
||||
- name: "Copy gobackup config"
|
||||
ansible.builtin.template:
|
||||
src: "./files/{{ app_name }}/gobackup.yml.j2"
|
||||
dest: "{{ gobackup_config }}"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0640"
|
||||
|
||||
- name: "Copy backup script"
|
||||
ansible.builtin.template:
|
||||
src: "files/{{ app_name }}/backup.sh.j2"
|
||||
dest: "{{ base_dir }}/backup.sh"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0750"
|
||||
|
||||
- name: "Copy docker compose file"
|
||||
ansible.builtin.template:
|
||||
src: "./files/{{ app_name }}/docker-compose.yml.j2"
|
||||
dest: "{{ base_dir }}/docker-compose.yml"
|
||||
owner: "{{ app_user }}"
|
||||
group: "{{ app_user }}"
|
||||
mode: "0640"
|
||||
|
||||
- name: "Run application with docker compose"
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ base_dir }}"
|
||||
state: "present"
|
||||
remove_orphans: true
|
@ -3,7 +3,7 @@
|
||||
version: 1.2.2
|
||||
|
||||
- src: geerlingguy.security
|
||||
version: 2.4.0
|
||||
version: 3.0.0
|
||||
|
||||
- src: geerlingguy.docker
|
||||
version: 7.4.3
|
||||
version: 7.4.7
|
||||
|
142
vars/secrets.yml
Normal file
142
vars/secrets.yml
Normal file
@ -0,0 +1,142 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
62653431636461623338643536653736633166303934626565363963373637396534303130373035
|
||||
6565376162653735313737333439633862643366336264650a633265316463323062653032363861
|
||||
32626536343138663837633334316537373662653262366163633334623764633938323363363962
|
||||
6230333564643665320a613862653632363363616266336338346539323964383736366235306437
|
||||
33306363353163383663643062656330313134353836666232616532316264303564336235356661
|
||||
30653262363866653139646436333036393837383262643537313933613939326433313565393465
|
||||
31373036353133663337613935343038616164316132303833363338623863633234656537653039
|
||||
62626436346238636234393939366139363034306432326538656264343733356537393332633836
|
||||
38636639626665666238656338363633383566616638353235383465623232646537616230626630
|
||||
63303130316438353934656636393366306566346362356564393661643064323630636463383061
|
||||
37636461386432323136393739633862313337333261306664323361393835323034643134383461
|
||||
31313762616538336666656137373631336132383364646163633732323431613239333563653332
|
||||
65616664333839363834333362626238633833666430653738613636333432333430333861356339
|
||||
61323865663661383534343964346238383134613532616637346235616139383434623564333361
|
||||
31636165653261363830623162623738333937316664633434346431626630393837366666643434
|
||||
61643734653834326434353431393732376266626266313264376235323838313539306463653864
|
||||
36393461366230643234376161623330326365616539323965633431633238386262373562383161
|
||||
39323634633166643038356434616461613864303334393932663730303839373530643933323839
|
||||
66353337326336656635636362356531613634623633303461336565363564393964663430393666
|
||||
64326439346233346132653230343234653430653239636362616561636166343030303863373337
|
||||
36363633646432613138313062346164663730313061363432396138323561366430316439343036
|
||||
32353931393064666231323863656165363066313236613332356161363139616636333963386130
|
||||
37363030383765613132353161613766633635363033656561343038633839313933646264383730
|
||||
64336339646264383332373639326164373163383966626363653762643037353636376336626136
|
||||
33346533303036326531316332306461646361376435316438376161663162336335353938366565
|
||||
30633133653431393066393961313138383337313731653031323432633766356338316366373432
|
||||
32373937663961623739633439636661336461346132376533373961666432353937373066643165
|
||||
61663063363661633938373365393665356665636562646265313834373962336566393835633339
|
||||
34396666396162613162326331313037303933366564623837386338363063636564656339336639
|
||||
66346465366233663534373465313930323134313835316464363263383866313563396263616535
|
||||
63383265623865636162346635613863356266336664343434393437656134353639353535383332
|
||||
62623934643930313939646466663336633034343534396137333264623263663866663339663266
|
||||
30343234356536663262616363376663646264353331646164376331376639363135373137396437
|
||||
37363166386233356434656237373535326162303437346233623263663534383032363638376134
|
||||
61653939306433393437656465343066613530396265396262373433383637656266303064623234
|
||||
64333062353435373863636439663561393763333538303836303631666262326430623835656138
|
||||
37653562353562373935333235316430613737653862303933333062643663333364333966643461
|
||||
33323335346566363337643161303835356336306232653763346639323265373432376239363566
|
||||
64373562653238333865326335613133636335373739396335633631313431363061616139303463
|
||||
37333364393438666532396131343637373833353766396234383739306565646439366438653032
|
||||
33656330343061636338643465653664326338663233316631303465666632653436633135643664
|
||||
64616132366632666431653262393035393163343664303961396431666236303864303865343634
|
||||
35616634613165373637653235323164323666343436646339646637646234306163333462393063
|
||||
32346534636165656436353036316232303266616135303663343631303565623562616237306365
|
||||
65303938646239393564333461343238636335336533633265383066653734613332656563666434
|
||||
31316665613630336263613934316361383332363164323266373565323239343033666663396534
|
||||
39323739313636616232663535386439363065333766623837336230303334656466656262613363
|
||||
37386664336436376530373436353235616437333834646563353830626162336261333135383866
|
||||
64383930316531373366646335306131633166353161336463376530353066356530393665393063
|
||||
31613636386532623035373866373065633233633135343439616662616232366337313764646436
|
||||
64626262643532613136373238316561616361393433323066326333663663353236393662396539
|
||||
31653036303031303462643231333965653536666136313638613832393361666131363435633932
|
||||
31663864326563663230626237643763333737613239373134626433636564386231383961316162
|
||||
39383165336433626466393935383363396333636131643733663866356434366664613766396263
|
||||
34313934626133653361633665323131613736306331373732323434323535346136393964356231
|
||||
62346136356331393238346333393266613365633563626238353530333931613330663765393936
|
||||
32333261353634646366323238353238643837633735636662356630373464343330626630656130
|
||||
36356565356430643133386461313335343436316263303064366139316638663161356332386362
|
||||
37376431393661386231313763303266313630323362363664336366633035353562303439373630
|
||||
33343265633630343065363461363064653933303932613761303538393734373962613633386539
|
||||
66636534333537313135356665633966326430373062346136326532666638303334653263646431
|
||||
38393131653338316663313265653861663334326635353137623739396636333637343137636339
|
||||
32303836373535326363396434326233623532633931653039643763326263616232333462616631
|
||||
36666564623030396134346665386661386433366266363739626161653062323963313365353161
|
||||
35643530343439326133613939353737653165326538666530366530323963363839373032326462
|
||||
34666235376263616364656130633637346334353934396132353263313237316366303137386430
|
||||
64653563333963313361303239666361336136356363306266633833366262326431616161613238
|
||||
38653538613032386238623839663332613064333031303939363733396635373238666562386536
|
||||
32316566666435376239386637396334643861643634316338613063656465373164646530363865
|
||||
34373130636435326130633437303539646535336131393339613139383636333763336530636534
|
||||
34636666666265373636326666333130623863316465663333653466353063313134386262333739
|
||||
62626264393362353663303531313061643538663532333164336662343732373463623166396539
|
||||
39396531376338616538633633343733343765306237656466666232623163303738643431633763
|
||||
61656335616430653936303831393664653365363764333362373337323364323039363163353461
|
||||
61336536316466396636306266353830316665343739613033346538333830306263386134613737
|
||||
64316339613462346438656362346664303762643766373364343931626530626439336634666537
|
||||
31633964386564663531343764326666666261643464353438353035333665363434646661646663
|
||||
38636239373331623061343730376632393963303732393533396464633131633435373161303163
|
||||
66383461343861326665623463636262336562633936623563373136613063356362383862663232
|
||||
37333331373431393137363735613366656434323065346661366433663464666363343231393863
|
||||
64633530316230653065356165366135396531663731323866376162306238343962376362633234
|
||||
61626563306431623336623737353931316236623333623337383366613262346631646330313637
|
||||
39366239396330303461303666396431663062626533336136643039353034633230353765353334
|
||||
38613362653963336162326163356662356661386630353664333265373032316531656131376665
|
||||
37376262363130336161613230333863653662623436666361396561613935323432663665643138
|
||||
38616564636634613164313666393532396265396135326538336665373232316461326635306131
|
||||
34343632636637653835653131613161316237346239363830386536363933643532333533373333
|
||||
39643364306163666366376535653333323435383332633961343930633635383030356463333964
|
||||
39626130666166313234386439383833616265316265363430343134633730336261383435356138
|
||||
62373063346238613061363033343366623633373034346531303538396335653938646664303962
|
||||
31336634623135616237323837623831306535316463613266326262663934303938373132343735
|
||||
37656335333263326531646162393738653632376164323165393563656138613830633936396433
|
||||
61353332343134636564333233393863643837353366386234376237623435663765343366363033
|
||||
63326233383962633266303962613361643464613764303531333930363736323535386632393766
|
||||
61353666303134663466333330383031333933666137346364656364313965656164303065303530
|
||||
34616130653061613934393831373130333566363736626261316330303966656162326638333130
|
||||
66373133613536623566303432356666346535636237616561323063643439616436393666376536
|
||||
32613830343636393031333737376332396230313034393062663437613838363263333233613439
|
||||
30623039336339373234326261306435366332656164613439376139346333616331326561383963
|
||||
30643133376632656564616536323863373237623263366266396264633464373765316164346165
|
||||
37636233633661643362636630356333333766613036663335613264333439323239633861363034
|
||||
34663937376530653837653236303839336631313863363239626632646436653638366638366566
|
||||
39306538353231623434373537313862386335393262633062313432646232623863383731313031
|
||||
30656366363837366666393933346238363336363030373836386230343062363661306263633163
|
||||
33626562623935643665626239386133636531393536336661613430343630333961303233343430
|
||||
63656666346138643163393663316134666336323961626163376461663635633834333337393062
|
||||
61656163613234633965356133666335343065626137633137333266613561633936386136643134
|
||||
37383562663031393133326662623136386539633066323336306262346236613161613637626162
|
||||
36636133666334333636653535623732343233396430653566393165353431303739656239373738
|
||||
33323939633264303139323162613964306237376461383261646635343036313639626539373238
|
||||
32336537373436373338386432646139303831383138326564333739353761616336346461356532
|
||||
38303138656533386231303336336564656135346162376662663962663763353830663237323138
|
||||
33373331656637363139626132393231313136303936633161636261643264313230356261366165
|
||||
39666331306262643566663830626663656530303831343231323336306266363735393966613062
|
||||
63353938386263376166316335656164633233633465303065663565373764343031663866653135
|
||||
64663766386436653665356265333565323336636539656237303334383636353161643366656637
|
||||
66356532373130323236313936623964663433333965326662333833316437326461326165376661
|
||||
66396537653032346666363965313339323331303864616230646361386335663138613433326261
|
||||
35613430363864336635343434333761656639633863323534653862383936653762646134356664
|
||||
38326463326239636162333435656561343739366364313738663535636136323439373462643832
|
||||
62633661663337343538393466613734633531666532353161616231323161646237653736346561
|
||||
64323063656366373931396639393261643333393333626539663561636661393936316539633263
|
||||
63343331313464623636353031343232613534663565303538333164306531303438616539386364
|
||||
30376233333630336431336364663834633734636261353364343564333639623737363538313462
|
||||
61616233663335303062336635376435643965373039336231346234363436356238356162613138
|
||||
65326532663461616263626238346535623136633039613939353132313836373962646463333535
|
||||
65313562346631633435616232366166373763346337303561326130333936346130363431383036
|
||||
62356435616630396539303633343166646461393030336462366463636138316333633363643636
|
||||
65376131333731356566333237363266656466376539326438313930376363386231616138336335
|
||||
65333735653830373035656265336331346562353233663465343935383235303930633831613137
|
||||
64303130666532303733633133386334613733383562613661643931636136386264396438316366
|
||||
61653964643135646332343764666134336666336232376465353462356632346533633961636534
|
||||
32643234396636303135663562656435376561336235303837643932366334616265383639343733
|
||||
65633833653763643366646232343765306131313465326263623636386131376463356139623334
|
||||
39343163366439643334646663393434353333316234623530393431643539346435616263303734
|
||||
61633066653838363933646230623238653431393061646430383537343363643562653831336362
|
||||
37626630633161653763386663373630306564663339393265663732623434643231326335376562
|
||||
37663234643466366535326461396631633430613431346134316635653032663033623465346338
|
||||
61353331393631343365663233376330333730366161353362626166646232313666336333386265
|
||||
33373761313536326165343339346263316636363362393365663034353964373164643763383037
|
||||
3666
|
119
vars/vars.yml
119
vars/vars.yml
@ -1,119 +0,0 @@
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
63353966366236363639666631633336386562316663666137376163353862626462363236643930
|
||||
6534306465623637303832393765346434303462613666650a343661323330643663653631383038
|
||||
36666165356130616437343133616638636463376239663539643033643662386537303365626133
|
||||
3632633133626464630a623332356234353361353239393235643135313035653664303361306532
|
||||
31303763633838633738646566336430643565323664303565356164623261343762383361646434
|
||||
32626465643237623737666565393338613265333131353134333035653433333935633666656662
|
||||
62626338333462623735336563366164383131323464623662393134383836333834373832623735
|
||||
32386638643334336234663063656534323933343431363335366433333235633064613664326539
|
||||
35623465356534363162363833643266666664363638646138393236626532386465323939306139
|
||||
39346538643664616338363165616638613533326339303337306232373364613234626163653165
|
||||
62623731326232636530333462646438666630393365663837356461656263316365663935316431
|
||||
62316266313931663538333837643139326530373139303665616234376330613137656631356363
|
||||
65653434313763656265373939613736343064616530373530656534396633653737613662356333
|
||||
61383564666231393531363166393139623663346362643763666538346437353833636663326465
|
||||
65336534333162666436323665376163663765346433333562323862363566323535303364336666
|
||||
38373830316566343938626661646463346532326130613733386536336266306336303661633062
|
||||
65623261383963366266643162376132383137653137393166363766396638376461653062633531
|
||||
34653336633464626632306566333937393735383265333939396231366662346164323138323365
|
||||
61386439393836656264613331326561666434386138383035373165623864643838663635306134
|
||||
38313738343364656665376133356164333865343335613030663138326130313637653766313337
|
||||
61646365373661646333313363303538326230356466303863306233323263306564633464663061
|
||||
65346266343834303331616466373934346236393036643437383738613536373864356536653361
|
||||
34373638313034616566633638373866316436643266623265373137383036613963353838396662
|
||||
65313762316366333335666363653964623536326336383337626635343233636538363136316164
|
||||
33303536386433353065383938383138653131316335653739363833333230646635313138613834
|
||||
35383362643038373265313461666231333161656333653739663066643134306330653739636663
|
||||
64636338313664643136666631316464626234353032633265343038663733616563383233613238
|
||||
30653963353531666235393932366462363832363163616531646261663035666261323539666364
|
||||
64616532656530343638643034633534656436643162323032346530646535326463303463306261
|
||||
31363637383666353461633963356339616262613233616238386662643839303138396633646263
|
||||
30623563643463613963363461663434353436356661333435353539376662616637623161323162
|
||||
61353161623839383866616437626239666435313039313336623735623862326162323831663639
|
||||
33343032383161666131663462656162303165323935343264623161313137646230653537623730
|
||||
38313337653933643631323464356634313137613536386561663735336235376432626363353435
|
||||
33373063356165373430643264643937313735303039626463323632653762303066333034313731
|
||||
65393730336362316331393266336162366133643162663732373331366261376361306635313162
|
||||
33613962633164663834623636313932383861386164356161623434653130633362633737616466
|
||||
62613066333334346639643339303661336439663238643336646234303062633432376335623831
|
||||
30386531633032633964333832386233623561636538343838366437663837343332333235386362
|
||||
63393733366562626164646232346431623266663434346438306635616464333332633435386632
|
||||
33396166343033363337383563623735313337393935633633353065316335316664313831346236
|
||||
30373930366131656437326137373562326432383162306466646533396561626234346133373133
|
||||
37316264613939333439343934653137623632653231313166393630613763646163633063646533
|
||||
39343830666533636133643365376238313164643963363932316332333965653431373463656166
|
||||
34313333636532356564333664613838393662346239636333323634383732393030613532656339
|
||||
36396461363563656134373735346230626264366133386534653533383536396663316263666337
|
||||
65333061623738666239373861666663383939306365323964346237363561346231643864616636
|
||||
38383365336662306166626632326565326662623730656662366464386634393131613934633831
|
||||
35396339363237653532306636323639343537306165353464393434363764343932333361356236
|
||||
35376135346630653762613833303139363830663335336262353465616564626230363463366533
|
||||
37306535623566623065393133613761386430333334616432646330343239366433616432356636
|
||||
32613632376530353432373937666164613234616236643639633335363365656165326334336262
|
||||
37373138626531653764343237393762376239636132656232363636666261343238333033353937
|
||||
63363261613339393436623534653634646566376337386433656563656466353138633965636234
|
||||
34613563343937386431313563383431666335393161383766353666373431386138663864393837
|
||||
33333831343563613832343338343833353331343538326666353334343032663730623133666530
|
||||
65316335633736376333656264343664376435393131616233303634396330336162373539643164
|
||||
65323537336439306539366538666139616338613063323830396133373765353433373566616632
|
||||
38623330306538386630663065373933653431366362333934613662626533333135383737646432
|
||||
37313363636166306261336437656564396265366132333762643363303065633831623166653264
|
||||
39316136386533656638303663386262366438663433626536336235323238656235393533633862
|
||||
31376338376330373737376332376462346136666338336664626536663034366136373536613437
|
||||
63333035366361353765353962373266333065643330323961333638616535326132663232343737
|
||||
38663931656634643965326333393565343132373764633164383232393230633933383964613234
|
||||
33613539616638333261393630316161323434383738363164633137666464383031353737386238
|
||||
66333835616364636339303234663263663062356135373066646235613865643962663038613432
|
||||
32626634363738633961373432386437623663373065323133376665306261363431333537336663
|
||||
36386132333130633536616131656563386236326533393066393436363734343961303939643130
|
||||
63393236396266633566366232353064633366323237626263373664623134326238386530653965
|
||||
35366665333032613133366263643335303163386330636665346437633438343438393138396431
|
||||
63353664376636323066623339306163363435653831353934663533376634633666623738623936
|
||||
32346162313962393838656638656330356331306639313835356333613439303461393763383762
|
||||
64313633373364363166383166313238623062613430313038356263353463363366326530343136
|
||||
30613861633431613063373163343734653139306339323664376266353033343533393361636663
|
||||
37653439656563663130393266373333623937336563326361663165626631336636306339373733
|
||||
38633630353563353731306662316466313261323337366561343238323338313561383161313331
|
||||
31393337656364386236646434396262366339616435333062383338383037396230613436383530
|
||||
35626534613236336334323666326666616236353432633435633762636339653130333464383261
|
||||
36373233363133616365336462393661623765666465626333613531343962363136336466316663
|
||||
34643033653836316138663161373030626536623661346439323336303038323136306131333831
|
||||
31373863303330383263333066333265343262316636306237356565393263616162656237643066
|
||||
32613061393365646463313764636363643636363661316264663961333939386431613035343537
|
||||
61366361363138363533646434653234623134313631396239633832636635663737366138666331
|
||||
64663739643038633032663531393537626331363763626637306362666637333461366434613930
|
||||
36373366306166363734313836653738386132653031393963343461323465613633636332366131
|
||||
36343237313361356531383264666436383861663665396230366261653764333438323930623331
|
||||
64383763656430653235616664663761343233353633643533643733633633633837346233656138
|
||||
62383735303662386265393331383862666635356433326163363132343530376664323931316534
|
||||
37666535363066396633396366323666306262613733356466373336636165616161623239303031
|
||||
39333232646138386538313934643734623334346538623233313032313464643935313563323364
|
||||
33643461633566653336633732323164343939313365656163313964356436666264336630636166
|
||||
62363535366438396232643662303837336239613162333364303938383134363438386637353664
|
||||
61633766363262626661313162393033393930613233353464366264323661323838316234336438
|
||||
33663661373931393839386635303538373438386431653238623664323838643966386162323361
|
||||
64666436323139663839633232346539336634663363633363313338633135653865303434613731
|
||||
34393262323933626638373238326437646339326330366161346538633737393766643138376434
|
||||
34623932356364376135383363343137393365656635653438656163333835643265323866653136
|
||||
61356266656465656238666566373537663939636635326233376164663061303065343239373432
|
||||
37366165623339316238383664643061313433373162356633373165306533373863313935646239
|
||||
32663439396634366538353230373265376435396336346534363335393137643530363563653766
|
||||
36613061343139373861393836396433623663303964633037393734313963616666393839323765
|
||||
61653761386233373432306131363636396562316130616564356433643832373463653764343838
|
||||
39373264356466373838616130623763653666383335666165616233653634653562323737653535
|
||||
62633532663035396236353061373663326663303235653137306133616464396639356462323030
|
||||
35643739646531376439383638656138633737633038613335343462336138663963343163656339
|
||||
63333339643462366538616465303331336130616532313063376465383138393232623634313062
|
||||
62356130633031616232373335326630393631306432396138333239653066343363393336653437
|
||||
32336236316666376236343865383364373030353835666439663963346563323631346464646366
|
||||
31363166396133313830356530353865356266373437376632383231383164393637306664616637
|
||||
66663664633463616432623739393836343865393732626239656638323034393736346632333339
|
||||
36646233376233616464306532343765613834366434343434353231613030643539363263633266
|
||||
34623332643863663130666231616663316264623632373364373465306133346166643734343363
|
||||
36333534383330313466623237336161383664643636353139363636636365343863396161363364
|
||||
38623366346236393466353838333762333263623738646462616666633937333666386239396334
|
||||
32326635656662383232333031353738626432313539656164653038353531623063353862653038
|
||||
65383034396134623431653061646235383264656633333030306562303630316333323237653065
|
||||
66656431376538386339656236326434313166383661353230346562343363343039376666616539
|
||||
3861313565366261363864313136653263373037313438353730
|
Reference in New Issue
Block a user