Compare commits

..

1 commit

23 changed files with 159 additions and 333 deletions

View file

@ -1,73 +1,58 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
34376131343263336262656463373830643861336631626539643663333239313831626236306530 32393230646466336565653530386632356235653437356237393163313033663066393963343031
3335623130653432636133356363656465346366303062370a346130326536366638633536613161 3339346530316430666632666230316165663564313464390a666539666265326235666266306231
62623334363537636634373231353564396362343330623562383939373538633066616565306235 38383466343364646333343132333338306434613961663765353566353166626539306335653537
3332323863353334640a396462313862366362366535383737376333383361303065383937396530 3466326433316166370a376639363235326363323234313630336330613733616362653838396464
38326331396333396263363762346331356431623532343938613834663830393337646666336435 36623733643261633730306537613132333432333239353638636363646464633665643832646238
66356439333434356165613030306138666163653934386233663362646534303737323030636234 34663635343437643534633232346466373336316664343335313435366636303136303239643834
31616132613830363136666639386462363135656432373236393034316664363637663336366435 63623436323831613862343938303137643735336637306433376237643032633738376563666265
64373238633064623735666335636231656231666434383066313336303137333663333031363638 33383032643461653763653231333132633034383431303165646439393266616634386431313565
31643733336535383338376631656439633962653262356335383638373764353530643234303935 38656530306538343239323864303538376165313330623231646265626261303235343130653665
62383930393634613530643739643335616164633038326638356135623561326165376530363461 62363839346630343461323136363037666135373733303864623737313634316136336537323464
37373032393331653261373538633065333662393366666161396638383932393331623766343035 37633539396462313462386364373733313566373332343834353164393161636161356537303237
30333335663039323931306162313538373334393335306132626336643363323839633761383063 39646561376138613433633431626530346430356264653932636163393663356565393464393161
35343632363837383132656437303138303764316439343663303964396463363638336533653930 37313661633466636437623233623937353234313962633131383365396631643631346261386439
39303236353766373131623363653835666439333164366563346164626464633633363163323864 65393162633965353538626133636534336635623364353963626135333637343662353765633161
65363961393237666433623565343832306663323862666333343665376135646132363466616364 34373337653730333032396663306663653830643761633730663432366433346631363463323464
62356331666432336661343762333961333634396466333465633164326239386266643230393566 38356163363836636562376431373933623930643236636239663065306536396236633130306165
36376461373631636630303861313538333834646461663539623738636636626537656438646431 62343730306465333361663530363462666439343438633965393965623239623836333335366438
38383436393238363038313563633634396335346138626666366437333433383039363332623639 65336463333539303366376635303432643538666362643335393834336231646562366234623832
31396165346431333838393164616339656634346561313737306562343562323030613266633263 33623632653932636662653933623362356431393739646166353136346235333231643530323738
61333263653938653034356631333664323630306461346532626533363665363133376232316132 62643135386563353933616632363664363430393035343263393736393736623831666239363866
61346431383230656134373630653264363430383561313866363235333435633966386266653964 63333163646631396266366164633562653633333536663763643364616666323262666633663265
33363534343634343232373036633330613038303437333033313061313932373739343663303931 65386238366131343432646164383061373635346165303064626632303234663730356130636436
34333833386638353436653831623835323032303134366635613735643662636336616464313330 63396237313338656533393062363133643631346563303139306230333137383734333764616165
36633335613630663233326166633565386238656236633261396235363165656333333235643137 61303632393363396565383731353066633666353835313665303532656635356465343861613132
32623461663562313533333835396233383330613661646431646365343430626662326638653330 38613530376165376666303536303263383039613533393731396663376431616561656564316336
38646232386263356566373561353130616539346630613363313163363262356264653233313862 39613134666531303638323230316365333432376165303361303361383339363539353938633931
34386331363236386534353534616531643264613764343362646366393435383332653664353363 61373765366133643263373233626436333735393130373461383333613363626135666663633637
62333935363132373434613038353632643336633136656266316466373734646234636638316265 33633061316661313930333133343262666636343835633234383264613966656438646430316636
62646261396465623561633964313065626361316630353965616233356565343834656563353830 34333866616634306239333238356261333336343930353361656263326135656163353937316434
38346361336237646331366632633130613330336637326163663463386233643734356165666431 63623831333939653264326638366230333636663234303762393966386539653932346436303965
61396263656237333138356231306437653337656133663031303031616437633564613733316264 35383137323661663862313764653064353030626662353365623663653565623866626266333335
63633930353033636235653961393330326635626666626235336334653762373262633739356263 39633538303566333061383938383739396266396533666231316534323161666331333632663963
32323532333463653937386430663437303238313130643435353739393639303033343865323736 38383332623561383164336633316534326635323435356135383736303536643133383631393339
35366139643166626364373663333266376133636433653261316566366630396666336637326664 36353732393263626661346563356663356436363465393639613631366332353938663535356137
30343039633133626435363364346666613732666335313865326234366136366130616334396338 32393138323662646166386139653833313536656434363461383565636232333630653462343934
61663461623432303930623261336464643830303631396430363637383838616432356634303332 61363535363332353131393265353031643964303766363431343332666634353166303435303165
61346536313035376139313638393737393136643366366364363862383335353533313534366534 34356363326539383139396536643338316631333630393839623339616263666661366462313236
61356136366465373530393835613834366665653334376539303462336138646438653039306261 34303939623335353366613865363530333338643364633862336337373737653863643239386132
36613736323566636634666331396463623439323063356232306631616135623231336439303739 38633065623365326136656538663839313563313435653733336633613737393739623334303938
65393837653837336235396532323465656463636238643038383363616633383866333633663831 39623161353939663935373838316137633262373435353335323537363637623834363030343839
61363634356634636265663837306232303362313564323463303363323931396438646337363161 64666565633534326662636530383733396531613939613431646136396366323764393363343231
61313033343532336563393632373830326631616462616263346363636566663966396330386464 38393239663762623932626537613763353065643564303766663932346666393938616562376666
62613039323065343838653439303333396536366537313335353834613338623961646235633764 38383939643632313931343063323838613461633161643434353532623433303434396262363764
30333032323333663530613736313765343364363433366436666134623663653336386632333437 30303361303832363765316265346534313637663462303362633039363163356535356565343964
64386639636237333138323431333234316432366236613530376234636438356531636630396431 66653639356661373231653630646338393835656435386566623263353363376365353565333961
63643833366136363962346632616161363565336163313764383030303337346565613939383563 62646634323730633364366137326434663661383165373066303062396432373361346436316338
65306137633965326534356666346238363137323233336561643333386265613863396338383134 38663264663235333938363538353736636161633639383937336365323732353161643365616264
35363135303232376364306234323435356330333061613663326563343533636165356537336536 39643234643238646332613934343666323736666261366164383034303637623133303365313062
61656131343966346365396133666662393930663237643134383963303766306534633034356335 38353832353366383637626532386339306438333035313563333464326539363661633564316534
37633732393266633965616330643061616664336430643630633033326335643438373737653164 62613538356366343566303339383863343265633161396162353962356366333432623438343039
34633737303533666335306466306330343233326531343065666138633166383664333130653864 63303662643339636366623630616339363363633434383731376334323736373265326138356161
37623730333532633936316461333066313065316664383934343731616430366135346138663531 66336636613138666465623635343163386537376263353437333765323832333539386336326564
33353134333934376663336366663036383630393031303731653332373335333131633136616537 37356331343139653339313337383461333834353166353838643666376439376237353032363164
33666266373439346633373735643339653333626237623530346436306438396332613863346264 66613530633538666436366563343232326334613432363162383163383031343763653864646331
30346431393735326566393633626535383538343866653262653330366330623930646631663961 36303463316637336132353832643761386332643130353839363833346532626162643661366464
38656138313932623131613537376139666137653063313339666333313364343738306439656264 34336438306661343961663163386361316338303930343364656561326363623630303036616264
32346533646465376135376531383132396337653966393133316436616563613135353863653064 3232
31373466616135393036333037623164346539323463333037613030386666396363353364396439
39616536646638623739623834363662643566393430623632646434336162316362653434343337
36623334303866343533623538663531303366343136636631376334653636313264376330313836
66333131343062373138663330313633623166303337306466313362343034316364666666373965
36373933343338646333373962623034353631623535306230346663373530346438386334303536
62366666646263303764303330353835633163363666303133333730343263613039346162356532
37323133613037313430366238313261633165643563666239623730653164666264633964626461
31323536623335636333393338333166346336323132373466396432613133613933356232373532
30653564323031636231343232646165653163393663663731313033323763663965356466366562
33303830656238653164646161366265636566393436323135356630393033316337363361306363
30393766636237336466353431616130653961326431323161313234333963643032393061303265
33396664336535353164643462303636616265306338333634376664323837303238623638313266
37643861343034646532626164353238373031633861623663316638333039643036353932323962
39616136653639313232326362663834333363633562646563393561396464383765616230333230
39663939326332333362

