Compare commits

..

66 Commits

Author SHA1 Message Date
704a678de5 Added reference to infrastructure
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2020-04-08 17:28:33 +01:00
abe8840d2a Removed bold from coop name line.
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-08 16:47:54 +01:00
1c1e51f5d6 Added bold emphasis. Reorganised PGP key section. 2020-04-08 16:44:57 +01:00
7bd00564f4 Added FCA coop details 2020-04-08 16:32:44 +01:00
39d17a1e0b Added email to services section 2020-04-08 15:14:03 +01:00
deeecb22b9 Tweaker footer 2020-04-08 15:13:44 +01:00
177cc16dde Removed CC logo and repeated title 2020-04-08 15:04:23 +01:00
cf2c8639b1 Changed post description
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2020-04-08 14:56:18 +01:00
e34352df6e Updated 3rd draft 2020-04-08 14:52:44 +01:00
e9d996b061 Added image 2020-04-08 14:48:43 +01:00
1ef6084a27 Updated 2nd draft 2020-04-08 14:42:14 +01:00
05527f444a Inital blogpost draft 2020-04-08 14:22:07 +01:00
9348b5066e Fix for new domain
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-06 16:35:38 +02:00
4bef557301 Add note about envs
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 14:56:38 +02:00
0dc1ffadb4 Revise README with new links
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 14:50:25 +02:00
9cfda4aa24 Add deploy guide here too
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 14:34:26 +02:00
8776572f3d Rinse the contributing docs and mount the dev volume
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 14:31:04 +02:00
a444219ef8 Add dokku drone deploys
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-06 14:17:09 +02:00
7eeb732aca JEKYLL_ENV comes in from the container
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 14:11:17 +02:00
cb9d863f66 Disable port binding for now
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 14:04:08 +02:00
dc531455ee Be verbose on the server
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 13:57:58 +02:00
3aac13abd7 Use the production env 2020-04-06 13:57:50 +02:00
469906c790 Fix wrong URL in wrong config (doh)
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 13:48:05 +02:00
06b82858f9 Use different configs for different envs
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 13:45:40 +02:00
3da45feb42 Try to set URL for the site
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 13:35:35 +02:00
6748e69a51 Add docker helpers
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 13:23:24 +02:00
93b3c55221 Remove TLS vars for now (again again)
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 13:18:00 +02:00
2b489c6025 Broaden network interface to catch outside the container 2020-04-06 13:17:50 +02:00
6323b4c2c9 Revert "Drop the host flag"
This reverts commit 8bdfe16249.

