Hello PyDocTeur.
This commit is contained in:
parent
61ba705600
commit
9cc7befb78
|
@ -1,28 +1,35 @@
|
|||
$ANSIBLE_VAULT;1.1;AES256
|
||||
30663331346337396534613161386537363535633031306236313162306266383561343238633339
|
||||
3664343836636139336134303735356435343034373338620a343364633263666661623438323636
|
||||
66613238366538636534356336343164646431613231623362383465323031376463646437393439
|
||||
6637313064386666640a303962336131656238666466656435633766633239326434613330636366
|
||||
62653935356631316434656433653034303734633430346233633530636437363638303161386139
|
||||
63666332333465306139306330343264306530303536326262356535623566656638326236326263
|
||||
34356639643434346163326236613165366466306133396139316661666463626631363862373036
|
||||
62333330653065643530333633386430653561333262653966646634393332323330313063616139
|
||||
31363733623334643763393833613061363937666438656166313164333634626465343434333263
|
||||
64663238343436363837636439623964303134333163623866646433373165363636343531656136
|
||||
30336338396437316337383563326637363062313062333832373662306332623831656135663161
|
||||
66653361383635666437306131363232636534396165613265366134393366663830616362356236
|
||||
33646537333366383330353931356438643239333737633762363634386434316364666537363362
|
||||
36373361343038316265643364623264623532633062313636316330656534353935323030396235
|
||||
66616538343337363637633033336631333265626433633766383831636533373735373430653666
|
||||
65306462363133343763656632616336306432316635346563623634643431393065306337613737
|
||||
37613238616366633532323362663766386261616636633764313130323130386636303131386463
|
||||
64306332333337386664313531306534313564333538623564343362633838363563336237613731
|
||||
64663230313863646562633564356266373937666430633937343363663035363037633964613531
|
||||
32376330376534643362643933663564646631663834343333616462356662303936323264373738
|
||||
31666339336530336432656265663933383562643664663632343539633131326666656132306365
|
||||
63306135613936303966653532386163646265383963373734323165633463323835376531623635
|
||||
37633762303731653831316362393232313061353237666637393834366137313061386563383134
|
||||
32313838353833356535633735616635636164653965363136653838613733373134633032366434
|
||||
33633630626230396434396561653961646131613032303137313339383431646335353635643633
|
||||
64616365373137633238356430363431666563363738386135643939393836373132376430623032
|
||||
326263393335643431393536383635656237
|
||||
64376361613965323865623433666232633330643434326562393064393039356166373639646361
|
||||
3361346238626566383963383837643139326530343665640a376336356366316439333739366139
|
||||
34376135366661626664663532616662353736643064386235346236346433656533313937353462
|
||||
3935393434653533340a613664373432653734353462326532316539616162303539663463636331
|
||||
38626263303033666236336439636134363136643836343266656362313331316432316130383130
|
||||
66656563393232353436376262623861323761393836386162363630623331396530393737366531
|
||||
36383163663732313633643731363763353035333931326639623863373039333131393762616631
|
||||
61356436383763353037353030663663343265366339613866623161653834376133326564383937
|
||||
32633464643330343334323831653235333338303433366535303662386264383438373230336432
|
||||
33363364373237326131303561363530353533646466656432633739373137306363396162336639
|
||||
35303562623962343532633939653332333931333434363164383264373232353230633933643635
|
||||
66633533376664303639363035383066366537373462343834363230623535393366353163646537
|
||||
62346535313663336438363535356165316635306438643938333434633136323962623638363462
|
||||
31386633646562633838613366616665393934376436623535643535343962363137303665363963
|
||||
39353238373438666462313862653534313935333562653434386131323539313037336235303834
|
||||
32383865613535363365326663663331633463346663353637386538376338666666386332613830
|
||||
33343936353836313132333561393965393531303233346666346266386532356363626539383739
|
||||
35366534636331346438616630333833323037343733346133383038363637343239346332353734
|
||||
31386433613465316232636562666138636539346237663331333330393336646562386433633462
|
||||
36636338623865663136656134613463663963333063316336366366626438393163303838633534
|
||||
31356666663031323233666331386438396130313466623432396239336463373630633262336636
|
||||
65633662306535613662616338393730346132383937363038363263356436336266323161383361
|
||||
34653431303431303532323331346464313639366139633434306236356565613762613264353034
|
||||
61356466313562633863346135326637363064303564376562376561306665303239613930376333
|
||||
34663761353561383835636132656630376436643462363764353334656261633138366134666333
|
||||
31323462636263326139623461626331666137343565366336306565396637653862626565373633
|
||||
64303066363930306539633566636130363563623535303631386462393235396362633262623536
|
||||
36393935613665663139626562653863666334656363386636613166613663363630376438653434
|
||||
35373935353865356633336533333264626337656264303564316337323138303833626433613834
|
||||
65366133636235303236303835356236656165303634386132626262343663656562343036306337
|
||||
31356666343736646332396537313563306362306337663966343537313063303965613938616635
|
||||
35633437666331303533333863616439333139363065666133363735316239363337656364633638
|
||||
35373239636134326632373138376236356539346164636436313933303237393832333435363061
|
||||
6263613262353137386562626335373166393035626239333764
|
||||
|
|
|
@ -0,0 +1,112 @@
|
|||
---
|
||||
|
||||
- hosts: webservers
|
||||
tasks:
|
||||
- name: Basic setup
|
||||
include_role: name=common
|
||||
|
||||
- name: Setup pydocteur.afpy.org
|
||||
include_role: name=julienpalard.nginx
|
||||
vars:
|
||||
nginx_owner: pydocteur-afpy-org
|
||||
nginx_domain: pydocteur.afpy.org
|
||||
nginx_certificates: [pydocteur.afpy.org]
|
||||
nginx_public_deploy_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPqZ20aNdTDrePRQT0obzUF0yn/o3cWEFwaf/MtAOmVxpJZiTZzaikU58qLVaTxfZpULMf2yIB9a1v0FhUOHde30+FFyxuGCMmV9lHT7wA4TS3Ucqj2kqzV2Qby/3IjxI41MXpbIFBj7K7TaJKfCPb2ToAuxbyiSiLXDre+xpSfR8qNAz1nObJPR/NbrJRzHnLywml1b7j1kPbbGfUvh3jtMa9a9eN3xotxGsLM8Da+R86xagC6lChJqxzM2zlsqXMhwnf/ntNAIJC6CpVpwdKTF6S8VIVC2UyB9oMnP43B1ijAETuNYG/nm4nE5IkQ14SiiQyRqdfX7+y5Pt2BfOxwVEedvcdAHZIj3v0fDr+23lf2AXR2v9V2JWT0BVLSJ6s2DHrumXkbS+XQkJWjxSZUUN7zg+J/+sPRrYERo+wIzLxXGGycrRgmQKLH6OJIy2/n/L8KtZfvxm6u90WIHu6RYTU9rqvzoqtEImDegOtzPqDFsljm8simginlqQo5gk= pydocteur"
|
||||
nginx_conf: |
|
||||
server
|
||||
{
|
||||
listen 80;
|
||||
server_name pydocteur.afpy.org;
|
||||
access_log /var/log/nginx/pydocteur.afpy.org-access.log;
|
||||
error_log /var/log/nginx/pydocteur.afpy.org-error.log;
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
|
||||
server
|
||||
{
|
||||
listen 443 ssl;
|
||||
server_name pydocteur.afpy.org;
|
||||
access_log /var/log/nginx/pydocteur.afpy.org-access.log;
|
||||
error_log /var/log/nginx/pydocteur.afpy.org-error.log;
|
||||
include snippets/letsencrypt-pydocteur.afpy.org.conf;
|
||||
location /
|
||||
{
|
||||
include proxy_params;
|
||||
proxy_pass http://unix:/home/pydocteur-afpy-org/wsgi.sock;
|
||||
}
|
||||
}
|
||||
|
||||
- name: PyDocTeur have its own systemd user daemon started at boot
|
||||
command:
|
||||
cmd: loginctl enable-linger pydocteur-afpy-org
|
||||
creates: "/var/lib/systemd/linger/pydocteur-afpy-org"
|
||||
|
||||
- name: Initial clone
|
||||
become: true
|
||||
become_user: pydocteur-afpy-org
|
||||
git:
|
||||
repo: https://github.com/AFPy/PyDocTeur/
|
||||
dest: /home/pydocteur-afpy-org/src/
|
||||
update: no
|
||||
|
||||
- name: pip install requirements
|
||||
become: true
|
||||
become_user: pydocteur-afpy-org
|
||||
pip:
|
||||
requirements: /home/pydocteur-afpy-org/src/requirements.txt
|
||||
virtualenv_command: /usr/bin/python3 -m venv
|
||||
virtualenv: "/home/pydocteur-afpy-org/venv/"
|
||||
|
||||
- name: pip install gunicorn
|
||||
become: true
|
||||
become_user: pydocteur-afpy-org
|
||||
pip:
|
||||
name: gunicorn
|
||||
virtualenv_command: /usr/bin/python3 -m venv
|
||||
virtualenv: "/home/pydocteur-afpy-org/venv/"
|
||||
|
||||
- name: systemd user directory
|
||||
file:
|
||||
path: /home/pydocteur-afpy-org/.local/share/systemd/user/
|
||||
state: directory
|
||||
|
||||
- name: systemd pydocteur.afpy.org service
|
||||
copy:
|
||||
dest: /home/pydocteur-afpy-org/.local/share/systemd/user/pydocteur.service
|
||||
content: |
|
||||
[Unit]
|
||||
Description=PyDocTeur Github hook
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
PIDFile=/home/pydocteur-afpy-org/service.pid
|
||||
WorkingDirectory=/home/pydocteur-afpy-org/src/
|
||||
ExecStart=/home/pydocteur-afpy-org/venv/bin/gunicorn -w 1 \
|
||||
--pid /home/pydocteur-afpy-org/service.pid \
|
||||
--bind unix:/home/pydocteur-afpy-org/wsgi.sock \
|
||||
wsgi
|
||||
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
ExecStop=/bin/kill -s TERM $MAINPID
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
- name: Configure PyDocTeur
|
||||
copy:
|
||||
content: "{{ vault_pydocteur_env }}"
|
||||
dest: /home/pydocteur-afpy-org/src/.env
|
||||
|
||||
- name: Start PyDocTeur
|
||||
become: true
|
||||
become_user: pydocteur-afpy-org
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
scope: user
|
||||
state: started
|
||||
name: pydocteur
|
||||
|
||||
handlers:
|
||||
- name: reload nginx
|
||||
service: name=nginx state=reloaded
|
Loading…
Reference in New Issue