View file

@ -1,32 +0,0 @@
# These are the variables contained in secrets.yml
# Secrets are usually 32 characters or more, matching [a-Z0-9]
postgres_passwords:
fider: xxx
nextcloud: xxx
passit: xxx
gitea: xxx
matrix: xxx
codimd: xxx
mailu: xxx
ttrss: xxx
fider_jwt_secret: xxx
ldap_admin_password: xxx
ldap_config_password: xxx
passit_secret_key: xxx
docker_password: xxx
mailu_secret_key: xxx
drone_secrets:
oauth_client_id: xxx
oauth_client_secret: xxx
rpc_shared_secret: xxx
restic_secrets:
user_secret: xxx
encryption_secret: xxx

View file

@ -21,4 +21,11 @@ users:
groups: groups:
- sudo - sudo
deni:
comment: Denis Smajlović
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0pB42dtqruXr2Ha8Rdp3QoSrMOLU5cbLMfuNTNmgwPZmprhGGRTAsz8E0aG+5HCFBmW6JxiTGyHGdIZrhYWpKYshxxn4zODfitP7IzDgvg9Pz0Ugw/c5i5eKjkVfw9xLZKjO/H3Ql8R+wFMawpdw7j+Q9G+J3eIidEI6TmSvJVWijBxpLI4qrLceL084qg93XpJENYBOcvx9fYQQ+Es0jo4hmPuHWq5VIkIoIfvVvdhwjlaBsqv2je5BNx8uTMVIyV34ZHpJc95wJ6MOcqpQunW2bR4mGc9FLh67eP2ba9nDoQ0pnnlWGqAIKx5P1ELIg7RM3HhuwfRVh4DxCfjXpMz3l1gr1dA1wVD9bOtzbPWLjo7LNkRcT/loba/jpznTNIEv+kawmm/H0aTZZdlofkGHuX0iOpLV1c1tCDMH1s/MCqwosSRihrXhSOozsABvaaZpJiHcpE4DcNr+xJhe1XrHMqR30KU0r7ulIP8JdhzMNEsq3HxZQh9s8XLIUukrpcpOgJYyGuQK3kG6li5kYbmVqjLDQ1xHi/4r/4TXjJYpsFCZ71SURLzxoF1nauHpBLKcHI3MPFvqr27SQcM92fO14wKDAmAtHINwzMQjlda6B0jFNC+2xUfHrH7yIhwSktytq5qbhiFKK71DSLiMKFvOqoTVWRckO2+Zw1HZB+Q== deni@deni.dk
password: $6$ooKtdqASOxYJN2CJ$ziMrGG/qIOeyiTGjx.hPYjVBlHpzM9YY6qCJB9/L8aR33feUvXxZNBCgME93ZhbwDBjblS/tP796LsCF4i17D.
groups:
- sudo
volume_root_folder: "/docker-volumes" volume_root_folder: "/docker-volumes"