Going to need that to open up the network space outside of the
container. See https://github.com/moby/moby/issues/28121.
2020-04-06 13:16:51 +02:00
da6b4a1c02 Drop back to usual order for ports setting
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 13:10:45 +02:00
72b39ad07e Drop CHECKS down 2020-04-06 13:08:17 +02:00
f8e52a7381 Drop TLS stuff for now
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 13:07:59 +02:00
8bdfe16249 Drop the host flag 2020-04-06 13:07:42 +02:00
3873d54494 Run under bundler
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 13:04:30 +02:00
bcaf9601e9 Try to run with LE mounting on post-deploy
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 11:50:09 +02:00
b9cdae9857 Spec out a conditional TLS inclusion patch 2020-04-06 11:46:59 +02:00
caa1e521ad Experiment with full pre-deploy setup
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-06 10:58:55 +02:00
741df0045b Use the entrypoint setup to run jekyll
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-31 14:37:09 +02:00
d00d763645 Update to sub-domain for testing for now
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-31 13:57:28 +02:00
46732e1708 Should be working when DNS is fixed
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-31 13:52:29 +02:00
d88ecbcc1a Just check root
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-31 13:13:53 +02:00
eb5af2854f Add TODO 2020-03-31 13:07:00 +02:00
544cd47114 Remove git command since .git is not always there 2020-03-31 13:05:30 +02:00
476df063b4 Disable DNS task for now... 2020-03-31 13:03:23 +02:00
0e62b9e045 Add missing secret 2020-03-31 13:01:49 +02:00
9ce17b0026 Use new style 2020-03-31 13:01:44 +02:00
ff73beef10 Add expected interpreter
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-30 19:34:14 +02:00
5924375117 Update deploy steps
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-30 17:37:30 +02:00
a3fee0493b Add Gemfile.lock for deployments
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-30 17:36:42 +02:00
a892ecf5b4 Put badge and only build for now
Some checks failed
continuous-integration/drone/push Build is failing
2020-03-30 17:35:39 +02:00
909554e58d Add drone config and envrc sample
Some checks failed
continuous-integration/drone/push Build is failing
2020-03-30 17:29:47 +02:00
50959f27ac Add dokku specific configurations 2020-03-30 17:24:33 +02:00
fee2ffd1e1 Merge pull request 'WIP Enable docker builds for the site' (#1) from docker-builds into master 2020-03-30 17:18:16 +02:00
97857a8c27 Enable docker builds for the site 2020-03-30 17:17:50 +02:00
eb38c9514a Got rid of inconsistent full stop in footer 2020-03-05 19:07:41 +00:00
39eef16f9e Merge branch 'services_change' into 'master'
Updated "Services we offer" section inline with #63

See merge request autonomic-cooperative/autonomic-cooperative.gitlab.io!24
2020-02-28 15:09:25 +00:00
04c7d20a56 Merge branch 'footer-text-reup' into 'master'
Tweaked footer text

See merge request autonomic-cooperative/autonomic-cooperative.gitlab.io!25
2020-02-28 15:09:15 +00:00
a2f5a6cbac Tweaked footer text 2020-02-26 18:22:40 +00:00
d3ea095d2b Updated services we offer to be better written 2020-02-26 16:35:17 +00:00
8cdacd0901 Added flex-wrap to footer 2020-02-24 11:13:10 +00:00
48e654008e Fixed linting errors 2020-02-24 11:12:42 +00:00
d72cc7389c Redesigned footer to be more compact 2020-02-05 20:51:34 +00:00
ef18228bee added rel=me for mastodon verification 2020-02-05 17:45:22 +00:00
13622fd105 Added svg files and mastodon link 2020-02-05 17:42:25 +00:00
ea3afbb4e1 Fixed useless code in footer and move foot-scripts to correct file. 2020-02-05 16:31:50 +00:00
13357d685a Removed blog from frontpage 2020-02-05 16:23:12 +00:00
38 changed files with 532 additions and 161 deletions

37
.drone.yml Normal file
View File

@ -0,0 +1,37 @@
---
kind: pipeline
name: default
steps:
- name: Build autonomic.zone docker image
image: docker:stable
volumes:
- name: docker_sock
path: /var/run/docker.sock
commands:
- docker build --no-cache -t autonomic/autonomic.zone:drone .
- name: Deploy Autonomic.zone with Dokku
image: appleboy/drone-git-push:0.2.0-linux-amd64
settings:
remote: ssh://dokku@dokku.autonomic.zone:222/autonomic.zone
ssh_key:
from_secret: drone_deploy_key
when:
branch: master
- name: Send notification to chat.internal.autonomic.zone
image: rmilewski/drone-rocket:latest
when:
status: [success, failure]
settings:
webhook:
from_secret: rocket_chat_webhook
channel: drone-notify
username: drone-notifications-bot
message:
- value: "${DRONE_COMMIT_AUTHOR} deployed site.autonomic.zone (see [commit](${DRONE_COMMIT_LINK})) :partying_face:"
when:
DRONE_BUILD_STATUS: success
- value: "[commit](${DRONE_COMMIT_LINK}) failed to deploy site.autonomic.zone (see [logs](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone/${DRONE_BUILD_NUMBER})) :confounded:"

2
.envrc.sample Normal file
View File

@ -0,0 +1,2 @@
# The path to our pass credentials store
export PASSWORD_STORE_DIR=$(pwd)/../infrastructure/credentials/password-store

1
.gitignore vendored
View File

@ -3,5 +3,4 @@ dist/
.jekyll-metadata .jekyll-metadata
.jekyll-cache .jekyll-cache
.DS_Store .DS_Store
Gemfile.lock
*.gem *.gem

View File

@ -1,19 +0,0 @@
stages:
- deploy
variables:
GIT_DEPTH: 1
pages:
image: jekyll/jekyll:4
stage: deploy
script:
- jekyll build -d public
- apk add gzip --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
- gzip -v -k -6 $(find public -name '*.js' -o -name '*.html' -o -name '*.css')
artifacts:
paths:
- public
only:
- master

View File

@ -3,12 +3,17 @@
All notable changes to this project will be documented in this file. The format All notable changes to this project will be documented in this file. The format
is based on [Keep a Changelog] and this project adheres to [Semantic Versioning]. is based on [Keep a Changelog] and this project adheres to [Semantic Versioning].
[Keep a Changelog]: http://keepachangelog.com/en/1.0.0/ [keep a changelog]: http://keepachangelog.com/en/1.0.0/
[Semantic Versioning]: http://semver.org/spec/v2.0.0.html [semantic versioning]: http://semver.org/spec/v2.0.0.html
## [2.0.0] - 2020-03-30
- Moved website deployment to [git.autonomic.zone](https://git.autonomic.zone).
## [1.0.2] - 2017-11-05 ## [1.0.2] - 2017-11-05
## Added ## Added
- [#18]: Add shared account email. - [#18]: Add shared account email.
[#18]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/merge_requests/18 [#18]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/merge_requests/18
@ -16,9 +21,11 @@ is based on [Keep a Changelog] and this project adheres to [Semantic Versioning]
## [1.0.1] - 2017-10-14 ## [1.0.1] - 2017-10-14
## Added ## Added
- [#17]: Added automated Gitlab CI production builds. - [#17]: Added automated Gitlab CI production builds.
[#17]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/merge_requests/17 [#17]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/merge_requests/17
## [1.0.0] - 2017-10-04 ## [1.0.0] - 2017-10-04
- Initial Release - Initial Release

5
CHECKS Normal file
View File

@ -0,0 +1,5 @@
WAIT=3
TIMEOUT=3
ATTEMPTS=3
/

View File

@ -1,8 +1,6 @@
# Contributing # Contributing
### Not that these instructions may be out of date. If you find any quirks that aren't described in this file, please make patches. ## What Is Jekyll
# What Is Jekyll
For those unfamiliar with how Jekyll works, check out [jekyll.rb] for all the For those unfamiliar with how Jekyll works, check out [jekyll.rb] for all the
details, or read up on the basics of [front matter], [writing posts] and details, or read up on the basics of [front matter], [writing posts] and
@ -13,53 +11,35 @@ details, or read up on the basics of [front matter], [writing posts] and
[writing posts]: https://jekyllrb.com/docs/posts/ [writing posts]: https://jekyllrb.com/docs/posts/
[creating pages]: https://jekyllrb.com/docs/pages/ [creating pages]: https://jekyllrb.com/docs/pages/
# Using RVM to Manage Ruby ## Deploy It
In order to not blow up your computer handling a system wide Ruby installation, it is 1. Push your changes to master and Dokku will try to automatically release
advised that you use [RVM](https://rvm.io/rvm/install). 1. See the [Drone dashboard to see the build](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone/)
Once you've got that installed and configured, get the latest version of Ruby with: ## Hack On It
The only prerequisite is [Docker](https://www.docker.com/). If you're on Debian, installing is easy.
```bash ```bash
$ rvm install 2.6.5 $ curl -fsSL https://get.docker.com -o get-docker.sh # have a look if you want
$ sh get-docker.sh
``` ```
Select that version and then create an isolated [gemset](https://rvm.io/gemsets/basics) with: Fire up the container with the following.
```bash ```bash
$ rvm use 2.6.5 $ make dockerserver
$ rvm gemset create autonomic
$ rvm gemset use autonomic
``` ```
# Install Dependencies Then visit the locally running website.
Then you can install your Ruby dependencies with: > http://localhost:4000
``` bash Then you can edit the files as normal and reload the page.
$ gem install jekyll bundler
$ bundle install
```
# Serve Website ## Notes
And serve the website locally with: 1. For configuration, please note, we now use a `dev` environment config file:
`_config_dev.yml`. Hence if you edit one `_config*` file and you also want
``` bash that change to be reflected in the other environment ("dev", "prod") then
$ make devserver edit the other file as well!
```
# Editing Content
Edit content in the `.md` files under `src` and `src/_posts`.
# Next time
When you're hacking later on (or in a new shell), you'll need to run:
``` bash
$ rvm use 2.6.5
$ rvm gemset use autonomic
```
And then you'll have access to the environment.

15
Dockerfile Normal file
View File

@ -0,0 +1,15 @@
FROM decentral1se/jekyll:4
EXPOSE 4000
WORKDIR /usr/src/app
COPY . ${WORKDIR}
COPY sbin/* /sbin/
RUN bundle config --global frozen 1
RUN bundle install
ENTRYPOINT ["/sbin/entrypoint.sh"]

75
Gemfile.lock Normal file
View File

@ -0,0 +1,75 @@
PATH
remote: .
specs:
autonomic (0.0.0)
GEM
remote: https://rubygems.org/
specs:
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.1.6)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
ffi (1.12.2)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.8.2)
concurrent-ruby (~> 1.0)
jekyll (4.0.0)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (>= 0.9.5, < 2)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 1.8)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.1.0)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.2.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.3)
rb-fsevent (0.10.3)
rb-inotify (0.10.1)
ffi (~> 1.0)
rouge (3.17.0)
safe_yaml (1.0.5)
sassc (2.2.1)
ffi (~> 1.9)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.7.0)
PLATFORMS
ruby
DEPENDENCIES
autonomic!
bundler (>= 2.1.4)
jekyll (>= 4)
RUBY VERSION
ruby 2.6.5p114
BUNDLED WITH
2.1.4

View File

@ -4,3 +4,18 @@ devserver:
@echo "Serving development site from $(DEV_DIST_DIR)" @echo "Serving development site from $(DEV_DIST_DIR)"
@jekyll serve --watch --incremental --destination $(DEV_DIST_DIR) @jekyll serve --watch --incremental --destination $(DEV_DIST_DIR)
.PHONY: devserver .PHONY: devserver
dockerbuild:
@docker build -t autonomic/autonomic.zone:testing .
.PHONY: dockerbuild
dockerserver: dockerbuild
@docker run \
-e JEKYLL_PORT=4000 \
-e JEKYLL_HOST=0.0.0.0 \
-e JEKYLL_CONFIG=_config_dev.yml \
-v $$(pwd):/usr/src/app \
-p 4000:4000 \
-d \
autonomic/autonomic.zone:testing
.PHONY: dockerserver

View File

@ -1,29 +1,21 @@
[![pipeline status](https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/badges/master/pipeline.svg)](https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/commits/master)
# autonomic.zone # autonomic.zone
[![Build Status](https://drone.autonomic.zone/api/badges/autonomic-cooperative/autonomic.zone/status.svg)](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone)
> https://site.autonomic.zone
A [Jekyll] based site for the Autonomic Cooperative. The site is based on the [spectral-jekyll-theme] template. A [Jekyll] based site for the Autonomic Cooperative. The site is based on the [spectral-jekyll-theme] template.
master is served up to [autonomic.zone] and [autonomic-cooperative.gitlab.io]. [jekyll]: https://jekyllrb.com/
[Jekyll]: https://jekyllrb.com/
[spectral-jekyll-theme]: https://github.com/andrewbanchich/spectral-jekyll-theme [spectral-jekyll-theme]: https://github.com/andrewbanchich/spectral-jekyll-theme
[autonomic.zone]: https://autonomic.zone/
[autonomic-cooperative.gitlab.io]: http://autonomic-cooperative.gitlab.io/
# Make a change # Deploy
Work on features in branches. If you commit to master, open a merge request from your branch unless it is a tiny change. Our [pages] CI stage will push any changes on master branch to [autonomic.zone].
[deploy]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/blob/d16aec42bd2ddd7449f55d9f06b03499cc660b22/.gitlab-ci.yml#L17
Watch the [CI/CD pipeline] to see that it builds successfully.
[CI/CD pipeline]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/pipelines
1. Push your changes to master and Dokku will try to automatically release
1. See the [Drone dashboard to see the build](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone/)
# Contribute # Contribute
Please see [CONTRIBUTING.md] for the juicy details. It may need to be updated, so please submit patches if you discover some quirk! Please see [CONTRIBUTING.md] for the juicy details.
[CONTRIBUTING.md]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/blob/master/CONTRIBUTING.md [contributing.md]: ./CONTRIBUTING.md

View File

@ -1,3 +1,4 @@
---
title: Autonomic Co-operative title: Autonomic Co-operative
email: helo@autonomic.zone email: helo@autonomic.zone
description: Sustainability, Transparency, Privacy description: Sustainability, Transparency, Privacy
@ -10,6 +11,7 @@ sass:
featured-image-source: featured-image-source:
500px_url: 500px_url:
github_url: github_url:
mastodon_url: https://sunbeam.city/@autonomic
twitter_url: https://twitter.com/autonomiccoop twitter_url: https://twitter.com/autonomiccoop
markdown: kramdown markdown: kramdown
permalink: pretty permalink: pretty

27
_config_prod.yml Normal file
View File

@ -0,0 +1,27 @@
---
title: Autonomic Co-operative
email: helo@autonomic.zone
description: Sustainability, Transparency, Privacy
baseurl: ""
url: "https://site.autonomic.zone"
source: src
destination: dist
sass:
sass_dir: ./assets/styles
featured-image-source:
500px_url:
github_url:
mastodon_url: https://sunbeam.city/@autonomic
twitter_url: https://twitter.com/autonomiccoop
markdown: kramdown
permalink: pretty
collections:
posts:
output: true
permalink: /blog/:title/
clients:
output: false
exclude:
- vendor
- Gemfile
- Gemfile.lock

5
ansible/.vault.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
set -eu -o pipefail
echo $(pass show hosts/autonomic-dokku/vault/password)

47
ansible/post-deploy.yml Normal file
View File

@ -0,0 +1,47 @@
---
- hosts: all
gather_facts: false
tasks:
- name: Load variables
include_vars:
dir: "{{ dokku_lib_root }}/data/ansible/autonomic.zone/vars/"
extensions:
- yml
- name: Set HTTP 80 port proxy
dokku_ports:
app: autonomic.zone
mappings:
- "http:80:{{ http_port }}"
state: present
- name: Setup LE certificates
shell: dokku letsencrypt autonomic.zone
args:
creates: /home/dokku/autonomic.zone/letsencrypt/certs
- name: Setup LE certificates renew cron job
shell: dokku letsencrypt:cron-job --add
args:
creates: /home/dokku/autonomic.zone/letsencrypt/cron-job
- name: Specify docker volume mounts
dokku_storage:
app: autonomic.zone
mounts:
- /home/dokku/autonomic.zone/letsencrypt/certs/current/key.pem:/etc/x509/https/tls.key
- /home/dokku/autonomic.zone/letsencrypt/certs/current/cert.pem:/etc/x509/https/tls.crt
- name: Set HTTP 443 port
dokku_ports:
app: autonomic.zone
mappings:
- "https:443:{{ http_port }}"
state: present
- name: Remove automatically configured ports
dokku_ports:
app: autonomic.zone
mappings:
- "http:4000:4000"
state: absent

54
ansible/pre-deploy.yml Normal file
View File

@ -0,0 +1,54 @@
---
- hosts: all
gather_facts: false
tasks:
- name: Load variables
include_vars:
dir: "{{ dokku_lib_root }}/data/ansible/autonomic.zone/vars/"
extensions:
- yml
- name: Prepare Python system dependencies
become: true
apt:
name: python3-pip
state: present
- name: Install dns-lexicon system wide
become: true
pip:
name: ["cryptography==2.8", "dns-lexicon==3.3.19"]
executable: /usr/bin/pip3
state: present
- name: "Create {{ domain }} DNS entry"
gandi_dns:
gandi_rest_token: "{{ gandi_rest_token }}"
domain: "{{ domain }}"
ipv4: "{{ dokku_domain_ipv4 }}"
state: present
- name: "Configure the {{ domain }} domain"
dokku_domains:
app: autonomic.zone
domains:
- "{{ domain }}"
state: present
- name: Ensure default app configured domains go away
dokku_domains:
app: autonomic.zone
domains:
- autonomic.zone.dokku.autonomic.zone
state: absent
- name: Configure the dokku app environment
dokku_config:
app: autonomic.zone
restart: false
config:
DOKKU_LETSENCRYPT_EMAIL: "{{ autonomic_admin_mail }}"
JEKYLL_HOST: "0.0.0.0"
JEKYLL_PORT: "{{ http_port }}"
JEKYLL_CONFIG: "{{ jekyll_config }}"
JEKYLL_ENV: "{{ jekyll_env }}"

6
ansible/requirements.yml Normal file
View File

@ -0,0 +1,6 @@
---
- src: dokku_bot.ansible_dokku
version: v2020.3.15
- src: https://git.autonomic.zone/autonomic-cooperative/autonomic.gandi/archive/0.0.5.tar.gz
name: autonomic.gandi

8
ansible/vars/all.yml Normal file
View File

@ -0,0 +1,8 @@
---
ansible_python_interpreter: "/usr/bin/python3"
autonomic_admin_mail: "helo@autonomic.zone"
dokku_domain_ipv4: "94.130.105.60"
domain: "autonomic.zone"
http_port: "4000"
jekyll_config: "_config_prod.yml"
jekyll_env: "production"

View File

@ -0,0 +1,8 @@
---
ansible_become_pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
34396236353735666531323238656533643465303131663464613162396333313836363630666266
6539323631656635333864316166633064633366323936610a656137616334313534333635313232
35323561303763366563316631313638363333393763323935343563303963616334336639386462
3837383830616637360a373539613630356564363662393836366462666430353439353637303035
63396633303166343433313439303539313637306637663137313533316531616434

View File

@ -0,0 +1,8 @@
---
gandi_rest_token: !vault |
$ANSIBLE_VAULT;1.1;AES256
65653461333739626564356366313338613561396163383161633561373736626138306633353261
3230376530616361343063346533633464643165643739310a303965353336353063353564643263
37396139643161346265616630633530353866356338386134383565363238393932666565663163
3831393731353735350a313235376463643439363833616263653637623363386532636132366662
65313835306637323066396232653166313262613333633061313266363338646334

5
app.json Normal file
View File

@ -0,0 +1,5 @@
{
"name": "autonomic.zone",
"description": "Autonomics website on the world wide web",
"repository": "https://git.autonomic.zone/autonomic-cooperative/autonomic.zone"
}

View File

@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
spec.description = "" spec.description = ""
spec.authors = ['autonomic co-operative'] spec.authors = ['autonomic co-operative']
spec.email = 'autonomic.posteo.net' spec.email = 'autonomic.posteo.net'
spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(assets|_layouts|_includes|_sass|LICENSE|README)}i) } spec.files = 'README.md'
spec.add_development_dependency "jekyll", ">= 4" spec.add_development_dependency "jekyll", ">= 4"
spec.add_development_dependency "bundler", ">= 1.12" spec.add_development_dependency "bundler", ">= 2.1.4"
end end

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
ansible==2.9.6

15
sbin/encrypt.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/bash
set -eu -o pipefail
# Usage
# ./encrypt.sh mysecretname mysecretvalue
declare name="$1"
declare secret="$2"
ansible-vault \
encrypt_string \
--vault-password-file ansible/.vault.sh \
--name "$name" \
"$secret"

24
sbin/entrypoint.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/bash
set -eu -o pipefail
# Fire up Jekyll with the right configuration
run_jekyll() {
set -eu
bundle exec jekyll serve \
--config "$JEKYLL_CONFIG" \
--host "$JEKYLL_HOST" \
--port "$JEKYLL_PORT" \
--trace \
--verbose
}
# Main entrypoint
main() {
set -eu
run_jekyll
}
main

View File

@ -1,18 +0,0 @@
<section id="two" class="wrapper alt style2">
{% assign posts = site.categories.values | concat: site.categories.howto | sort:"date" | reverse %}
{% for post in posts %}
<section class="spotlight">
<div class="image">
{% if post.image %}
<img src="{% if site.featured-image-source %}{{ post.image | prepend: site.featured-image-source | absolute_url }}{% else %}{{ "" | absolute_url }}/assets/images/{{ post.image }}{% endif %}" alt="" loading="lazy">
{% endif %}
</div>
<div class="content">
<h2><a href="{{ post.url | relative_url }}" class="link">{{ post.title }}</a></h2>
<p class="h5">{{ post.date | date: '%B %d, %Y' }}</p>
<p>{{ post.description }}</p>
</div>
</section>
{% endfor %}
</section>

View File

@ -1,5 +1,5 @@
<a class="named-anchor" name="contact"></a>
<section id="contact" class="wrapper style5 special"> <section id="contact" class="wrapper style5 special">
<a class="named-anchor" name="contact">
<header class="major"> <header class="major">
<h2>Get in Touch</h2> <h2>Get in Touch</h2>
<p>Contact us to discuss your project's needs and arrange a consultation.</p> <p>Contact us to discuss your project's needs and arrange a consultation.</p>
@ -9,4 +9,5 @@
Our key fingerprint is: <br/><code id="fingerprint">82FC 87C5 1A71 902F DC10 2CF5 4F90 D55B B24B 1147</code> Our key fingerprint is: <br/><code id="fingerprint">82FC 87C5 1A71 902F DC10 2CF5 4F90 D55B B24B 1147</code>
</p> </p>
</header> </header>
</a>
</section> </section>

View File

@ -0,0 +1,7 @@
<!-- Scripts -->
<script src="{{ "/assets/js/jquery-3.4.1.min.js" | absolute_url }}"></script>
<script src="{{ "/assets/js/jquery.scrollex.min.js" | absolute_url }}"></script>
<script src="{{ "/assets/js/skel.min.js" | absolute_url }}"></script>
<script src="{{ "/assets/js/util.js" | absolute_url }}"></script>
<script src="{{ "/assets/js/particles.min.js" | absolute_url }}""></script>
<script src="{{ "/assets/js/main.js" | absolute_url }}"></script>

View File

@ -1,37 +1,48 @@
<!-- Footer --> <!-- Footer -->
<footer id="footer"> <footer id="footer">
<ul class="icons"> <div class="row">
<div class="column">
<a class="named-anchor" name="contact"></a>
<h3>Get in Touch</h3>
Contact us to discuss your project's needs and arrange a consultation:</br>
<b><a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></b></br></br>
<b><a href="{{ '/assets/pgp/autonomic-key.asc' | relative_url }}">Download PGP key</a></b></br>
<a href= "https://git.autonomic.zone/autonomic-cooperative/autonomic.zone/src/branch/master/src/assets/pgp"> Verify fingerprint:</a><code id="fingerprint">82FC 87C5 1A71 902F DC10 2CF5 4F90 D55B B24B 1147</code>
<ul class="icons" style="margin-bottom: 0; padding-top: 1em">
<li> <li>
<a rel="noopener" href="{{ site.twitter_url }}" style="border-bottom: none"> <a rel="noopener" href="{{ site.twitter_url }}" style="border-bottom: none">
<svg style="height: 2rem;" viewBox="0 0 1792 1792"> <img alt="twitter" style="height: 2rem;" src="{{ '/assets/svg/twitter-brands.svg' | absolute_url }}">
<title>Twitter</title> </a>
<path fill="#fff" d="M1684 408q-67 98-162 167l1 42q0 130-38 260t-115 248-185 211-258 146-323 54q-271 0-496-145 35 4 78 4 225 0 401-138-105-2-188-64t-114-160q33 5 61 5 43 0 85-11-112-23-185-111t-74-206v-4q68 38 146 41-66-44-105-115t-39-154q0-88 44-163 121 149 295 239t371 99q-8-38-8-74 0-134 95-228t228-95q140 0 236 102 109-21 205-78-37 115-142 178 93-10 186-50z"/> </li>
</svg> <li>
<a rel="me" href="{{ site.mastodon_url }}" style="border-bottom: none">
<img alt="mastodon" style="height: 2rem;" src="{{ '/assets/svg/mastodon-brands.svg' | absolute_url }}">
</a> </a>
</li> </li>
</ul> </ul>
<ul class="copyright">
<svg style="height: 1rem; fill: rgba(255, 255, 255, 0.7); vertical-align: text-bottom;" viewBox="0 0 1792 1792"><path d="M605 1233q153 0 257-104 14-18 3-36l-45-82q-6-13-24-17-16-2-27 11l-4 3-11 10-18 14q-11 8-23 14t-29 13-33 10-38 3q-76 0-125-50t-49-127q0-76 48-125t122-50q37 0 72 14t50 28l16 14q11 11 26 10 16-2 24-14l53-78q13-20-2-39l-11-12q-8-8-30-23t-48-28-68-23-86-10q-148 0-246 97t-98 240q0 146 97 242t247 95zm630 0q153 0 257-104 14-18 4-36l-45-82q-8-14-25-17-16-2-27 11l-4 3-11 10-18 14q-11 8-23 14t-29 13-33 10-38 3q-76 0-125-50t-49-127q0-76 48-125t122-50q37 0 72 14t50 28l16 14q11 11 26 10 16-2 24-14l53-78q13-20-2-39l-11-12q-8-8-30-23t-48-28-68-23-86-10q-147 0-245 97t-99 240q0 146 97 242t247 95zM896 160q-150 0-286 59T376 376 219 610t-59 286 59 286 157 235 234 157 286 58 286-58 235-157 157-235 58-286-58-286-157-234-235-157-286-59zm0-160q182 0 348 71t286 191 191 286 71 348-71 348-191 286-286 191-348 71-348-71-286-191-191-286T0 896t71-348 191-286T548 71 896 0z"/></svg>&nbsp;
{{ site.title }}</li>
</ul>
</div>
<div class="column">
<div class="copyright">
</div>
<div class="cotech-box">
<a href="https://www.coops.tech/">
<img class="cotech-logo" src="{{ '/assets/images/CoTech-white-logo.png' | relative_url }}" alt="CoTech"/>
<b><span class="cotech-text">Member of the Cotech Network</span></b>
</a>
</div>
<div style="vertical-align: bottom;">
<address> <address>
Autonomic Co-operative</br> Autonomic Co-operative Limited</br>
1539 Pershore Road </br> 1539 Pershore Road</br>
Stirchley</br> Birmingham</br>
B30 2JH B30 2JH</br>
</address> United Kingdom</br>
</address></br>
We are a Co-operative Society registered with the <a href="https://mutuals.fca.org.uk/Search/Society/30380">FCA</a>.
<b>Registration Number: 4597 </b>
</div>
</div>
</div>
</footer> </footer>
</div>
<!-- Scripts -->
<script src="{{ "/assets/js/jquery-3.4.1.min.js" | absolute_url }}"></script>
<script src="{{ "/assets/js/jquery.scrollex.min.js" | absolute_url }}"></script>
<script src="{{ "/assets/js/skel.min.js" | absolute_url }}"></script>
<script src="{{ "/assets/js/util.js" | absolute_url }}"></script>
<script src="{{ "/assets/js/particles.min.js" | absolute_url }}""></script>
<script src="{{ "/assets/js/main.js" | absolute_url }}"></script>
</body>
</html>

View File

@ -2,22 +2,23 @@
<section id="three" class="wrapper style6 special"> <section id="three" class="wrapper style6 special">
<div class="inner"> <div class="inner">
<header class="major"> <header class="major">
<h2>Services we offer</h2> <h2>Cooperative Cloud Infrastructure</h2>
<p> <p>
This isn't an exhaustive list - if you don't see what you need, please contact us anyway. This isn't an exhaustive list. If you don't see what you need, please contact us anyway for a consultation:
</p> </p>
<h3><a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></h3>
</header> </header>
<ul class="features"> <ul class="features">
<li class="features-item"> <li class="features-item">
<svg class="features-icon" viewBox="0 0 1792 1792"><path d="M127 896q0-163 67-313l367 1005q-196-95-315-281T127 896zm1288-39l-2 39q-2 20-10 49t-12 44-17 59-18 58l-76 256-278-826q46-3 88-8 19-2 26-18t-2-31-29-14l-205 10q-75-1-202-10-12-1-20 5t-12 15-1 19 9 16 19 8l80 8 120 328-168 504-280-832q46-3 88-8 19-2 26-18t-2-31-29-14l-205 10h-23l-26-1q105-160 275-253t367-94q147 0 281 53t238 149h-10q-55 0-92 41t-37 95l2 24 4 22q2 10 8 23t9 21 12 22 13 21 14 24 14 23q63 107 63 212zM909 963l237 647q1 6 5 11-126 44-255 44-112 0-217-32zm661-436q95 174 95 369 0 209-104 386t-279 278l235-678q59-169 59-276 0-42-6-79zM896 0q182 0 348 71t286 191 191 286 71 348-71 348-191 286-286 191-348 71-348-71-286-191-191-286T0 896t71-348 191-286T548 71 896 0zm0 1751q173 0 332-68t273-182 182-273 68-332-68-331-182-273-273-183-332-68-331 68-273 183-183 273-68 331 68 332 183 273 273 182 331 68z"/></svg> <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M127 896q0-163 67-313l367 1005q-196-95-315-281T127 896zm1288-39l-2 39q-2 20-10 49t-12 44-17 59-18 58l-76 256-278-826q46-3 88-8 19-2 26-18t-2-31-29-14l-205 10q-75-1-202-10-12-1-20 5t-12 15-1 19 9 16 19 8l80 8 120 328-168 504-280-832q46-3 88-8 19-2 26-18t-2-31-29-14l-205 10h-23l-26-1q105-160 275-253t367-94q147 0 281 53t238 149h-10q-55 0-92 41t-37 95l2 24 4 22q2 10 8 23t9 21 12 22 13 21 14 24 14 23q63 107 63 212zM909 963l237 647q1 6 5 11-126 44-255 44-112 0-217-32zm661-436q95 174 95 369 0 209-104 386t-279 278l235-678q59-169 59-276 0-42-6-79zM896 0q182 0 348 71t286 191 191 286 71 348-71 348-191 286-286 191-348 71-348-71-286-191-191-286T0 896t71-348 191-286T548 71 896 0zm0 1751q173 0 332-68t273-182 182-273 68-332-68-331-182-273-273-183-332-68-331 68-273 183-183 273-68 331 68 332 183 273 273 182 331 68z"/></svg>
<div> <div>
<h3>Wordpress websites</h3> <h3>Websites</h3>
<p> <p>
We will build and host your website, using Wordpress, which is free software and very user-friendly so you can add and edit your own content if you want to. We offer <a href="https://wordpress.com/">Wordpress</a> and static sites. Either managed or unmanaged with frictionless tools for editing and publishing that empower users. <a href="https://matomo.org/">Matamo</a> provides ethical analytics to measure impact.
</p> </p>
</div> </div>
</li> </li>
<li class="features-item"> <!-- <li class="features-item">
<svg class="features-icon" viewBox="0 0 1792 1792"><path d="M1703 478q40 57 18 129l-275 906q-19 64-76 108t-123 43H324q-77 0-148-53T76 1479q-24-67-2-127l3-27 4-37q1-8-3-21t-3-20q2-11 8-21t17-23 16-24q23-38 45-91t30-92q3-10 1-30t-1-28q3-11 17-28t17-23q21-36 42-92t25-90q1-9-2-32t0-28q4-13 22-30t22-23q19-26 43-84t27-97q1-8-3-25t-2-27q2-8 9-18t18-23 17-21q8-12 17-30t15-35 16-36 19-32 27-24 36-11 47 5l-1 3q38-9 51-9h761q74 0 114 56t18 130l-274 906q-36 119-71 154t-129 34H220q-27 0-38 15-11 16-1 43 24 70 144 70h923q29 0 56-15t35-42l300-987q7-22 5-57 38 15 59 43zm-1064 2q-4 13 2 23t20 9h608q13 0 26-9t16-23l21-64q4-13-2-22t-20-10H702q-13 0-25 10t-17 22zm-83 256q-4 13 2 23t20 9h608q13 0 26-9t16-23l21-64q4-13-2-22t-20-10H619q-13 0-25 10t-17 22z"/></svg> <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M1703 478q40 57 18 129l-275 906q-19 64-76 108t-123 43H324q-77 0-148-53T76 1479q-24-67-2-127l3-27 4-37q1-8-3-21t-3-20q2-11 8-21t17-23 16-24q23-38 45-91t30-92q3-10 1-30t-1-28q3-11 17-28t17-23q21-36 42-92t25-90q1-9-2-32t0-28q4-13 22-30t22-23q19-26 43-84t27-97q1-8-3-25t-2-27q2-8 9-18t18-23 17-21q8-12 17-30t15-35 16-36 19-32 27-24 36-11 47 5l-1 3q38-9 51-9h761q74 0 114 56t18 130l-274 906q-36 119-71 154t-129 34H220q-27 0-38 15-11 16-1 43 24 70 144 70h923q29 0 56-15t35-42l300-987q7-22 5-57 38 15 59 43zm-1064 2q-4 13 2 23t20 9h608q13 0 26-9t16-23l21-64q4-13-2-22t-20-10H702q-13 0-25 10t-17 22zm-83 256q-4 13 2 23t20 9h608q13 0 26-9t16-23l21-64q4-13-2-22t-20-10H619q-13 0-25 10t-17 22z"/></svg>
<div> <div>
<h3>CRM and Case Management</h3> <h3>CRM and Case Management</h3>
@ -25,8 +26,8 @@
For case work (e.g. housing or asylum support) we offer our own system, OpenCase. It's simple and user-friendly, perfect for small, volunteer-led groups. We will also consider CiviCRM depending on requirements. For case work (e.g. housing or asylum support) we offer our own system, OpenCase. It's simple and user-friendly, perfect for small, volunteer-led groups. We will also consider CiviCRM depending on requirements.
</p> </p>
</div> </div>
</li> </li> -->
<li class="features-item"> <!-- <li class="features-item">
<svg class="features-icon" viewBox="0 0 1792 1792"><path d="M1764 11q33 24 27 64l-256 1536q-5 29-32 45-14 8-31 8-11 0-24-5l-527-215-298 327q-18 21-47 21-14 0-23-4-19-7-30-23t-11-37v-452L40 1083q-37-14-40-55-3-39 32-59L1696 9q35-21 68 2zm-342 1499l221-1323-1434 827 336 137 863-639-478 797z"/></svg> <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M1764 11q33 24 27 64l-256 1536q-5 29-32 45-14 8-31 8-11 0-24-5l-527-215-298 327q-18 21-47 21-14 0-23-4-19-7-30-23t-11-37v-452L40 1083q-37-14-40-55-3-39 32-59L1696 9q35-21 68 2zm-342 1499l221-1323-1434 827 336 137 863-639-478 797z"/></svg>
<div> <div>
<h3>Encrypted Email</h3> <h3>Encrypted Email</h3>
@ -36,11 +37,11 @@
encrypted mailbox storage. encrypted mailbox storage.
</p> </p>
</div> </div>
</li> </li> -->
<li class="features-item"> <li class="features-item">
<svg class="features-icon" viewBox="0 0 1024 901"><g fill-rule="nonzero"><path d="M898 350zM308 38c32 18 62 40 87 64 41-7 84-11 127-11 128 0 250 34 343 95 48 32 86 70 113 112a279 279 0 010 305c-27 42-65 80-113 111-93 62-215 95-343 95-43 0-86-3-127-11-25 25-55 47-87 65-168 84-308 2-308 2s130-111 109-208c-58-59-90-131-90-207 0-75 32-147 90-207C130 146 0 36 0 36s140-82 308 2zM208 618c16 52 6 111-29 176l-5 10c30-3 61-11 92-27 24-13 46-30 65-48l36-34c48 13 101 20 157 20 225 0 408-118 408-265 0-146-183-264-408-264-226 0-409 118-409 264 0 64 35 123 93 168z"/><path d="M328 509a60 60 0 110-120 60 60 0 010 120zm194 0a60 60 0 110-120 60 60 0 010 120zm194 0a60 60 0 11-1-120 60 60 0 011 120z"/></g></svg> <svg class="features-icon" viewBox="0 0 1024 901"><g fill-rule="nonzero"><path d="M898 350zM308 38c32 18 62 40 87 64 41-7 84-11 127-11 128 0 250 34 343 95 48 32 86 70 113 112a279 279 0 010 305c-27 42-65 80-113 111-93 62-215 95-343 95-43 0-86-3-127-11-25 25-55 47-87 65-168 84-308 2-308 2s130-111 109-208c-58-59-90-131-90-207 0-75 32-147 90-207C130 146 0 36 0 36s140-82 308 2zM208 618c16 52 6 111-29 176l-5 10c30-3 61-11 92-27 24-13 46-30 65-48l36-34c48 13 101 20 157 20 225 0 408-118 408-265 0-146-183-264-408-264-226 0-409 118-409 264 0 64 35 123 93 168z"/><path d="M328 509a60 60 0 110-120 60 60 0 010 120zm194 0a60 60 0 110-120 60 60 0 010 120zm194 0a60 60 0 11-1-120 60 60 0 011 120z"/></g></svg>
<div> <div>
<h3>Text and Video Chat</h3> <h3>Team Chat</h3>
<p> <p>
Mobile friendly multi-channel team chat using <a href="https://rocket.chat/">Rocket.Chat</a>, Mobile friendly multi-channel team chat using <a href="https://rocket.chat/">Rocket.Chat</a>,
with no artificial limits on features. Vital for remote project coordination. with no artificial limits on features. Vital for remote project coordination.
@ -52,14 +53,11 @@
<div> <div>
<h3>Cloud Storage and Collaboration</h3> <h3>Cloud Storage and Collaboration</h3>
<p> <p>
<a href="https://cloudron.io/">Cloudron</a> is a personal "cloud <a href="https://nextcloud.com/">Nextcloud</a> for file-storage, collaborative document editing, calendars. We also host <a href="https://github.com/hackmdio/codimd">CodiMD</a>, <a href="https://etherpad.org/">Etherpad</a>, <a href="https://gitea.io">Gitea</a> and <a href="https://wekan.github.io/">Wekan</a> instances.
in a box" , designed with the utmost security in mind. It allows you to
deploy apps for file-storage, collaborative document editing,
calendars, to-do lists and much more.
</p> </p>
</div> </div>
</li> </li>
<li class="features-item"> <!-- <li class="features-item">
<svg class="features-icon" viewBox="0 0 1792 1792"><path d="M1728 886q0 166-60 314l-20 49-185 33q-22 83-90 137t-157 53v32q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23V928q0-14 9-23t23-9h64q14 0 23 9t9 23v32q71 0 130 36t93 95l68-12q29-95 29-193 0-148-88-279t-236-209-316-78-315 78-237 209-88 279q0 98 29 193l68 12q34-60 93-95t130-36v-32q0-14 9-23t23-9h64q14 0 23 9t9 23v576q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23v-32q-88 0-156-53t-91-137l-185-33-20-49q-60-148-60-314 0-151 67-291t179-242 266-164 320-61 320 61 266 164 179 242 67 291z"/></svg> <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M1728 886q0 166-60 314l-20 49-185 33q-22 83-90 137t-157 53v32q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23V928q0-14 9-23t23-9h64q14 0 23 9t9 23v32q71 0 130 36t93 95l68-12q29-95 29-193 0-148-88-279t-236-209-316-78-315 78-237 209-88 279q0 98 29 193l68 12q34-60 93-95t130-36v-32q0-14 9-23t23-9h64q14 0 23 9t9 23v576q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23v-32q-88 0-156-53t-91-137l-185-33-20-49q-60-148-60-314 0-151 67-291t179-242 266-164 320-61 320 61 266 164 179 242 67 291z"/></svg>
<div> <div>
<h3>Voice Conferencing</h3> <h3>Voice Conferencing</h3>
@ -68,7 +66,7 @@
Perfect for meetings, even with large groups, on mobile, or with low bandwidth. Perfect for meetings, even with large groups, on mobile, or with low bandwidth.
</p> </p>
</div> </div>
</li> </li> -->
<li class="features-item"> <li class="features-item">
<svg class="features-icon" viewBox="0 0 1792 1792"><path d="M704 384q-153 0-286 52T207 577t-79 191q0 82 53 158t149 132l97 56-35 84q34-20 62-39l44-31 53 10q78 14 153 14 153 0 286-52t212-141 78-191-78-191-212-141-286-52zm0-128q191 0 354 69t256 186 94 257-94 257-256 187-354 68q-86 0-176-16-124 88-278 128-36 9-86 16h-3q-11 0-20-8t-12-21l-1-6 1-7 2-6 2-5 4-5 4-5 4-5 4-5 23-25 26-29 23-29q15-19 25-39t20-44q-124-72-195-177T0 768q0-139 94-257t257-186 353-69zm822 1169q10 24 21 44t25 39 22 29 26 29 23 25l4 5 5 5 4 5 3 5 3 5 2 6v7l-1 6q-3 14-13 22t-22 7q-50-7-86-16-154-40-278-128-90 16-176 16-271 0-472-132 58 4 88 4 161 0 309-45t264-129q125-92 192-212t67-254q0-77-23-152 129 71 204 178t75 230q0 120-71 225t-195 176z"/></svg> <svg class="features-icon" viewBox="0 0 1792 1792"><path d="M704 384q-153 0-286 52T207 577t-79 191q0 82 53 158t149 132l97 56-35 84q34-20 62-39l44-31 53 10q78 14 153 14 153 0 286-52t212-141 78-191-78-191-212-141-286-52zm0-128q191 0 354 69t256 186 94 257-94 257-256 187-354 68q-86 0-176-16-124 88-278 128-36 9-86 16h-3q-11 0-20-8t-12-21l-1-6 1-7 2-6 2-5 4-5 4-5 4-5 4-5 23-25 26-29 23-29q15-19 25-39t20-44q-124-72-195-177T0 768q0-139 94-257t257-186 353-69zm822 1169q10 24 21 44t25 39 22 29 26 29 23 25l4 5 5 5 4 5 3 5 3 5 2 6v7l-1 6q-3 14-13 22t-22 7q-50-7-86-16-154-40-278-128-90 16-176 16-271 0-472-132 58 4 88 4 161 0 309-45t264-129q125-92 192-212t67-254q0-77-23-152 129 71 204 178t75 230q0 120-71 225t-195 176z"/></svg>
<div> <div>
@ -80,7 +78,7 @@
</p> </p>
</div> </div>
</li> </li>
<li class="features-item"> <!-- <li class="features-item">
<svg class="features-icon" viewBox="0 0 2048 1792"><path d="M2020 11q28 20 28 53v1408q0 20-11 36t-29 23l-640 256q-24 11-48 0l-616-246-616 246q-10 5-24 5-19 0-36-11-28-20-28-53V320q0-20 11-36t29-23L680 5q24-11 48 0l616 246L1960 5q32-13 60 6zM736 146v1270l576 230V376zM128 363v1270l544-217V146zm1792 1066V159l-544 217v1270z"/></svg> <svg class="features-icon" viewBox="0 0 2048 1792"><path d="M2020 11q28 20 28 53v1408q0 20-11 36t-29 23l-640 256q-24 11-48 0l-616-246-616 246q-10 5-24 5-19 0-36-11-28-20-28-53V320q0-20 11-36t29-23L680 5q24-11 48 0l616 246L1960 5q32-13 60 6zM736 146v1270l576 230V376zM128 363v1270l544-217V146zm1792 1066V159l-544 217v1270z"/></svg>
<div> <div>
<h3>Interactive Data and Mapping</h3> <h3>Interactive Data and Mapping</h3>
@ -91,14 +89,13 @@
data by presenting it in a bespoke web app. data by presenting it in a bespoke web app.
</p> </p>
</div> </div>
</li> </li> -->
<li class="features-item"> <li class="features-item">
<svg class="features-icon" viewBox="0 0 2048 1792"><path d="M681 1399l-50 50q-10 10-23 10t-23-10L119 983q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23t-10 23L288 960l393 393q10 10 10 23t-10 23zm591-1067L899 1623q-4 13-15 20t-24 2l-62-17q-13-4-19-15t-3-25l373-1291q4-13 16-19t23-3l62 17q13 4 20 16t2 24zm657 651l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23t-10 23z"/></svg> <svg class="features-icon" viewBox="0 0 2048 1792"><path d="M681 1399l-50 50q-10 10-23 10t-23-10L119 983q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23t-10 23L288 960l393 393q10 10 10 23t-10 23zm591-1067L899 1623q-4 13-15 20t-24 2l-62-17q-13-4-19-15t-3-25l373-1291q4-13 16-19t23-3l62 17q13 4 20 16t2 24zm657 651l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23t-10 23z"/></svg>
<div> <div>
<h3>Bespoke Development</h3> <h3>Bespoke Development</h3>
<p> <p>
For some problems, there may not be a pre-existing free software solution. Let For some problems, there may not be a pre-existing solution. Let us guide you through the full development cycle to deliver your bespoke solution.
us guide you through the full development cycle to deliver your bespoke solution.
</p> </p>
</div> </div>
</li> </li>

View File

@ -6,10 +6,7 @@
{% include banner.html %} {% include banner.html %}
{% include core-values.html %} {% include core-values.html %}
{% include services.html %} {% include services.html %}
{% include contact.html %}
{% include blog.html %}
{% include footer.html %} {% include footer.html %}
{% include membership-footer.html %}
{% include foot-scripts.html %} {% include foot-scripts.html %}
</body> </body>
</html> </html>

View File

@ -0,0 +1,24 @@
---
layout: post
title: Autonomic in times of pandemic
description: Life under lockdown
image: 2020-04-02_autonomic_garden.jpg
category: updates
date: 2020-04-02
---
# Autonomic in times of pandemic
Just though we'd let everyone know that we are all doing ok during these extraordinary times. Autonomic already carries out all our work remotely so we don't have to change the way we work at all. Business as normal for us in the work realm but we know this isn't the case for many.
Most of us are involved in local mutual aid projects and we really recommend for everyone is able to get involved in their area (UK lists [here](https://covidmutualaid.org/local-groups/) and [here](https://freedomnews.org.uk/covid-19-uk-mutual-aid-groups-a-list/)). We need to stick together now more than ever. This is especially important for all those with tech skills. We have to help our communities. Tech help will be so appreciated by your local communities and help others to support those in need.
We are also concerned at the rising use of potentially authoritarian surveillance technologies. It is inevitable that under current conditions we would see these technologies deployed in a civil rather than military context. A moment of crisis is the perfect opportunity for those that seek to erode our civil liberties. As hackers, it is our responsibility to fight against repressive technologies wherever we find them for the sake of those less technical than ourselves.
If you are an organisation or collective that needs help with tech infrastructure, please reach out and we will help to the best of our abilities. This is a time for building cooperation, mutual aid and democratic structures, not only for the duration of the current crisis but also for struggles to come. There is no time to waste.
Love and solidarity
*Autonomic Co-operative*

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -142,12 +142,17 @@ body.is-mobile {
} }
} }
.copyright { .copyright, .cotech-text {
font-size: 0.8em; font-size: 0.8em;
letter-spacing: _size(letter-spacing-alt); letter-spacing: _size(letter-spacing-alt);
list-style: none;
padding: 0;
text-transform: uppercase; text-transform: uppercase;
}
.copyright {
list-style: none;
padding: 0.25em 0;
li { li {
border-left: solid 1px _palette(fg-light); border-left: solid 1px _palette(fg-light);
@ -179,16 +184,42 @@ body.is-mobile {
} }
} }
} }
.row {
display: flex;
margin: 0 10%;
flex-wrap: wrap;
justify-content: space-evenly;
}
.column {
flex: 50%;
}
.cotech-box {
padding-bottom: 1em;
}
.cotech-text {
vertical-align: middle;
}
.cotech-logo {
height: 1em;
vertical-align: text-bottom;
}
@include breakpoint(medium) { @include breakpoint(medium) {
@include padding(4em, 3em); @include padding(4em, 0em);
} }
@include breakpoint(small) { @include breakpoint(small) {
@include padding(3em, 2em); @include padding(3em, 0em);
} }
} }
/* Landing */ /* Landing */
body.landing { body.landing {

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="creative-commons" class="svg-inline--fa fa-creative-commons fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="rgba(255,255,255,0.9)" d="M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="mastodon" class="svg-inline--fa fa-mastodon fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="#fff" d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"></path></svg>

After

Width:  |  Height:  |  Size: 843 B

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter" class="svg-inline--fa fa-twitter fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#fff" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg>

After

Width:  |  Height:  |  Size: 1017 B