View file

@ -27,7 +27,7 @@
- ouroboros - ouroboros
- mailu - mailu
- portainer - portainer
# - tt-rss - tt-rss
smtp_host: "postfix" smtp_host: "postfix"
smtp_port: "587" smtp_port: "587"

View file

@ -19,7 +19,6 @@ gitea:
passit: passit:
domain: "passit.{{ base_domain }}" domain: "passit.{{ base_domain }}"
volume_folder: "{{ volume_root_folder }}/passit"
fider: fider:
domain: "feedback.{{ base_domain }}" domain: "feedback.{{ base_domain }}"
@ -29,9 +28,7 @@ matrix:
volume_folder: "{{ volume_root_folder }}/matrix" volume_folder: "{{ volume_root_folder }}/matrix"
riot: riot:
domains: domain: "riot.{{ base_domain }}"
- "riot.{{ base_domain }}"
- "element.{{ base_domain }}"
volume_folder: "{{ volume_root_folder }}/riot" volume_folder: "{{ volume_root_folder }}/riot"
privatebin: privatebin:
@ -52,25 +49,13 @@ docker_registry:
password: "{{ docker_password }}" password: "{{ docker_password }}"
data_coop_website: data_coop_website:
domains: domain: "{{ base_domain }},www.{{ base_domain }}"
- "{{ base_domain }}"
- "www.{{ base_domain }}"
cryptohagen_website: cryptohagen_website:
domains: domain: "cryptohagen.dk,www.cryptohagen.dk"
- "cryptohagen.dk"
- "www.cryptohagen.dk"
ulovliglogning_website: ulovliglogning_website:
domains: domain: "ulovliglogning.dk,www.ulovliglogning.dk"
- "ulovliglogning.dk"
- "www.ulovliglogning.dk"
- "ulovlig-logning.dk"
cryptoaarhus_website:
domains:
- "cryptoaarhus.dk"
- "www.cryptoaarhus.dk"
drone: drone:
domain: "drone.{{ base_domain }}" domain: "drone.{{ base_domain }}"
@ -90,3 +75,4 @@ portainer:
ttrss: ttrss:
domain: rss.{{ base_domain }} domain: rss.{{ base_domain }}
volume_folder: "{{ volume_root_folder }}/tt-rss" volume_folder: "{{ volume_root_folder }}/tt-rss"

View file

@ -54,10 +54,6 @@ soft_file_limit: 0
# Set to false to disable presence tracking on this homeserver. # Set to false to disable presence tracking on this homeserver.
use_presence: true use_presence: true
# If set to 'false', forbids any other homeserver to fetch the server's public
# rooms directory via federation.
allow_public_rooms_over_federation: true
# The GC threshold parameters to pass to `gc.set_threshold`, if defined # The GC threshold parameters to pass to `gc.set_threshold`, if defined
# #
#gc_thresholds: [700, 10, 10] #gc_thresholds: [700, 10, 10]
@ -415,7 +411,7 @@ uploads_path: "/data/uploads"
# The largest allowed upload size in bytes # The largest allowed upload size in bytes
# #
max_upload_size: "50M" max_upload_size: "10M"
# Maximum number of pixels that will be thumbnailed # Maximum number of pixels that will be thumbnailed
# #

View file

@ -1,2 +1 @@
listen 8008; listen 8008;
client_max_body_size 50M; # default is 1M

View file

@ -1 +0,0 @@
client_max_body_size 50M; # default is 1M

View file

@ -1,7 +1,7 @@
{ {
"default_hs_url": "https://{{ matrix.domain }}", "default_hs_url": "https://{{ matrix.domain }}",
"default_is_url": "https://vector.im", "default_is_url": "https://vector.im",
"brand": "element.data.coop", "brand": "riot.data.coop",
"integrations_ui_url": "https://scalar.vector.im/", "integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api", "integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [ "integrations_widgets_urls": [

View file

@ -3,6 +3,14 @@
docker_network: docker_network:
name: external_services name: external_services
- name: setup network for postfix
docker_network:
name: postfix
ipam_options:
subnet: '172.16.0.0/16'
gateway: 172.16.0.1
- name: setup services - name: setup services
include_tasks: "services/{{ item }}.yml" include_tasks: "services/{{ item }}.yml"
with_items: "{{ services }}" with_items: "{{ services }}"

View file

@ -1,51 +1,21 @@
--- ---
- name: set up drone with docker runner - name: Drone container
docker_compose: docker_container:
project_name: drone name: drone
pull: yes image: drone/drone@sha256:eb7e35bc1cb5ca797304aff65fe24031d26d8d3e2ee4671a8fe9e0fc6f479455
definition: restart_policy: unless-stopped
version: "3.6" networks:
services: - name: external_services
drone: volumes:
container_name: "drone" - "{{ drone.volume_folder }}:/data"
image: drone/drone:1 - "/var/run/docker.sock:/var/run/docker.sock"
restart: unless-stopped env:
networks: DRONE_GITEA_SERVER: "https://{{ gitea.domain }}"
- external_services DRONE_GITEA_ALWAYS_AUTH: "False"
- drone DRONE_RUNNER_CAPACITY: "2"
volumes: DRONE_SERVER_HOST: "{{ drone.domain }}"
- "{{ drone.volume_folder }}:/data" DRONE_SERVER_PROTO: "https"
- "/var/run/docker.sock:/var/run/docker.sock" PLUGIN_CUSTOM_DNS: "91.239.100.100"
environment: VIRTUAL_HOST: "{{ drone.domain }}"
DRONE_GITEA_SERVER: "https://{{ gitea.domain }}" LETSENCRYPT_HOST: "{{ drone.domain }}"
DRONE_GITEA_CLIENT_ID: "{{ drone_secrets.oauth_client_id }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
DRONE_GITEA_CLIENT_SECRET: "{{ drone_secrets.oauth_client_secret }}"
DRONE_GIT_ALWAYS_AUTH: "true"
DRONE_SERVER_HOST: "{{ drone.domain }}"
DRONE_SERVER_PROTO: "https"
DRONE_RPC_SECRET: "{{ drone_secrets.rpc_shared_secret }}"
PLUGIN_CUSTOM_DNS: "91.239.100.100"
VIRTUAL_HOST: "{{ drone.domain }}"
LETSENCRYPT_HOST: "{{ drone.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
drone-runner-docker:
container_name: "drone-runner-docker"
image: "drone/drone-runner-docker:1"
restart: unless-stopped
networks:
- drone
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
DRONE_RPC_HOST: "{{ drone.domain }}"
DRONE_RPC_PROTO: "https"
DRONE_RPC_SECRET: "{{ drone_secrets.rpc_shared_secret }}"
DRONE_RUNNER_CAPACITY: 2
DRONE_RUNNER_NAME: "data.coop_drone_runner"
networks:
drone:
external_services:
external:
name: external_services

View file

@ -1,13 +1,9 @@
--- ---
- name: gitea network
docker_network:
name: gitea
# old DNS: 138.68.71.153 # old DNS: 138.68.71.153
- name: gitea container - name: gitea container
docker_container: docker_container:
name: gitea name: gitea
image: gitea/gitea:1.12.3 image: gitea/gitea:1.11.1
restart_policy: unless-stopped restart_policy: unless-stopped
networks: networks:
- name: gitea - name: gitea

View file

@ -38,7 +38,7 @@
force: yes force: yes
- name: run mail server containers - name: run mail server containers
docker_compose: docker_service:
project_name: mail_server project_name: mail_server
pull: yes pull: yes
definition: definition:

View file

@ -46,11 +46,6 @@
src: files/configs/matrix/vhost-matrix src: files/configs/matrix/vhost-matrix
dest: "{{ nginx.volume_folder }}/vhost/{{ matrix.domain }}" dest: "{{ nginx.volume_folder }}/vhost/{{ matrix.domain }}"
- name: upload vhost config for riot domain
template:
src: files/configs/matrix/vhost-riot
dest: "{{ nginx.volume_folder }}/vhost/{{ riot.domains[0] }}"
- name: upload homeserver.yaml - name: upload homeserver.yaml
template: template:
src: "files/configs/matrix/homeserver.yaml" src: "files/configs/matrix/homeserver.yaml"
@ -62,7 +57,7 @@
dest: "{{ matrix.volume_folder }}/data/matrix.data.coop.log.config" dest: "{{ matrix.volume_folder }}/data/matrix.data.coop.log.config"
- name: set up matrix and riot - name: set up matrix and riot
docker_compose: docker_service:
project_name: matrix project_name: matrix
pull: yes pull: yes
definition: definition:
@ -82,7 +77,7 @@
matrix_app: matrix_app:
container_name: matrix container_name: matrix
image: matrixdotorg/synapse:v1.18.0 image: matrixdotorg/synapse:v1.11.0
restart: unless-stopped restart: unless-stopped
networks: networks:
- matrix - matrix
@ -102,7 +97,7 @@
riot: riot:
container_name: riot_app container_name: riot_app
image: avhost/docker-matrix-riot:v1.7.3 image: avhost/docker-matrix-riot:v1.5.10
restart: unless-stopped restart: unless-stopped
networks: networks:
- matrix - matrix
@ -112,9 +107,9 @@
volumes: volumes:
- "{{ riot.volume_folder }}/data:/data" - "{{ riot.volume_folder }}/data:/data"
environment: environment:
VIRTUAL_HOST: "{{ riot.domains|join(',') }}" VIRTUAL_HOST: "{{ riot.domain }}"
VIRTUAL_PORT: "8080" VIRTUAL_PORT: "8080"
LETSENCRYPT_HOST: "{{ riot.domains|join(',') }}" LETSENCRYPT_HOST: "{{ riot.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
networks: networks:

View file

@ -14,5 +14,5 @@
LABELS_ONLY: "true" LABELS_ONLY: "true"
CLEANUP: "true" CLEANUP: "true"
LATEST: "true" LATEST: "true"
CRON: "*/10 * * * *" CRON: "*/1 * * * *"

View file

@ -1,47 +1,45 @@
--- ---
- name: setup passit containers - name: passit network
docker_compose: docker_network:
project_name: "passit" name: passit
pull: "yes"
definition:
version: "3.6"
services:
passit_db: - name: passit database volume
image: "postgres:10" docker_volume:
restart: "always" name: passit_db
networks:
- "passit"
volumes:
- "{{ passit.volume_folder }}/data:/var/lib/postgresql/data"
environment:
POSTGRES_USER: "passit"
POSTGRES_PASSWORD: "{{ postgres_passwords.passit }}"
passit_app: - name: passit database container
image: "passit/passit:stable" docker_container:
command: "bin/start.sh" name: passit_db
restart: "always" image: postgres:10
networks: state: started
- "passit" restart_policy: always
- "postfix" networks:
- "external_services" - name: passit
environment: volumes:
DATABASE_URL: "postgres://passit:{{ postgres_passwords.passit }}@passit_db:5432/passit" - passit_db:/var/lib/postgresql/data
SECRET_KEY: "{{ passit_secret_key }}" env:
IS_DEBUG: 'False' POSTGRES_USER: passit
EMAIL_URL: "smtp://noop@{{ smtp_host }}:{{ smtp_port }}" POSTGRES_PASSWORD: "{{ postgres_passwords.passit }}"
DEFAULT_FROM_EMAIL: "noreply@{{ passit.domain }}"
EMAIL_CONFIRMATION_HOST: "https://{{ passit.domain }}"
VIRTUAL_HOST: "{{ passit.domain }}" - name: passit app container
LETSENCRYPT_HOST: "{{ passit.domain }}" docker_container:
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" name: passit
image: passit/passit:stable
command: bin/start.sh
restart_policy: always
networks:
- name: passit
- name: postfix
- name: external_services
env:
DATABASE_URL: "postgres://passit:{{ postgres_passwords.passit }}@passit_db:5432/passit"
SECRET_KEY: "{{ passit_secret_key }}"
IS_DEBUG: 'False'
EMAIL_URL: smtp://noop@{{ smtp_host }}:{{ smtp_port }}
DEFAULT_FROM_EMAIL: "noreply@{{ passit.domain }}"
EMAIL_CONFIRMATION_HOST: "https://{{ passit.domain }}"
networks: VIRTUAL_HOST: "{{ passit.domain }}"
passit: LETSENCRYPT_HOST: "{{ passit.domain }}"
postfix: LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
external: true
external_services:
external: true

View file

@ -8,7 +8,7 @@
- name: run portainer - name: run portainer
docker_container: docker_container:
name: portainer name: portainer
image: portainer/portainer-ce:2.0.1 image: portainer/portainer:1.23.1
restart_policy: always restart_policy: always
networks: networks:
- name: external_services - name: external_services
@ -19,6 +19,5 @@
- 9001:9000 - 9001:9000
env: env:
VIRTUAL_HOST: "{{ portainer.domain }}" VIRTUAL_HOST: "{{ portainer.domain }}"
VIRTUAL_PORT: "9000"
LETSENCRYPT_HOST: "{{ portainer.domain }}" LETSENCRYPT_HOST: "{{ portainer.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"

View file

@ -1,12 +1,5 @@
--- ---
- name: setup network for postfix
docker_network:
name: postfix
ipam_config:
- subnet: '172.16.0.0/16'
gateway: 172.16.0.1
- name: setup postfix docker container for outgoing mail - name: setup postfix docker container for outgoing mail
docker_container: docker_container:
name: postfix name: postfix

View file

@ -1,38 +0,0 @@
---
- name: setup restic backup
docker_compose:
project_name: restic_backup
pull: yes
definition:
version: '3.6'
services:
restic-backup:
image: mazzolino/restic
restart: always
environment:
RUN_ON_STARTUP: "true"
BACKUP_CRON: "0 30 3 * * *"
RESTIC_REPOSITORY: "rest:https://datacoop:{{ restic_secrets.user_secret }}@restic.graffen.io/datacoop-hevonen"
RESTIC_PASSWORD: "{{ restic_secrets.encryption_secret }}"
RESTIC_BACKUP_SOURCES: "/mnt/volumes"
RESTIC_BACKUP_ARGS: >-
--tag datacoop-volumes
--exclude='*.tmp'
--verbose
RESTIC_FORGET_ARGS: >-
--keep-last 10
--keep-daily 7
--keep-weekly 5
--keep-monthly 12
TZ: Europe/Copenhagen
volumes:
- /docker-volumes:/mnt/volumes:ro
restic-prune:
image: "mazzolino/restic"
environment:
RUN_ON_STARTUP: "true"
PRUNE_CRON: "0 0 4 * * *"
RESTIC_REPOSITORY: "rest:https://datacoop:{{ restic_secrets.user_secret }}@restic.graffen.io/datacoop-hevonen"
RESTIC_PASSWORD: "{{ restic_secrets.encryption_secret }}"
TZ: Europe/copenhagen

View file

@ -10,7 +10,7 @@
loop_var: volume loop_var: volume
- name: "set up tt-rss" - name: "set up tt-rss"
docker_compose: docker_service:
project_name: "tt-rss" project_name: "tt-rss"
pull: yes pull: yes
definition: definition:

View file

@ -6,8 +6,8 @@
networks: networks:
- name: external_services - name: external_services
env: env:
VIRTUAL_HOST: "{{ ulovliglogning_website.domains|join(',') }}" VIRTUAL_HOST: "{{ ulovliglogning_website.domain }}"
LETSENCRYPT_HOST: "{{ ulovliglogning_website.domains|join(',') }}" LETSENCRYPT_HOST: "{{ ulovliglogning_website.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
labels: labels:
com.ouroboros.enable: "true" com.ouroboros.enable: "true"

View file

@ -8,22 +8,8 @@
networks: networks:
- name: external_services - name: external_services
env: env:
VIRTUAL_HOST : "{{ data_coop_website.domains|join(',') }}" VIRTUAL_HOST : "{{ data_coop_website.domain }}"
LETSENCRYPT_HOST: "{{ data_coop_website.domains|join(',') }}" LETSENCRYPT_HOST: "{{ data_coop_website.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
labels:
com.ouroboros.enable: "true"
- name: setup new data.coop website using hugo
docker_container:
name: new.data.coop_website
image: docker.data.coop/data-coop-website:hugo
restart_policy: unless-stopped
networks:
- name: external_services
env:
VIRTUAL_HOST : "new.{{ data_coop_website.domains|join(',') }}"
LETSENCRYPT_HOST: "new.{{ data_coop_website.domains|join(',') }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
labels: labels:
com.ouroboros.enable: "true" com.ouroboros.enable: "true"
@ -36,22 +22,8 @@
networks: networks:
- name: external_services - name: external_services
env: env:
VIRTUAL_HOST : "{{ cryptohagen_website.domains|join(',') }}" VIRTUAL_HOST : "{{ cryptohagen_website.domain }}"
LETSENCRYPT_HOST: "{{ cryptohagen_website.domains|join(',') }}" LETSENCRYPT_HOST: "{{ cryptohagen_website.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
labels:
com.ouroboros.enable: "true"
- name: setup cryptoaarhus.dk website docker container
docker_container:
name: cryptoaarhus_website
restart_policy: unless-stopped
image: docker.data.coop/cryptoaarhus-website
networks:
- name: external_services
env:
VIRTUAL_HOST : "{{ cryptoaarhus_website.domains|join(',') }}"
LETSENCRYPT_HOST: "{{ cryptoaarhus_website.domains|join(',') }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}" LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
labels: labels:
com.ouroboros.enable: "true" com.ouroboros.enable: "true"

View file

@ -1,5 +1,5 @@
--- ---
- name: Install necessary packages via apt - name: Install necessary packages
apt: apt:
name: "{{ packages }}" name: "{{ packages }}"
vars: vars:
@ -9,10 +9,3 @@
- apparmor - apparmor
- haveged - haveged
- name: Install necessary packages via pip
pip:
name: "{{ packages }}"
vars:
packages:
- docker
- docker-compose