Compare commits
256 Commits
2019-endof
...
google-dri
Author | SHA1 | Date | |
---|---|---|---|
daea06eae8 | |||
b1b597d6d6 | |||
38cc2c5ec8 | |||
6f6a3b2e5e | |||
c338187c51 | |||
d27d98d3e9
|
|||
c2a163776c | |||
d41de3cfd9 | |||
bd73042dd4 | |||
1e55036a21 | |||
fc59c56df8
|
|||
332e385657 | |||
991e2bb332 | |||
98dd76b300 | |||
ade028c8cb | |||
e1d76ff40e
|
|||
a78c94250b | |||
6b6853be22 | |||
5891093a60 | |||
897ba19972 | |||
ce6f92aa12 | |||
2db78105f7 | |||
f39ea6d07d | |||
6b5a47d86b | |||
e2a43e9ad1 | |||
ca4d5ddb80 | |||
3da62d7688 | |||
949ea30680 | |||
fe205e1ac1 | |||
d533b5988e | |||
cc2425e1cd | |||
2d86a3ed56 | |||
308213ed9b | |||
e91e38a785 | |||
1cb687fd25 | |||
05cfeaeae3 | |||
ad0f285fb1 | |||
ab8b9c717e | |||
34328a1dea | |||
1060130197
|
|||
6d389047cb
|
|||
266b936312 | |||
2fce0586d8 | |||
b4b5d32780 | |||
f9452dd2c5 | |||
75db99c4e1 | |||
9559396132 | |||
dcbdf635ac | |||
75b63c9771 | |||
27194cbae5 | |||
8d73dd3df5 | |||
a4aa3d669f | |||
9d0e1fee73 | |||
21b671d945 | |||
158fef9027 | |||
838ec1c79c
|
|||
610ef2a861
|
|||
e1a641a7bf
|
|||
c66df7c0fd
|
|||
9846416b36
|
|||
2be7acd2c2
|
|||
d1674c5402
|
|||
3ceb87faca
|
|||
3b25b71b18
|
|||
d5ebafae77
|
|||
84e371154f | |||
2faa90b0fa | |||
792674d6b5 | |||
007646b26e | |||
227e84ff63 | |||
81d8caf946 | |||
d5dc6d540d | |||
acafb427a5 | |||
b3956b91f2 | |||
49350a1cbc | |||
56bafa3e84 | |||
961cf1a54d | |||
a3489c9aa4 | |||
2d24baa5ce | |||
05c26544ff | |||
56eaeadfcb | |||
fd09a12a24 | |||
864cffb9b5 | |||
076234aef4 | |||
0d4ee2b0a1 | |||
c6f5ccf4aa | |||
c1267c5366 | |||
cabc8efdb7 | |||
737b7e1edf | |||
91eca81fc6 | |||
911ac06b14 | |||
420b4da5dd | |||
210afaf16a | |||
c17eda92b5
|
|||
0b5e27e0c1
|
|||
2ae36bade9 | |||
77d85db350
|
|||
43a19d64c8
|
|||
7a53515307
|
|||
c700c414ff
|
|||
b3bed6d48e | |||
3ae5a6e803
|
|||
74949d9595
|
|||
a5fe6f88a5
|
|||
8037032778
|
|||
bc2e8759b2
|
|||
a5f62f6bdc
|
|||
c20ca831c6
|
|||
b1217dcbcd
|
|||
e9d0088195 | |||
6c169e26d0 | |||
b6ad82d86f | |||
f19aa81657 | |||
3fded72105 | |||
a5740aea02 | |||
2a72bac756 | |||
78ea06871a | |||
9f42ecaa77 | |||
9a8bcdc66c | |||
27a36aeaaa | |||
0f2a7a6df1 | |||
558b71934d | |||
15c9d4a153 | |||
fd54672540 | |||
3667ee109c | |||
ff4617f318 | |||
333f000fcf | |||
b529e2f2e8 | |||
e9a1b2e369 | |||
351251f54f | |||
16339ecc2e | |||
d6a8259e08 | |||
803bf41e61 | |||
fa6a2e120e | |||
20ed2d29b1 | |||
188b461c58 | |||
b87d648a7d | |||
b72febc4c8 | |||
076a6954f4 | |||
a85b656af8 | |||
cc3066bb1d | |||
886fb51ed6 | |||
5b7ee79c5d | |||
34aca195ce | |||
87b6978506
|
|||
5a6986db29 | |||
6f9bf2d4db | |||
a303c4eaec | |||
1eb1a0ef8c | |||
68a8df1fb1 | |||
c7579b87b5 | |||
9b7b8e289d | |||
06e53cd9bc | |||
a60aef66b0 | |||
5ff502bc72 | |||
3cbc9adc49 | |||
55c8859f07 | |||
9f1dd6284b | |||
8463aa2342 | |||
6211ec5cb4 | |||
a006517b8e | |||
1c980536a2 | |||
e0007eca54 | |||
27c81db722 | |||
e5faea080e | |||
8094625dbc | |||
8868ae08bf | |||
7e854e1616 | |||
99bf5a891f | |||
7a5c2d613b | |||
3645e21236 | |||
6623973388
|
|||
80af40e8ff | |||
8ec940fac5 | |||
789cc39c10 | |||
2df37af10d | |||
6ebcab155e | |||
9105acf97c | |||
af8ca3ca38 | |||
49f3d4ed71 | |||
850da933e8 | |||
07367a85a9
|
|||
da3a3a989c | |||
dcb3ada610 | |||
489315eb60 | |||
704a678de5
|
|||
5a8abd8d2b | |||
9b906cff1a | |||
0afce645e0 | |||
abe8840d2a
|
|||
1c1e51f5d6
|
|||
7bd00564f4
|
|||
39d17a1e0b
|
|||
deeecb22b9
|
|||
177cc16dde
|
|||
cf2c8639b1
|
|||
e34352df6e
|
|||
e9d996b061
|
|||
1ef6084a27
|
|||
05527f444a
|
|||
4b31a9364d | |||
20c1d5bf0b | |||
9348b5066e | |||
4bef557301 | |||
0dc1ffadb4 | |||
9cfda4aa24 | |||
8776572f3d | |||
a444219ef8 | |||
7eeb732aca | |||
cb9d863f66 | |||
dc531455ee | |||
3aac13abd7 | |||
469906c790 | |||
06b82858f9 | |||
3da45feb42 | |||
6748e69a51 | |||
93b3c55221 | |||
2b489c6025 | |||
6323b4c2c9 | |||
da6b4a1c02 | |||
72b39ad07e | |||
f8e52a7381 | |||
8bdfe16249 | |||
3873d54494 | |||
bcaf9601e9 | |||
b9cdae9857 | |||
caa1e521ad | |||
741df0045b | |||
d00d763645 | |||
46732e1708 | |||
d88ecbcc1a | |||
eb5af2854f | |||
544cd47114 | |||
476df063b4 | |||
0e62b9e045 | |||
9ce17b0026 | |||
ff73beef10 | |||
5924375117 | |||
a3fee0493b | |||
a892ecf5b4 | |||
909554e58d | |||
50959f27ac | |||
fee2ffd1e1 | |||
97857a8c27 | |||
eb38c9514a
|
|||
39eef16f9e | |||
04c7d20a56 | |||
a2f5a6cbac | |||
d3ea095d2b
|
|||
8cdacd0901
|
|||
48e654008e
|
|||
d72cc7389c
|
|||
ef18228bee
|
|||
13622fd105
|
|||
ea3afbb4e1
|
|||
13357d685a
|
39
.drone.yml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
name: deploy to swarm.autonomic.zone
|
||||||
|
steps:
|
||||||
|
- name: bundle static
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
username:
|
||||||
|
from_secret: docker_reg_username
|
||||||
|
password:
|
||||||
|
from_secret: docker_reg_passwd
|
||||||
|
repo: decentral1se/autonomic.zone
|
||||||
|
tags: latest
|
||||||
|
|
||||||
|
- name: deployment
|
||||||
|
image: decentral1se/stack-ssh-deploy:latest
|
||||||
|
settings:
|
||||||
|
stack: jekyll
|
||||||
|
compose: docker-compose.prod.yml
|
||||||
|
deploy_key:
|
||||||
|
from_secret: drone_ssh_swarm.autonomic.zone
|
||||||
|
|
||||||
|
- name: notify rocket chat
|
||||||
|
image: plugins/slack
|
||||||
|
settings:
|
||||||
|
webhook:
|
||||||
|
from_secret: rc_builds_url
|
||||||
|
username: comradebritney
|
||||||
|
channel: "internal.builds"
|
||||||
|
template: "{{repo.owner}}/{{repo.name}} build failed: {{build.link}}"
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- failure
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
event:
|
||||||
|
exclude:
|
||||||
|
- pull_request
|
2
.envrc.sample
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# The path to our pass credentials store
|
||||||
|
export PASSWORD_STORE_DIR=$(pwd)/../infrastructure/credentials/password-store
|
1
.gitignore
vendored
@ -3,5 +3,4 @@ dist/
|
|||||||
.jekyll-metadata
|
.jekyll-metadata
|
||||||
.jekyll-cache
|
.jekyll-cache
|
||||||
.DS_Store
|
.DS_Store
|
||||||
Gemfile.lock
|
|
||||||
*.gem
|
*.gem
|
||||||
|
@ -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
|
|
11
CHANGELOG.md
@ -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
|
||||||
|
@ -1,65 +1,53 @@
|
|||||||
# 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
|
||||||
[creating pages].
|
[creating pages]. Alternatively, just dive in and start editing! After all, the
|
||||||
|
majority of this site is configuration is just flat text, so it's easy to work
|
||||||
|
with.
|
||||||
|
|
||||||
[jekyll.rb]: https://jekyllrb.com/
|
[jekyll.rb]: https://jekyllrb.com/
|
||||||
[front matter]: https://jekyllrb.com/docs/frontmatter/
|
[front matter]: https://jekyllrb.com/docs/frontmatter/
|
||||||
[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
|
## Development
|
||||||
|
|
||||||
In order to not blow up your computer handling a system wide Ruby installation, it is
|
The prerequisites are [Docker](https://www.docker.com/) and [Docker-compose](https://docs.docker.com/compose/).
|
||||||
advised that you use [RVM](https://rvm.io/rvm/install).
|
|
||||||
|
|
||||||
Once you've got that installed and configured, get the latest version of Ruby with:
|
If you're on Debian, installing is easy.
|
||||||
|
|
||||||
|
Install Docker.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ rvm install 2.6.5
|
$ curl -fsSL https://get.docker.com -o get-docker.sh # have a look if you want
|
||||||
|
$ CHANNEL=stable sh get-docker.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Select that version and then create an isolated [gemset](https://rvm.io/gemsets/basics) with:
|
Install Docker-compose.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ rvm use 2.6.5
|
$ cd autonomic.zone
|
||||||
$ rvm gemset create autonomic
|
$ python3 -m venv .venv
|
||||||
$ rvm gemset use autonomic
|
$ pip3 install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
# Install Dependencies
|
Then fire up the container with the following.
|
||||||
|
|
||||||
Then you can install your Ruby dependencies with:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ gem install jekyll bundler
|
$ docker-compose up
|
||||||
$ bundle install
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# Serve Website
|
Then visit the locally running website.
|
||||||
|
|
||||||
And serve the website locally with:
|
> http://localhost:4000
|
||||||
|
|
||||||
|
Then you can edit the files as normal and reload the page.
|
||||||
|
|
||||||
|
To stop the container when you're done, you can run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make devserver
|
$ docker-compose stop
|
||||||
```
|
```
|
||||||
|
|
||||||
# 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.
|
|
||||||
|
17
Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
FROM ruby:2.7.3-alpine
|
||||||
|
|
||||||
|
EXPOSE 4000
|
||||||
|
|
||||||
|
RUN apk --no-cache add \
|
||||||
|
bash \
|
||||||
|
curl \
|
||||||
|
g++ \
|
||||||
|
git \
|
||||||
|
make
|
||||||
|
|
||||||
|
RUN gem install bundler -v 2.1.4
|
||||||
|
RUN gem install jekyll -v 4.0.0
|
||||||
|
|
||||||
|
COPY . ${WORKDIR}
|
||||||
|
|
||||||
|
RUN bundle install
|
6
Gemfile
@ -1,3 +1,7 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
ruby '2.6.5'
|
|
||||||
|
ruby "2.7.3"
|
||||||
|
|
||||||
gemspec
|
gemspec
|
||||||
|
|
||||||
|
gem "jekyll-feed"
|
||||||
|
80
Gemfile.lock
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
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-feed (0.13.0)
|
||||||
|
jekyll (>= 3.7, < 5.0)
|
||||||
|
jekyll-sass-converter (2.1.0)
|
||||||
|
sassc (> 2.0.1, < 3.0)
|
||||||
|
jekyll-watch (2.2.1)
|
||||||
|
listen (~> 3.0)
|
||||||
|
kramdown (2.2.1)
|
||||||
|
rexml
|
||||||
|
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.4)
|
||||||
|
rb-fsevent (0.10.4)
|
||||||
|
rb-inotify (0.10.1)
|
||||||
|
ffi (~> 1.0)
|
||||||
|
rexml (3.2.3)
|
||||||
|
rouge (3.18.0)
|
||||||
|
safe_yaml (1.0.5)
|
||||||
|
sassc (2.3.0)
|
||||||
|
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)
|
||||||
|
jekyll-feed
|
||||||
|
|
||||||
|
RUBY VERSION
|
||||||
|
ruby 2.7.3p183
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
2.1.4
|
6
Makefile
@ -1,6 +0,0 @@
|
|||||||
DEV_DIST_DIR:=dist
|
|
||||||
|
|
||||||
devserver:
|
|
||||||
@echo "Serving development site from $(DEV_DIST_DIR)"
|
|
||||||
@jekyll serve --watch --incremental --destination $(DEV_DIST_DIR)
|
|
||||||
.PHONY: devserver
|
|
27
README.md
@ -1,29 +1,14 @@
|
|||||||
[](https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/commits/master)
|
|
||||||
|
|
||||||
# autonomic.zone
|
# autonomic.zone
|
||||||
|
|
||||||
|
[](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone)
|
||||||
|
|
||||||
|
> https://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
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
# 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](./CONTRIBUTING.md) for the juicy details.
|
||||||
|
|
||||||
[CONTRIBUTING.md]: https://gitlab.com/autonomic-cooperative/autonomic-cooperative.gitlab.io/blob/master/CONTRIBUTING.md
|
|
||||||
|
10
_config.yml
@ -1,16 +1,18 @@
|
|||||||
|
---
|
||||||
title: Autonomic Co-operative
|
title: Autonomic Co-operative
|
||||||
email: helo@autonomic.zone
|
email: helo@autonomic.zone
|
||||||
description: Sustainability, Transparency, Privacy
|
description: Sustainability, Transparency, Privacy
|
||||||
baseurl: ""
|
baseurl: ""
|
||||||
url: ""
|
url: "https://autonomic.zone"
|
||||||
source: src
|
source: src
|
||||||
destination: dist
|
destination: dist
|
||||||
sass:
|
sass:
|
||||||
sass_dir: ./assets/styles
|
sass_dir: ./assets/styles
|
||||||
featured-image-source:
|
featured-image-source:
|
||||||
500px_url:
|
include: ["src/.well-known", "src/.nojekyll"]
|
||||||
github_url:
|
mastodon_url: https://sunbeam.city/@autonomic
|
||||||
twitter_url: https://twitter.com/autonomiccoop
|
twitter_url: https://twitter.com/autonomiccoop
|
||||||
|
gitea_url: https://git.autonomic.zone/autonomic-cooperative/
|
||||||
markdown: kramdown
|
markdown: kramdown
|
||||||
permalink: pretty
|
permalink: pretty
|
||||||
collections:
|
collections:
|
||||||
@ -23,3 +25,5 @@ exclude:
|
|||||||
- vendor
|
- vendor
|
||||||
- Gemfile
|
- Gemfile
|
||||||
- Gemfile.lock
|
- Gemfile.lock
|
||||||
|
plugins:
|
||||||
|
- jekyll-feed
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
Gem::Specification.new do |spec|
|
Gem::Specification.new do |spec|
|
||||||
spec.name = "autonomic"
|
spec.name = "autonomic"
|
||||||
spec.version = '0.0.0'
|
spec.version = "0.0.0"
|
||||||
spec.date = '2017-09-24'
|
spec.date = "2017-09-24"
|
||||||
spec.summary = ""
|
spec.summary = ""
|
||||||
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
|
||||||
|
35
docker-compose.prod.yml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
jekyll:
|
||||||
|
image: decentral1se/autonomic.zone:latest
|
||||||
|
command: |
|
||||||
|
bundle exec
|
||||||
|
jekyll serve --host 0.0.0.0 --trace
|
||||||
|
environment:
|
||||||
|
JEKYLL_ENV: production
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:4000"]
|
||||||
|
interval: 15s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 10
|
||||||
|
start_period: 20s
|
||||||
|
deploy:
|
||||||
|
update_config:
|
||||||
|
failure_action: rollback
|
||||||
|
order: start-first
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.services.jekyll.loadbalancer.server.port=4000"
|
||||||
|
- "traefik.http.routers.jekyll.rule=Host(`autonomic.zone`)"
|
||||||
|
- "traefik.http.routers.jekyll.entrypoints=web-secure"
|
||||||
|
- "traefik.http.routers.jekyll.tls.certresolver=production"
|
||||||
|
- "traefik.http.routers.jekyll.tls.options=default@file"
|
||||||
|
- "traefik.http.routers.jekyll.middlewares=security@file"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
13
docker-compose.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
jekyll:
|
||||||
|
image: decentral1se/autonomic.zone:latest
|
||||||
|
command: |
|
||||||
|
bundle exec
|
||||||
|
jekyll serve --watch --host 0.0.0.0 --force_polling --trace
|
||||||
|
volumes:
|
||||||
|
- ".:/srv/jekyll"
|
||||||
|
ports:
|
||||||
|
- "4000:4000"
|
6
renovate.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": [
|
||||||
|
"config:base"
|
||||||
|
]
|
||||||
|
}
|
1
requirements.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
docker-compose==1.29.1
|
0
src/.nojekyll
Normal file
3
src/.well-known/autonomic.zone/matrix/server
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"m.server": "matrix.autonomic.zone:443"
|
||||||
|
}
|
@ -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>
|
|
@ -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>
|
||||||
|
@ -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>
|
@ -1,37 +1,64 @@
|
|||||||
<!-- 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/main/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 title="RSS Feed" rel="me" href="{{ '/feed.xml' | absolute_url }}" style="border-bottom: none">
|
||||||
<svg style="height: 2rem;" viewBox="0 0 1792 1792">
|
<!-- This SVG needs to be changed if you change the colour scheme as it is a massive hack. -->
|
||||||
<title>Twitter</title>
|
<img alt="rss" style="height: 2rem;color: #fff" src="{{ '/assets/svg/rss-square-solid.svg' | absolute_url }}">
|
||||||
<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"/>
|
</a>
|
||||||
</svg>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a title="Twitter" rel="noopener" href="{{ site.twitter_url }}" style="border-bottom: none">
|
||||||
|
<img alt="twitter" style="height: 2rem;" src="{{ '/assets/svg/twitter-brands.svg' | absolute_url }}">
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a title="Mastodon" 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>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a title="Gitea" rel="me" href="{{ site.gitea_url }}" style="border-bottom: none">
|
||||||
|
<!-- This SVG needs to be changed if you change the colour scheme as it is a massive hack. -->
|
||||||
|
<img alt="gitea" style="height: 2.3rem;" src="{{ '/assets/svg/Gitea_Logo.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>
|
|
||||||
{{ site.title }}</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<address>
|
|
||||||
Autonomic Co-operative</br>
|
|
||||||
1539 Pershore Road </br>
|
|
||||||
Stirchley</br>
|
|
||||||
B30 2JH
|
|
||||||
</address>
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="column">
|
||||||
<!-- Scripts -->
|
<div class="copyright">
|
||||||
<script src="{{ "/assets/js/jquery-3.4.1.min.js" | absolute_url }}"></script>
|
</div>
|
||||||
<script src="{{ "/assets/js/jquery.scrollex.min.js" | absolute_url }}"></script>
|
<div class="cotech-box">
|
||||||
<script src="{{ "/assets/js/skel.min.js" | absolute_url }}"></script>
|
<a href="https://www.coops.tech/">
|
||||||
<script src="{{ "/assets/js/util.js" | absolute_url }}"></script>
|
<img class="cotech-logo" src="{{ '/assets/images/CoTech-white-logo.png' | relative_url }}" alt="CoTech"/>
|
||||||
<script src="{{ "/assets/js/particles.min.js" | absolute_url }}""></script>
|
<b><span class="cotech-text">Member of the Cotech Network</span></b>
|
||||||
<script src="{{ "/assets/js/main.js" | absolute_url }}"></script>
|
</a>
|
||||||
|
</div>
|
||||||
</body>
|
<div style="vertical-align: bottom;">
|
||||||
</html>
|
<address>
|
||||||
|
Autonomic Co-operative Limited</br>
|
||||||
|
1539 Pershore Road</br>
|
||||||
|
Birmingham</br>
|
||||||
|
B30 2JH</br>
|
||||||
|
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>
|
||||||
|
</br></br>
|
||||||
|
</div>
|
||||||
|
<div style="vertical-align: bottom;">
|
||||||
|
<a href="{{ '/privacy' | relative_url }}">Privacy Policy</a> - <a href="{{ '/terms' | relative_url }}">Terms of Service</a> - <a href="{{ '/gdpr' | relative_url }}">GDPR</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
@ -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/">Matomo</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>
|
||||||
|
@ -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>
|
||||||
|
24
src/_posts/2020-04-02-autonomic-pandemic.md
Normal 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*
|
||||||
|
|
52
src/_posts/2020-04-23-dat-py.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: Hyperpy, the punk-to-punk protocol in Python
|
||||||
|
description: A new Python implementation of the Hypercore protocol is cooking at Autonomic
|
||||||
|
image: 2020-04-23-dat-protocol.png
|
||||||
|
category: technology, peer-to-peer, hypercore-protocol
|
||||||
|
date: 2020-04-23
|
||||||
|
---
|
||||||
|
|
||||||
|
# Hyperpy, the punk-to-punk protocol in Python
|
||||||
|
|
||||||
|
We're quite excited by the new wave of community-developed peer-to-peer
|
||||||
|
technology. [Scuttlebutt], [Cabal], [Mapeo] and [Beaker browser] are inspiring
|
||||||
|
examples of software which show that technology can be built to operate without
|
||||||
|
running on centralised commercially-owned infrastructure (e.g. WhatsApp).
|
||||||
|
|
||||||
|
One of the underlying innovations for these technologies is the [Hypercore
|
||||||
|
protocol], which is a way of describing how two computers can send information
|
||||||
|
to each other directly.
|
||||||
|
|
||||||
|
Today, the reference implementation of the Hypercore protocol is written in
|
||||||
|
Javascript. The Javascript ecosystem has proved to be remarkably flexible for
|
||||||
|
advancing this next generation of tools. Simple methods of publishing (npm
|
||||||
|
publish), well-established distribution channels (the browser) and a
|
||||||
|
[philosophy of modularity] have enabled so many to get started with building
|
||||||
|
peer-to-peer technology.
|
||||||
|
|
||||||
|
However, there is a great need for other languages and ecosystems to benefit
|
||||||
|
from the tools and concepts that are being developed based on the reference
|
||||||
|
implementation. People from all walks of life need a working implementation in
|
||||||
|
their preferred language of choice. In response to this, we are seeing projects
|
||||||
|
like [Datrs] and [Datcxx] emerge (please note, the Hypercore protocol was once
|
||||||
|
called the Dat protocol, see [this blog post] for more information).
|
||||||
|
|
||||||
|
Alongside these efforts, a member of Autonomic has begun to work on Hyperpy, a
|
||||||
|
Python-based implementation of the Hypercore protocol. The project proposes a
|
||||||
|
roadmap but offers no deadlines and receives no funding at current status.
|
||||||
|
|
||||||
|
However slowly, things are moving along. Further progress updates will be
|
||||||
|
posted on this blog as they come in. All development is taking place on
|
||||||
|
[git.autonomic.zone/hyperpy].
|
||||||
|
|
||||||
|
[scuttlebutt]: https://scuttlebutt.nz/
|
||||||
|
[cabal]: https://cabal.chat/
|
||||||
|
[mapeo]: https://www.digital-democracy.org/mapeo/
|
||||||
|
[beaker browser]: https://beakerbrowser.com/
|
||||||
|
[hypercore protocol]: https://hypercore-protocol.org/
|
||||||
|
[philosophy of modularity]: https://mafinto.sh/blog/pragmatic-modularity.html
|
||||||
|
[datrs]: https://github.com/datrs/
|
||||||
|
[datcxx]: https://datcxx.github.io/
|
||||||
|
[git.autonomic.zone/hyperpy]: https://git.autonomic.zone/hyperpy/
|
||||||
|
[this blog post]: https://blog.datproject.org/2020/05/15/dat-protocol-renamed-hypercore-protocol/
|
72
src/_posts/2021-01-25-how-we-make-decisions.md
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: How we make decisions
|
||||||
|
description: Our collective's horizontal decision making process
|
||||||
|
image: trees.jpg
|
||||||
|
category: decision making, democracy
|
||||||
|
date: 2021-01-21
|
||||||
|
---
|
||||||
|
|
||||||
|
# How we make decisions
|
||||||
|
In Autonomic, we make decisions collectively, while also attempting to empower autonomous action by individual workers.
|
||||||
|
|
||||||
|
We designed our decision making process using decision making tools we had experienced through participation in various horizontal organisations. We hope this tool is useful to others in the struggle for a better world.
|
||||||
|
|
||||||
|
Our decisions can be split intro three categories: **Small, Medium and Large**.
|
||||||
|
|
||||||
|
## 1) Small - Get on and do the thing
|
||||||
|
- No one cares.
|
||||||
|
- Made by an individual within the co-op.
|
||||||
|
- Could be in any area.
|
||||||
|
- Up to individual co-op members to decide if they should just make the decision, or share it with the rest of the co-op to seek consensus.
|
||||||
|
|
||||||
|
## 2) Medium - Consensus pending objections
|
||||||
|
- About admin and infrastructure.
|
||||||
|
- Doesn't have an effect on the direction or operation of the co-op.
|
||||||
|
- Give a deadline: unless anyone objects or asks for more time by then, it goes ahead.
|
||||||
|
- The deadline must reasonable (a week by default).
|
||||||
|
- If any member of the co-op thinks it's a Large decision, achieve Maximum Consensus™ (see below).
|
||||||
|
|
||||||
|
## 3) Large - Maximum Consensus™
|
||||||
|
- Important decisions affecting the operation, direction, working conditions and finances of the co-op.
|
||||||
|
- Consensus voting: addressing any concerns.
|
||||||
|
- Can be requested by any member of the co-op for any decision.
|
||||||
|
- Input from every co-op member.
|
||||||
|
- Whoever proposes Large decisions is responsible for chasing up members for votes.
|
||||||
|
- Votes can be in favour, against, abstain (stand aside) or block.
|
||||||
|
- One member, one vote.
|
||||||
|
|
||||||
|
## Process
|
||||||
|
For Medium and Large decisions:
|
||||||
|
|
||||||
|
1. Write up a proposal in a [HedgeDoc pad](https://hedgedoc.org/).
|
||||||
|
2. Link to the proposal on the proposals page on our wiki.
|
||||||
|
3. Announce the decision in the #announcements channel of our internal chat.
|
||||||
|
4. List the decision on the Decisions page on our wiki.
|
||||||
|
4. Announce the result in #announcements and record it on the Decisions
|
||||||
|
page of our wiki.
|
||||||
|
|
||||||
|
## Proposal format
|
||||||
|
(For Medium and Large decisions).
|
||||||
|
|
||||||
|
- What you want to change.
|
||||||
|
- Who it affects.
|
||||||
|
- Size (Medium / Large).
|
||||||
|
- Deadline.
|
||||||
|
- What chat channel you want discussion to happen in.
|
||||||
|
|
||||||
|
## Example proposal
|
||||||
|
> @all I'd like to propose (Medium|Large) decision XXX, to write our name as
|
||||||
|
"aUtOnOmIc cöööpERATIVE" in all our public communications.
|
||||||
|
>
|
||||||
|
> Deadline for votes is DEADLINE – let me know if you need more time to vote than that.
|
||||||
|
>
|
||||||
|
> Please send absolutely any and all replies in #CHANNEL, not here 🙏
|
||||||
|
>
|
||||||
|
> 👍 this message for "enthusiastic consent", 🤷 for "stand aside" or 👎 if you need to indicate your extreme disagreement with this idea.
|
||||||
|
>
|
||||||
|
> 👇 VOTES HERE
|
||||||
|
|
||||||
|
## Further resources
|
||||||
|
Extra information about decision making processes in co-operatives can be found on the [Seeds for Change website](https://seedsforchange.org.uk/resources).
|
||||||
|
|
25
src/_posts/2021-02-11-google-drive.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: Escaping the Google silo
|
||||||
|
description: Opening up your Google Drive and Docs files using open source software
|
||||||
|
image:
|
||||||
|
category: technology
|
||||||
|
date: 2021-02-11
|
||||||
|
---
|
||||||
|
|
||||||
|
At Autonomic we always promote using [libre software](https://en.wikipedia.org/wiki/Free_software) whereever possible but we understand that many clients have committed to using [propietary software](https://en.wikipedia.org/wiki/Proprietary_software) either due to legacy decision or because the non-libre solutions are simply more effective and mature.
|
||||||
|
|
||||||
|
The Google Workspace set of tools including Google Drive and Google Docs is one such solution. Once your organisation has deployed and is using these Google services, it's extremly difficult to migrate away. Google Docs files are not easy to extract from their propietary format and users are strongly encouragaged to only interact with the documents via the Google Workspace web apps.
|
||||||
|
|
||||||
|
This is problematic for organisations that want to approach their data storage with a stratergy that suits them, rather than the Google™️ mandated workflow.
|
||||||
|
There are also [so many criticims](https://en.wikipedia.org/wiki/Criticism_of_Google) that could be made of Google in so many areas (as a [worker's co-operative of privacy advocates](/our-founding-principles), we're of course very biased).
|
||||||
|
|
||||||
|
There is also the question of [Google outages](https://en.wikipedia.org/wiki/2020_Google_services_outages) which happened multiple times in 2020. Of course, service outages can and do happen at any scale but it is interesting to note that they are even fairly regular occurance at many of the largest technology companies. When it comes to critical services, offering reduncancy and decentralisation is very difficult to do at the monolithic scale of the tech ginats.
|
||||||
|
|
||||||
|
We have been working on a solution for a client to try and make it easier for organisatons to in the short term keep non-Google hosted copies of their data and in the long term, be in a better position to migrate away from Google Workspace all together. Luckily, there is an extensive [Drive](https://developers.google.com/drive/) and [Docs API](https://developers.google.com/docs/api/) which is well documentated and relativley stable.
|
||||||
|
|
||||||
|
Our system is designed to pull all of your data out of the Google [walled garden](https://en.wikipedia.org/wiki/Closed_platform) and directly into your control. We host a server for you which runs our code to extract all of your files from Google Drive and covert all of your Google Docs into open document formats (.odt .docx etc.). The files are then made available to your organisation as standard filesystem on your own [Nextcloud](https://nextcloud.com/) instance and then you can do what you want with them. You'll also be able to draw up a support contract with us that suits your needs for both maintaining the server and supporting your users.
|
||||||
|
|
||||||
|
We intend to release the source code for our system under a libre license as soon whens we feel it's ready but it still needs some cleaning up and documentation which takes time. When it's released, you'll be able to find on our [Gitea instance](https://git.autonomic.zone/autonomic-cooperative).
|
||||||
|
|
||||||
|
If you're interested in hosting this solution for your organsation, feel free to [get in touch](mailto:helo@autonomic.zone).
|
99
src/_posts/2021-02-16-co-op-cloud.md
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: The Co-operative Cloud
|
||||||
|
description: Libre software infrastructure without re-inventing the wheel
|
||||||
|
image: coop-cloud.png
|
||||||
|
category: coop, co-op, cloud, docker, swarm, libre-software, hosting,
|
||||||
|
date: 2021-03-01
|
||||||
|
---
|
||||||
|
|
||||||
|
Running [libre software] apps and infrastructure for ourselves and our clients is central to what we do at Autonomic. Now, after a year of work, we're stoked to share our "Co-op Cloud" project with the world. We want to make it easier for others to join the party, ditch corporate spyware, and make their tools [sustainable, transparent and private].
|
||||||
|
|
||||||
|
## Why a new tool?
|
||||||
|
|
||||||
|
We started out using [Cloudron], which provides a very simple-to-use web interface for deploying libre software apps like Nextcloud, Mediawiki, and Rocket.chat with only a few clicks.
|
||||||
|
|
||||||
|
Cloudron allowed us to radically reduce our initial and ongoing server costs. We didn't need to maintain a separate server for each service and clients apps could share computing resources whilst containerisation was still allowing us meeting their data privacy needs. Consequently, we've been able to take on many more "solidarity clients", people doing important work, but on a shoestring budget.
|
||||||
|
|
||||||
|
As time has gone on, though, we've had a few moments when we questioned our reliance on Cloudron, and whether it was a sustainable choice for us and for our clients. We came to realise:
|
||||||
|
|
||||||
|
- Core parts of the system officially [became proprietary] software. This rang alarm bells for us about its long-term future.
|
||||||
|
|
||||||
|
- The work to package the available apps is done [entirely by the Cloudron team itself] and doesn't re-use the existing rich ecosystem of libre software packaging work that's already being done. This seems like a big risk. If Cloudron UG, the company behind Cloudron, goes under, someone or some entity would need to take on that laborious, technically specific and non-transferable packaging work or we'd quickly be leaving ourselves and our clients running outdated and unmaintained software.
|
||||||
|
|
||||||
|
- Some aspects of Cloudron's architecture were causing problems. Requiring each app to be a single Docker image makes common application deployment configurations impossible (as far as we know, nobody has yet managed to get Mediawiki's visual editor working in Cloudron, for example).
|
||||||
|
|
||||||
|
- Not being able to delegate user management to specific groups has made it hard for us to use Cloudron's Single Sign On system with groups who manage their own users.
|
||||||
|
|
||||||
|
- Cloudron's central paradigm is focussed on "non-technical" users with the nice web front end for managing apps. However, we found our clients don't actually need to know what "domain name" or "storage volumes" are. That's why they pay us for support. They want it to "just work". Using an interface designed for non-technical users is not suitable for technical users and adds a lot of bloat.
|
||||||
|
|
||||||
|
- Cloudron is a bit of a [black box](https://en.wikipedia.org/wiki/Black_box). When something breaks, it breaks hard and requires technical users to respond and investigate and then fix the issues.
|
||||||
|
|
||||||
|
- Cloudron doesn't encourage collective and public collaboration on configuration files.
|
||||||
|
|
||||||
|
- We have a general fear of centralising so much of our core business on a commercial entity, which could change its prices at any time and have a massive effect on our ability to operate.
|
||||||
|
|
||||||
|
## A New Hope
|
||||||
|
|
||||||
|
So, around the end of 2019, we tried to map out a few core principles of a system which might work a lot like Cloudron, but give us more guarantees that we can depend on. We started calling the new project Co-op Cloud. Here are some of the principles we identified:
|
||||||
|
|
||||||
|
- Always be available under [copyleft licenses] to retain the shared work as part of the [commons](https://en.wikipedia.org/wiki/Commons). We shouldn't rely on creating [artificial scarcity](https://en.wikipedia.org/wiki/Artificial_scarcity) as a business model.
|
||||||
|
|
||||||
|
- Work with existing libre software communities who are already packaging and publishing their software (Nextcloud, Gitea, Mediawiki, Rocket.chat, the list goes on and on...). We want to be involved in their community spaces and build bridges between infrastructure, software development and end-users.
|
||||||
|
|
||||||
|
- Based on standardised technologies. Any new tools we write should only add a thin layer of usability on top of existing solutions.
|
||||||
|
|
||||||
|
- Place democratic governance at the core of the project. We want to collaborate as much as possible with other co-operatives to build up effective decision-making structures so we can all rely on this project far into the future.
|
||||||
|
|
||||||
|
- Focus on meeting the needs of small hosting providers with technical workers in order to provide a solid service for their clients.
|
||||||
|
|
||||||
|
- Encourage the creation of a configuration commons. Innovations based on Co-op Cloud can easily be shared and worked on collectively.
|
||||||
|
|
||||||
|
In our spare time (partly funded by income from working for our wonderful clients 😀) we've been putting the pieces together; and after a year of work (including two "back to the drawing board" moments), we're ready to launch an [alpha version](https://en.wikipedia.org/wiki/Software_release_life_cycle) of Co-op Cloud to the public.
|
||||||
|
|
||||||
|
## Co-op Cloud public alpha
|
||||||
|
|
||||||
|
Co-op Cloud is a simple packaging format using existing [open standards] to build a catalogue of apps, and a command-line client to read the catalogue and deploy those apps.
|
||||||
|
|
||||||
|
If you'd like to learn more about Co-op Cloud, please read [our documentation], where we explain the decisions we've made so far in more depth. What technologies we're using, how we fit into the existing ecosystem, ways to contribute, what apps are available and so on.
|
||||||
|
|
||||||
|
We've already been deploying Co-op Cloud as part of "dual power" strategy. We use Co-op Cloud to run some of our own and our clients' infrastructure while continuing with Cloudron and other strategies for the time being. We're seeing promising stability and it's been a joy to work with.
|
||||||
|
|
||||||
|
## Enter the configuration commons
|
||||||
|
|
||||||
|
You can also dive straight in by installing [`abra`, Co-op Cloud's command-line tool].
|
||||||
|
|
||||||
|
You can use Co-op Cloud right now to deploy any of our [30+ apps] to your own physical server or virtual server. These include [Nextcloud](https://nextcloud.com/) (for file, calendar, contacts etc) [Rocket.chat](https://rocket.chat/) for instant messaging, [Keycloak](https://www.keycloak.org/) for Single Sign-On, [Statping](https://statping.com/) for service monitoring, and websites using [Wordpress](https://wordpress.org/), [Pelican](https://blog.getpelican.com/), [Jekyll](https://jekyllrb.com/), or static HTML. See the [app catalogue](https://docs.cloud.autonomic.zone/apps/) for more.
|
||||||
|
|
||||||
|
Apps deployed via Co-op Cloud have automatic SSL certificates, and many come with pre-configured e-mail, backups, or Single Sign-On options.
|
||||||
|
|
||||||
|
See the [getting started guide](https://docs.cloud.autonomic.zone/overview/) to get moving fast.
|
||||||
|
|
||||||
|
## Packaging for Co-op Cloud
|
||||||
|
|
||||||
|
Packaging new apps for Co-op Cloud is straightforward in most cases: you can re-use an application's own Docker image (or even `docker-compose.yml` file) with minimal changes. We managed to [make a Co-op Cloud version of the Matomo web analytics platform in about 20 minutes]. This standardised architecture also means that nobody using Co-op Cloud is dependent on Autonomic for updates. When a new Wordpress update comes out, you can easily install it yourself or automatically without waiting for us to update some arcane custom Docker image.
|
||||||
|
|
||||||
|
## Next steps
|
||||||
|
|
||||||
|
At this point, we'd like to invite other worker co-operatives or democratic collectives to take a look at what we're working on and have a chat with us. We have a public matrix room at `#coopcloud:autonomic.zone`. We think a common platform for hosting libre software infrastructure could make a big difference in terms of what we're able to offer as a movement.
|
||||||
|
|
||||||
|
If you're interested in getting involved with Co-op Cloud development, or if you'd like help trying out Co-op Cloud hosted services for yourself or your organisation, please [get in touch].
|
||||||
|
|
||||||
|
## Links
|
||||||
|
|
||||||
|
- [Documentation](https://cloud.autonomic.zone/)
|
||||||
|
- [Source code](https://git.autonomic.zone/coop-cloud)
|
||||||
|
- [Public Matrix chat](https://matrix.to/#/#coopcloud:autonomic.zone?via=autonomic.zone)
|
||||||
|
|
||||||
|
[libre software]: http://wikieducator.org/Libre
|
||||||
|
[sustainable, transparent and private]: /#core-values
|
||||||
|
[cloudron]: https://cloudron.io/
|
||||||
|
[became proprietary]: https://forum.cloudron.io/topic/2862/why-not-make-cloudron-fully-open-source-again
|
||||||
|
[entirely by the cloudron team itself]: https://git.cloudron.io/cloudron
|
||||||
|
[our documentation]: https://docs.cloud.autonomic.zone
|
||||||
|
[`abra`, co-op cloud's command-line tool]: https://git.autonomic.zone/coop-cloud/abra/
|
||||||
|
[30+ apps]: https://git.autonomic.zone/coop-cloud/
|
||||||
|
[get in touch]: mailto:helo@autonomic.zone
|
||||||
|
[copyleft licenses]: https://www.gnu.org/licenses/copyleft.en.html
|
||||||
|
[open standards]: https://compose-spec.io/
|
||||||
|
[make a co-op cloud version of the matomo web analytics platform in about 20 minutes]: https://docs.cloud.autonomic.zone/package/
|
BIN
src/assets/images/2020-04-02_autonomic_garden.jpg
Normal file
After Width: | Height: | Size: 917 KiB |
BIN
src/assets/images/2020-04-23-dat-protocol.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
src/assets/images/CoTech-white-logo.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
src/assets/images/coop-cloud.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
src/assets/images/trees.jpg
Normal file
After Width: | Height: | Size: 668 KiB |
@ -12,19 +12,19 @@ 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
|
||||||
@ -37,157 +37,158 @@ IO+EGhTtR0EooVY63Y59KZVr9jwEikKMpGbfvSCHiXysKAzkV+PGQ5Z178y7U8dK
|
|||||||
6Q3MWczmlrnyQVQ6xXlNxLfvcn3IUj+ADaW8LkQyVrJM0EcbBk4cw0Ri4tOyHYl1
|
6Q3MWczmlrnyQVQ6xXlNxLfvcn3IUj+ADaW8LkQyVrJM0EcbBk4cw0Ri4tOyHYl1
|
||||||
f5Bx/zCbpCkTf4uDfTE+cdt41FYiyvx0Amu7plZ3ibGUlhbswk8MdzofBK2DixTS
|
f5Bx/zCbpCkTf4uDfTE+cdt41FYiyvx0Amu7plZ3ibGUlhbswk8MdzofBK2DixTS
|
||||||
4voMlbDE4zeSBNHU5wPW1HeIRgQTEQIABgUCWoxPHAAKCRC1UnX7y+g4PH8dAJwJ
|
4voMlbDE4zeSBNHU5wPW1HeIRgQTEQIABgUCWoxPHAAKCRC1UnX7y+g4PH8dAJwJ
|
||||||
e2Gas1fDwoYesuHCNOP33mj5WwCeNBat5nVVRbP9rTbSjcP+gnWQXA2JAlcEEwEI
|
e2Gas1fDwoYesuHCNOP33mj5WwCeNBat5nVVRbP9rTbSjcP+gnWQXA2JAlQEEwEI
|
||||||
AEECGyMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AFCQtW2zUWIQSC/IfFGnGQL9wQ
|
AD4WIQSC/IfFGnGQL9wQLPVPkNVbsksRRwUCWf3BugIbIwUJAi0RlAULCQgHAgYV
|
||||||
LPVPkNVbsksRRwUCW+DdWAIZAQAKCRBPkNVbsksRR2SJEACJA9GtC67i+tP7cWTY
|
CAkKCwIEFgIDAQIeAQIXgAAKCRBPkNVbsksRR/11D/9PjT5I4kLqb7aqeb2CVtla
|
||||||
La9iRUI14fLZrAnry+bN+B/f2IDpvv2eZXlkdTdUo7PF5/+1ug8oTV3NkkfhQ59v
|
hX/UJ3xFEduFCOtJ2yn/9qESsP07PksZ0OEeIreMBDf2SW9OeqoNl8MwMDF28Mxa
|
||||||
rNp3XEhqkG3fIwSVYXyAj3flxS7Oa5PHUKfEIzR/hGX6k8YGxb/ILHr4vqEcLnrf
|
/8rmO/wtVE1RYOWaPxQve9V+1ok5pOFJgHntSBZyHxu5Kygn4CqPazQBqzV/nfP4
|
||||||
Nz0F6p6wD+XoNUqJv/xogwWj8McnNg5594ksIfFfkJixoAOQTEzN722+90nVguN6
|
7lJ5/hUAB430nWkMs5Z8EbyVwJW/f7ATbomxGwaSevD4N/FuuipkPcywrTxsU8t5
|
||||||
/h2EG2iMKhDwxgS54MDLN0MySOSiKmAqD1oPzH9mLUXI1Wl4SI9GPiaiKR8ATgGw
|
SwHymaBAVT963kCqDR2/qj7POHdQzl0xVOSyO1Z5rp0P4vrh6llJTrk243RWB45Z
|
||||||
w/+apBi5G38LQo7wZatCXiiht1tOE5Daxrs7Y6dKk8tbFzANxztIyXJl8Vcavk2s
|
CYLoLQpSyJcBeScPgSMU0ACQrt0hX3ADsqZv0PNdKiWaFoTpKOW3cPqCH7rYQRqq
|
||||||
9mMnTxlYu+6qu1tuhuo5MLMyQ5AVb+cfa3C83djMT8q5EOHSCBZ/eRKrd52XxQMM
|
7WDlRh+MEBeycJ8WNdNZIlMpEjsuCXJqksAg4aLC/hSTyPYmWxKMMOCBc90ibafb
|
||||||
gHD7mrM4LwXk6YdpJsthg/XkrpbbRhhV8yiLgjL7c75gmdzY9rWOxnVH7xHM/p9G
|
rwivTQk2VNnDdhI8N6c6vLF5ptayMK6tF0W80PloqSUUncVLCvqhbLUZ9mR8dBoV
|
||||||
PsTFPmuvgsz2Hq6tSzqOdr166kKb957FExC/Z7U9ExtToPOVDW5wLFC81VHg8F6I
|
ihRObIEGbGOMb8GV2ZgxFE6w84Tq8TT1cOFTa9unpkupd1shhP1tJvCw/xfYKf/b
|
||||||
bAdy7JUDdGm7Gcw+RZfSS248fsmPtCK8AY6SFgYKQjviscRSprzis7fwOzE+pLgw
|
FPgmLXOG4m2i5IDuh8N2SvJvjRHfxL07V94ExxfMgHBg0POKUE7BJH21lZ1oTtyq
|
||||||
mBqYC7QVqhEvnykeXkQkRzzl9Wa3zrikYniPk8tphQrvU2AQWB9wbPk2EVNaEPXE
|
fiIv4KHzTju03YclgnbA+/LVUt3N32bSKGJIc8twh21WWHmfiWd/DxlEjVdKg4d9
|
||||||
HzaRLV1CDEL7bX1xjHs7cOM5x4kCVAQTAQgAPgIbIwULCQgHAgYVCAkKCwIEFgID
|
CrZiePweE7ztfih5tIo5YokCVAQTAQgAPgIbIwULCQgHAgYVCAkKCwIEFgIDAQIe
|
||||||
AQIeAQIXgBYhBIL8h8UacZAv3BAs9U+Q1VuySxFHBQJbor05BQkLVts1AAoJEE+Q
|
AQIXgBYhBIL8h8UacZAv3BAs9U+Q1VuySxFHBQJbor05BQkLVts1AAoJEE+Q1Vuy
|
||||||
1VuySxFHKcQP/joTOsDKjVkjZmYtoFixIBPgIfHcDFKN4UyVg/79Ue3xNaaUAze9
|
SxFHKcQP/joTOsDKjVkjZmYtoFixIBPgIfHcDFKN4UyVg/79Ue3xNaaUAze99NSL
|
||||||
9NSLD8SBYbmI4y26H61u19WW2EyXs77jqgu6h00wKt0Ka+mFOHIhsd4gj5S2DXaz
|
D8SBYbmI4y26H61u19WW2EyXs77jqgu6h00wKt0Ka+mFOHIhsd4gj5S2DXaz+XJp
|
||||||
+XJpllUm3n+LlU7Usi7MXkfwmKW0HmKRlJgqN9UCNczj5ldkcByuWd+h9NsDN8Q5
|
llUm3n+LlU7Usi7MXkfwmKW0HmKRlJgqN9UCNczj5ldkcByuWd+h9NsDN8Q5RADU
|
||||||
RADU+/wOaH47rcg8hNRJUtoBhz8qtU/5whlGMmV+Mi585eHlUXKHtsTtLfjzxBjx
|
+/wOaH47rcg8hNRJUtoBhz8qtU/5whlGMmV+Mi585eHlUXKHtsTtLfjzxBjxDvnD
|
||||||
DvnD8gcvFYUnFALW/qM6uZMcfjt3pEcetQ3Jj9dWl6QZujawtATf7jG79LVe9v3c
|
8gcvFYUnFALW/qM6uZMcfjt3pEcetQ3Jj9dWl6QZujawtATf7jG79LVe9v3cTy1F
|
||||||
Ty1F+dQ59HuzkLLsq4TLjgIafABpaZNUezVhpeREW0ucOyA66Jgm4eIpTLlk0MoU
|
+dQ59HuzkLLsq4TLjgIafABpaZNUezVhpeREW0ucOyA66Jgm4eIpTLlk0MoUvzsY
|
||||||
vzsY2jlQ13EUtFaL42xW44nYzeJm+PJNL7+hlh8GjlA4SjeF8vOpmIEOqn2cNhzp
|
2jlQ13EUtFaL42xW44nYzeJm+PJNL7+hlh8GjlA4SjeF8vOpmIEOqn2cNhzpBn8N
|
||||||
Bn8NXcfI/kLvYknvuTvhlIRG22eCOD89Y4QEoK0L51FSHdpHKs20gEdftpZWG513
|
XcfI/kLvYknvuTvhlIRG22eCOD89Y4QEoK0L51FSHdpHKs20gEdftpZWG513dHCN
|
||||||
dHCNnXCp6+aQ1v6lkREQUYzNX11pRVJC6Yojs5rs4MN779adSMpF29VjE8yM0D6X
|
nXCp6+aQ1v6lkREQUYzNX11pRVJC6Yojs5rs4MN779adSMpF29VjE8yM0D6XlPIp
|
||||||
lPIpYyiOCeG7b5aln4+Sn4JYJ8usIlCrPTm0uDcHrnISVn7LeIvbMn3t1KqhF4BT
|
YyiOCeG7b5aln4+Sn4JYJ8usIlCrPTm0uDcHrnISVn7LeIvbMn3t1KqhF4BTkJyH
|
||||||
kJyHVUn3+oNSTQVUhtd4lXO3UcZc4zddYkbLeF2QeY+6yVMFyiB7izRTtCxBdXRv
|
VUn3+oNSTQVUhtd4lXO3UcZc4zddYkbLeF2QeY+6yVMFyiB7izRTiQJXBBMBCABB
|
||||||
bm9taWMgQ29vcGVyYXRpdmUgPGF1dG9ub21pY0Bwb3N0ZW8ubmV0PokCVAQTAQgA
|
AhsjBQsJCAcCBhUICQoLAgQWAgMBAh4BAheABQkLVts1FiEEgvyHxRpxkC/cECz1
|
||||||
PgIbIwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgBYhBIL8h8UacZAv3BAs9U+Q1Vuy
|
T5DVW7JLEUcFAlvg3VgCGQEACgkQT5DVW7JLEUdkiRAAiQPRrQuu4vrT+3Fk2C2v
|
||||||
SxFHBQJZ/cGYBQkCLRGUAAoJEE+Q1VuySxFHwOEP/j2uPM+FUM84X5DzPdJ20mUA
|
YkVCNeHy2awJ68vmzfgf39iA6b79nmV5ZHU3VKOzxef/tboPKE1dzZJH4UOfb6za
|
||||||
1omWmBMgttW/S5VY7+ACpJWa2MP6qjGmjl/mmgGKTq31lLbvDHDD796fouZUGXqf
|
d1xIapBt3yMElWF8gI935cUuzmuTx1CnxCM0f4Rl+pPGBsW/yCx6+L6hHC563zc9
|
||||||
8spPyF4VVcreqJilBFrGpDEkL10B3K/WfpS/k5p87IH6JudNNIM0lUyAG1KR5q8l
|
BeqesA/l6DVKib/8aIMFo/DHJzYOefeJLCHxX5CYsaADkExMze9tvvdJ1YLjev4d
|
||||||
MhEQeXz4RWE+ZIF9mAmrGRLb1OIaNYpKVSQliBh3F6jiyQ3uiUx//6x/tSFOfxqR
|
hBtojCoQ8MYEueDAyzdDMkjkoipgKg9aD8x/Zi1FyNVpeEiPRj4moikfAE4BsMP/
|
||||||
M1tdcb8gDKs6u3zFB+uM5BywGzRNTIcF8Ie2smavrQ0qSgQzacQmIWFpu0V2L4QX
|
mqQYuRt/C0KO8GWrQl4oobdbThOQ2sa7O2OnSpPLWxcwDcc7SMlyZfFXGr5NrPZj
|
||||||
kJRQiUkVeRkhDV+fWcR+49BuFQgU2K8YB8n2JLalG5l7gBSfQ4FUOUhxmDMquVIJ
|
J08ZWLvuqrtbbobqOTCzMkOQFW/nH2twvN3YzE/KuRDh0ggWf3kSq3edl8UDDIBw
|
||||||
yS7nLsMBBYtl7SrFe776uYaxNE+hYofv3mRRz/dApRxLc7jCI9dg0PtZjAaCrahg
|
+5qzOC8F5OmHaSbLYYP15K6W20YYVfMoi4Iy+3O+YJnc2Pa1jsZ1R+8RzP6fRj7E
|
||||||
FPHmXLZi0jg+Ijbpx8TI2MUf0P20iYeL6cRFKh0M774H0XwYLi/JFol+5bgscBF6
|
xT5rr4LM9h6urUs6jna9eupCm/eexRMQv2e1PRMbU6DzlQ1ucCxQvNVR4PBeiGwH
|
||||||
UwyL0gwiO+eamXi6VCNAn/4RJtdwsOSK+M62ZXl78cb7UrK7I7fDOuZFWS4p57CM
|
cuyVA3RpuxnMPkWX0ktuPH7Jj7QivAGOkhYGCkI74rHEUqa84rO38DsxPqS4MJga
|
||||||
ZgS5W9RQDEmPJUCBTEfByGBLs/YFiDUrNlt53UhzSe1xIQs8CM0Vg4wtE6ipT0UL
|
mAu0FaoRL58pHl5EJEc85fVmt864pGJ4j5PLaYUK71NgEFgfcGz5NhFTWhD1xB82
|
||||||
lE79DwrgI1CaKOyL8RQf43oQ3kYz+HgY3YMqTYGrpDRbJNl1oeYFsHf/v5rd+4Nb
|
kS1dQgxC+219cYx7O3DjOce0LEF1dG9ub21pYyBDb29wZXJhdGl2ZSA8YXV0b25v
|
||||||
CnXGswAnQId7eFmd4cX/iQIzBBMBCAAdFiEE70ujcLPqlBi+AFx24UxUHrwFfywF
|
bWljQHBvc3Rlby5uZXQ+iQJUBBMBCAA+AhsjBQsJCAcCBhUICQoLAgQWAgMBAh4B
|
||||||
AlnKafIACgkQ4UxUHrwFfyybixAAiim4L86loIMD9wfXmmrOnp7V7Z8Xuwo3hZTb
|
AheAFiEEgvyHxRpxkC/cECz1T5DVW7JLEUcFAluivT0FCQtW2zUACgkQT5DVW7JL
|
||||||
0qtYXdCilkSYbnQthUiHiGaE0c3BMFBUX7yQdTIewmRc6CGkyWNNcyNC0y7HA/B7
|
EUeGAw/+PO2Bw+NYp9qG9g3cSCQsMDhTLmzWxOsLXlgvnfZ17q1K0jItvFGJwhQF
|
||||||
HiGZHlymxDTdrB39AoLv6Bg76pkNIWcUGKkNKHETZSnB/MV2fPg7eQNvLD3qhdNl
|
72ItINVccxlv+hErcl0VAdPNIQ1Egl9cBiFDUWnfkE6qRETBe5ZCPzrDyIO8Kwdw
|
||||||
ZCTXaT2y9VIPc+acE21C1WyCLtp6F/SDlLlR5F2oDSEX81jLupzBHXsHe/WVkyLV
|
mTXKfHMmyuF7t58IzrtsxvdNVDbb9PT4uUg6ocZzmYxVnMymsOldeUrCL6b2e3Pn
|
||||||
yCepI/iNDbeVYVkY/ZmKoY+XW7UkT9mQboKmRNoz0aQFFsTL9Xl6Dlo6K3nbGvKV
|
1ciPArlJztTCrGL45eYKCRwHE0LArEk3UevW4IXSZVCpCa/JykFl90ytTwKvyis1
|
||||||
wyVwiipwdl2CkFDfi2qpsDUGqXSpvjgMvfaIBNreAzQgDFafqG/UWkkL3Sy7XQkn
|
9QgvTR2x7Zphv8kuk4pTBY3hPzocZR7MykHEJ8Ly0VyxudAnZk4mpUj/bM8HdTM/
|
||||||
1+4Yb5CEzz7JwpD/5ah2tE8KmN8JpxeRaVoQAZ9i7G8Wd/8XtAsifOAdLqnnUvZc
|
OYNdwhMb5TkJFGet4q5lwa0mK9kEQRgFW+v2aq5ASp0HSNa2fmXfdQ/TaIiS2ZhJ
|
||||||
N7CeEcJCba0Gg03zl17bjHQIVbCfjqVGtxeSHyRdbJ6ilrdBRq0AdoCZ46JZsWIM
|
mObl9d3m9y/Qvmd4kNmT4xD/2FgJlvMj0eo5khdhekDt/FNCMjqcjnqNNwY7YSWv
|
||||||
U3Nvk+Ei16Ie5vO2TOd7WDRohI/H4yFU+hHfX7+P93xYBe8md2YMPCzf/10gU+fD
|
+V2IlGi+3om4h9n/hFBvu2rkA9pa6y7QYCz39lM9Sb+uWNcd2/zy8lD/eB5eoUXJ
|
||||||
MCV3M8E9nnnJF2uYyalzayqgFuun7TfRQ1rC02CWZMiaTiAvoZNrLhn7Z+Nm+pPP
|
sYc0z/UfLe+/0o25Ba4TDzE6ZPOTpc6UoQjsDyI0slnrwWgvDQQkJ99/NeZw9aHK
|
||||||
b7Anb2R5w1Kb/cngTZ7NvBw5qlvA9a+dXpgSsiE7kV4Npe+zTCU0gxD+u28FX+Ad
|
8GlIdOjTKzPTri/Q/d7ZO+1WlawATt5zi/6tJE8WehVfK6flpZpzbTVBH0Dbqx/z
|
||||||
nXzO38+JAjMEEwEIAB0WIQTa+pyoTP1I9fzqzqrt6Tlin1waagUCWf3B5AAKCRDt
|
+ddQG2GudPYA/QPGBIiPsclROy4PA4wYCv50l3gT7hyfFvhRKImJAjMEEwEIAB0W
|
||||||
6Tlin1waaqs/D/45TzZcqmiJMEmzvxiN6MZU2NiUEioLSzSlXk8mqw6xmpSjR7r1
|
IQTvS6Nws+qUGL4AXHbhTFQevAV/LAUCWcpp8gAKCRDhTFQevAV/LJuLEACKKbgv
|
||||||
6mdngkCn1dbvriTF4DBqSVspdEV5B5O9m/Q/RMAw8iKxF6oL/bQ8iiEQcK4GTkL4
|
zqWggwP3B9eaas6entXtnxe7CjeFlNvSq1hd0KKWRJhudC2FSIeIZoTRzcEwUFRf
|
||||||
+li5ruoNOmiboUy4Ivtx5htlogkcFFfyTw3omEjJ0OMWBSWti+hIJbvv49BuLDw6
|
vJB1Mh7CZFzoIaTJY01zI0LTLscD8HseIZkeXKbENN2sHf0Cgu/oGDvqmQ0hZxQY
|
||||||
4pNcmFW2zeT8RKaX/e56g4+aXEK3SV6Ii0XXRk23UBnlQ+EXImNMUcIkke4I1c7H
|
qQ0ocRNlKcH8xXZ8+Dt5A28sPeqF02VkJNdpPbL1Ug9z5pwTbULVbIIu2noX9IOU
|
||||||
UHFL7PW9RTlZEHeAosbTL16rrz03uT6P4dGdQNnS00qMD0UZTIw7oGHhDgfnM00V
|
uVHkXagNIRfzWMu6nMEdewd79ZWTItXIJ6kj+I0Nt5VhWRj9mYqhj5dbtSRP2ZBu
|
||||||
pKp4E3Mn02c77r2CMitovCdWYkITqHWuuyAjFN817FHyIPs3lxyNNC5EsRerQmg9
|
gqZE2jPRpAUWxMv1eXoOWjoredsa8pXDJXCKKnB2XYKQUN+LaqmwNQapdKm+OAy9
|
||||||
S9brNrDi56Lg1Bu9lidMfCuEWXCmJlCAmmfKH+Rs01a+LEdPaKz+1JfPkVnfJN4B
|
9ogE2t4DNCAMVp+ob9RaSQvdLLtdCSfX7hhvkITPPsnCkP/lqHa0TwqY3wmnF5Fp
|
||||||
mpxa2w7EsHifxOGcVOTIKb3ctqqHfLlkzBLIlZSThIBG0Yr+6/xjOTDO6+eXvvCW
|
WhABn2LsbxZ3/xe0CyJ84B0uqedS9lw3sJ4RwkJtrQaDTfOXXtuMdAhVsJ+OpUa3
|
||||||
/BEDVZIzup1oiBD5+3Jgin+vXnwGhciqJu2qKLGy5pJIoki8l1S7bB6J71VeUuhi
|
F5IfJF1snqKWt0FGrQB2gJnjolmxYgxTc2+T4SLXoh7m87ZM53tYNGiEj8fjIVT6
|
||||||
fHo4UbftBWghLgQ+mInY+vgxrE8HFt9HSUbbTwslI+Ok7zjQ4TNY0JHgf1qfClk6
|
Ed9fv4/3fFgF7yZ3Zgw8LN//XSBT58MwJXczwT2eeckXa5jJqXNrKqAW66ftN9FD
|
||||||
MOCtvgSVhxYHJXbbZrzhRgT4Ugu87QhbHcB+d4G5TljUrj4slQbREs9qnIhGBBMR
|
WsLTYJZkyJpOIC+hk2suGftn42b6k89vsCdvZHnDUpv9yeBNns28HDmqW8D1r51e
|
||||||
AgAGBQJajE8cAAoJELVSdfvL6Dg86YwAnjRvy4sZj3h0mc9vxtE3SeZyoeFrAJ9M
|
mBKyITuRXg2l77NMJTSDEP67bwVf4B2dfM7fz4kCMwQTAQgAHRYhBNr6nKhM/Uj1
|
||||||
2MoFJZBu0Tgu2GrGWZAW/zzGVIkCVAQTAQgAPhYhBIL8h8UacZAv3BAs9U+Q1Vuy
|
/OrOqu3pOWKfXBpqBQJZ/cHkAAoJEO3pOWKfXBpqqz8P/jlPNlyqaIkwSbO/GI3o
|
||||||
SxFHBQJZseOEAhsjBQkFo5qABQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEE+Q
|
xlTY2JQSKgtLNKVeTyarDrGalKNHuvXqZ2eCQKfV1u+uJMXgMGpJWyl0RXkHk72b
|
||||||
1VuySxFHKYQP/1HyBo0KM55ywKGQvjvQzH2JO/V+yg+SYwr1S63sQNEkDF8o06FD
|
9D9EwDDyIrEXqgv9tDyKIRBwrgZOQvj6WLmu6g06aJuhTLgi+3HmG2WiCRwUV/JP
|
||||||
pJw+axCFFzmn6Kfbv6vx0J9LgEhhraFgBlSDv91ZsmMfaYxsR6/f2ru/kTmrOdww
|
DeiYSMnQ4xYFJa2L6Eglu+/j0G4sPDrik1yYVbbN5PxEppf97nqDj5pcQrdJXoiL
|
||||||
TDm562y+sJGSd4b+yWa5sOdr4u4HusTmZlNbPm2s+YM2GCN4fv1JmQJ0UCuJs/Hc
|
RddGTbdQGeVD4RciY0xRwiSR7gjVzsdQcUvs9b1FOVkQd4CixtMvXquvPTe5Po/h
|
||||||
FGCPNCrpMcId/0HsDt+9onPivzXzpTEx6eS2e52Fn3JJvOy00A7kxz5Lxa6dqzIu
|
0Z1A2dLTSowPRRlMjDugYeEOB+czTRWkqngTcyfTZzvuvYIyK2i8J1ZiQhOoda67
|
||||||
krdU2CFa/dsFlx3Ai3O1TQTczKYVkv9poiNI0evRudxaUzBqDrdJqtblo2q2xgUQ
|
ICMU3zXsUfIg+zeXHI00LkSxF6tCaD1L1us2sOLnouDUG72WJ0x8K4RZcKYmUICa
|
||||||
DbgEH4uxY1cdHOJg98hn6Qg50hYeVZ9Qauqbxrvxi2oykitfvGWW4W6HT7CbXYSH
|
Z8of5GzTVr4sR09orP7Ul8+RWd8k3gGanFrbDsSweJ/E4ZxU5Mgpvdy2qod8uWTM
|
||||||
VZxq/hUb+D25annGxoifTtnH8dkNnYZyct1rF/IVjOk1a6yfpye3GgpQ+tq0Bi6b
|
EsiVlJOEgEbRiv7r/GM5MM7r55e+8Jb8EQNVkjO6nWiIEPn7cmCKf69efAaFyKom
|
||||||
dePq35jrUuTmbY1idlDhTT1AZVoEJQo0UkaZkaw2K2F+B5poGVgXYTGdCIZzgBmx
|
7aoosbLmkkiiSLyXVLtsHonvVV5S6GJ8ejhRt+0FaCEuBD6Yidj6+DGsTwcW30dJ
|
||||||
wddw48JsnvonbnOY4qobFG4xmUy4teRDUcFa5cYgqFwaXFmD8OxtkLBSLyfRzpDT
|
RttPCyUj46TvONDhM1jQkeB/Wp8KWTow4K2+BJWHFgcldttmvOFGBPhSC7ztCFsd
|
||||||
5tHQFGMvAkvy21G6j6R82bCvIdPZZlRzmIkF3pEpoClcuSM4qh5MYmF0FO5zcxOo
|
wH53gblOWNSuPiyVBtESz2qciEYEExECAAYFAlqMTxwACgkQtVJ1+8voODzpjACe
|
||||||
0+4KUOry1BIVmY7Pe+xk8D2IP3lTKACD9T0N+VpFageLvDEWQTUQkMJjiQJUBBMB
|
NG/LixmPeHSZz2/G0TdJ5nKh4WsAn0zYygUlkG7ROC7YasZZkBb/PMZUiQJUBBMB
|
||||||
CAA+AhsjBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAFiEEgvyHxRpxkC/cECz1T5DV
|
CAA+AhsjBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAFiEEgvyHxRpxkC/cECz1T5DV
|
||||||
W7JLEUcFAluivT0FCQtW2zUACgkQT5DVW7JLEUeGAw/+PO2Bw+NYp9qG9g3cSCQs
|
W7JLEUcFAln9wZgFCQItEZQACgkQT5DVW7JLEUfA4Q/+Pa48z4VQzzhfkPM90nbS
|
||||||
MDhTLmzWxOsLXlgvnfZ17q1K0jItvFGJwhQF72ItINVccxlv+hErcl0VAdPNIQ1E
|
ZQDWiZaYEyC21b9LlVjv4AKklZrYw/qqMaaOX+aaAYpOrfWUtu8McMPv3p+i5lQZ
|
||||||
gl9cBiFDUWnfkE6qRETBe5ZCPzrDyIO8KwdwmTXKfHMmyuF7t58IzrtsxvdNVDbb
|
ep/yyk/IXhVVyt6omKUEWsakMSQvXQHcr9Z+lL+Tmnzsgfom5000gzSVTIAbUpHm
|
||||||
9PT4uUg6ocZzmYxVnMymsOldeUrCL6b2e3Pn1ciPArlJztTCrGL45eYKCRwHE0LA
|
ryUyERB5fPhFYT5kgX2YCasZEtvU4ho1ikpVJCWIGHcXqOLJDe6JTH//rH+1IU5/
|
||||||
rEk3UevW4IXSZVCpCa/JykFl90ytTwKvyis19QgvTR2x7Zphv8kuk4pTBY3hPzoc
|
GpEzW11xvyAMqzq7fMUH64zkHLAbNE1MhwXwh7ayZq+tDSpKBDNpxCYhYWm7RXYv
|
||||||
ZR7MykHEJ8Ly0VyxudAnZk4mpUj/bM8HdTM/OYNdwhMb5TkJFGet4q5lwa0mK9kE
|
hBeQlFCJSRV5GSENX59ZxH7j0G4VCBTYrxgHyfYktqUbmXuAFJ9DgVQ5SHGYMyq5
|
||||||
QRgFW+v2aq5ASp0HSNa2fmXfdQ/TaIiS2ZhJmObl9d3m9y/Qvmd4kNmT4xD/2FgJ
|
UgnJLucuwwEFi2XtKsV7vvq5hrE0T6Fih+/eZFHP90ClHEtzuMIj12DQ+1mMBoKt
|
||||||
lvMj0eo5khdhekDt/FNCMjqcjnqNNwY7YSWv+V2IlGi+3om4h9n/hFBvu2rkA9pa
|
qGAU8eZctmLSOD4iNunHxMjYxR/Q/bSJh4vpxEUqHQzvvgfRfBguL8kWiX7luCxw
|
||||||
6y7QYCz39lM9Sb+uWNcd2/zy8lD/eB5eoUXJsYc0z/UfLe+/0o25Ba4TDzE6ZPOT
|
EXpTDIvSDCI755qZeLpUI0Cf/hEm13Cw5Ir4zrZleXvxxvtSsrsjt8M65kVZLinn
|
||||||
pc6UoQjsDyI0slnrwWgvDQQkJ99/NeZw9aHK8GlIdOjTKzPTri/Q/d7ZO+1WlawA
|
sIxmBLlb1FAMSY8lQIFMR8HIYEuz9gWINSs2W3ndSHNJ7XEhCzwIzRWDjC0TqKlP
|
||||||
Tt5zi/6tJE8WehVfK6flpZpzbTVBH0Dbqx/z+ddQG2GudPYA/QPGBIiPsclROy4P
|
RQuUTv0PCuAjUJoo7IvxFB/jehDeRjP4eBjdgypNgaukNFsk2XWh5gWwd/+/mt37
|
||||||
A4wYCv50l3gT7hyfFvhRKIm0LEF1dG9ub21pYyBDb8O2cGVyYXRpdmUgPGhlbG9A
|
g1sKdcazACdAh3t4WZ3hxf+JAlQEEwEIAD4WIQSC/IfFGnGQL9wQLPVPkNVbsksR
|
||||||
|
RwUCWbHjhAIbIwUJBaOagAULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRBPkNVb
|
||||||
|
sksRRymED/9R8gaNCjOecsChkL470Mx9iTv1fsoPkmMK9Uut7EDRJAxfKNOhQ6Sc
|
||||||
|
PmsQhRc5p+in27+r8dCfS4BIYa2hYAZUg7/dWbJjH2mMbEev39q7v5E5qzncMEw5
|
||||||
|
uetsvrCRkneG/slmubDna+LuB7rE5mZTWz5trPmDNhgjeH79SZkCdFAribPx3BRg
|
||||||
|
jzQq6THCHf9B7A7fvaJz4r8186UxMenktnudhZ9ySbzstNAO5Mc+S8WunasyLpK3
|
||||||
|
VNghWv3bBZcdwItztU0E3MymFZL/aaIjSNHr0bncWlMwag63SarW5aNqtsYFEA24
|
||||||
|
BB+LsWNXHRziYPfIZ+kIOdIWHlWfUGrqm8a78YtqMpIrX7xlluFuh0+wm12Eh1Wc
|
||||||
|
av4VG/g9uWp5xsaIn07Zx/HZDZ2GcnLdaxfyFYzpNWusn6cntxoKUPratAYum3Xj
|
||||||
|
6t+Y61Lk5m2NYnZQ4U09QGVaBCUKNFJGmZGsNithfgeaaBlYF2ExnQiGc4AZscHX
|
||||||
|
cOPCbJ76J25zmOKqGxRuMZlMuLXkQ1HBWuXGIKhcGlxZg/DsbZCwUi8n0c6Q0+bR
|
||||||
|
0BRjLwJL8ttRuo+kfNmwryHT2WZUc5iJBd6RKaApXLkjOKoeTGJhdBTuc3MTqNPu
|
||||||
|
ClDq8tQSFZmOz3vsZPA9iD95UygAg/U9DflaRWoHi7wxFkE1EJDCY7QsQXV0b25v
|
||||||
|
bWljIENvw7ZwZXJhdGl2ZSA8aGVsb0BhdXRvbm9taWMuem9uZT6JAlcEEwEIAEEC
|
||||||
|
GyMFCQtW2zUFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQSC/IfFGnGQL9wQLPVP
|
||||||
|
kNVbsksRRwUCXPu5fAIZAQAKCRBPkNVbsksRRzEXEACNKMUtuX1L+pQlHJIKKGBY
|
||||||
|
WgqLZbV+s0xUtLqMdB6YimUPtKwTKpsSfwqaN9cpOvXi+JXYbNk2k+OQ+qN2fVNa
|
||||||
|
gk8Ov15y+hFz9iarxobCJYdmHEri48IVJT/9TFiE928Hd82A6Ye79+ZjHyRT7s67
|
||||||
|
1g5XcOs88MBcOq3v4t4NpcsyRYrGlw2KZIiCUOej1UTpbD8FMmXaQVe8Dg59nero
|
||||||
|
nki/Jd80ReDIX0FnyI5JOl9iMPjHQZ4G/SJAQXkfnfM3NpnYSlSL04AJ2/ny5fL4
|
||||||
|
y+mdKJ7OWalL3a9Z2Z8VJGZgMR+HTrqsKYLYqVPqdukiQJ1It1eCECYsYN5WO1OQ
|
||||||
|
5VCIVSL+NEnwCZxEtr9a32LQyxY3C6N/iHr6Uzlt1N09eeQWORie7pjhkQOVmI37
|
||||||
|
TLzvWAMUNg+/4BCCjMoW2Rss3MfrB8QNlXX+UVzA43FyN2cDsb+ZFe97VhN9RJ1i
|
||||||
|
hJsQkTi7krgIWOF7rtTHwrM4WmdXMRHT2xmcLos3zqEvTgdkUTt+ClG+NCYCC9Sw
|
||||||
|
DGeCR5Y9OpUP15lmIMiMWftAxEhWzFUKR1cqQ+5XOtWPFQXazU+oApRRc1U0Vtgb
|
||||||
|
tJ2bhHok0Gw/PSo2rmTqfqkTWqaYC2Itxh7xXZ1V46cd1r95TVbnJ6G5YXgnKjOk
|
||||||
|
R13d9DMHjG8HwBDkDJHIV7QtQXV0b25vbWljIENvw7ZwZXJhdGl2ZSA8aGVsbG9A
|
||||||
YXV0b25vbWljLnpvbmU+iQJUBBMBCAA+FiEEgvyHxRpxkC/cECz1T5DVW7JLEUcF
|
YXV0b25vbWljLnpvbmU+iQJUBBMBCAA+FiEEgvyHxRpxkC/cECz1T5DVW7JLEUcF
|
||||||
Alzp2D4CGyMFCQtW2zUFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQT5DVW7JL
|
Alzp2FECGyMFCQtW2zUFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQT5DVW7JL
|
||||||
EUdPbA/+MnnGkOXo7iHJMPnHklJrYodnuTB2AqDTHM6M5/ugR5GxDrJIoVbNKHDN
|
EUfakxAAh7C5tirVEy+NqmtIfpT4SZCBPyJChPhHC4KEPLiejGO0oco3g4jtyJx2
|
||||||
x+EFNIl5+2ddUMTVmU8UFncA73oBgtf7bOqKSnC/4+9+F+pxrgiU894WRxCQSAif
|
ipzRM3VwsGadwAxFuxS0+3Ql1i4xVRu/bKiEMl31UlD4qthFXUc1v0Pa2r/A96UR
|
||||||
TZpcEMm4woef1A3a8OzHGLBr3q+n8PfDr/YSHbV7HuQBtlEbh4OncXiS70Yrcg49
|
2OyQqtBKUrp8D1rWJQ4ovAA4jy9fyuQ3urvH/AfQ9N+xTFXDGvQA+YdfWX1Tb66d
|
||||||
GU5tswODn53F3Z+ff+GzAcb1112gnu/+pwIF1N9VqmLVeE3z/6jDRzYiBT7xWLqI
|
J+RJZeqi+ubAH7MPWfrnp7wVID7I3iUlLJ98IiVZdJ2QEtp1GW0hE/8LbpqeEj+A
|
||||||
vGeVuDryxObZcSPWmeALnwlJUAXuSLVDhVsDZc+odNRAIQFGT9s2KarIrfQ5CIw2
|
z7E5dJdeWi5BxeCp1pyZ+B4hN9WWFtKNino/dxGFXKqXosnw5q6JSMz/z+WdQapy
|
||||||
Yml28jTrirtYKrFmbY16iZLj7S6elPUctnCTu3rmVHhZfEQg8okxVOr4Y0n9d81K
|
p4Wcc02n2tljwDTMClyxZngxSrzAySvCl8oIe/MrsNEsiT8K3f+30JX1ZNwvkJSn
|
||||||
wk44WsoDOXw42TcW+4/kOc15Uts+jCNVrj5l1PUqNW717J2RtjJf/kzV8HLdEO/W
|
9bdjjTOo09YTILTBEDbA1hU5n8c1ey9YEtDdt+KgsKz99K5YdpJdl6ZxG3x4B8Uu
|
||||||
IQkU/8JzYNbNs5HnCEGxwWj2lKZ/fsCHTYDplAzpQxMYT4lYCS1fTrXlAWXam4lb
|
Jn+KIqXTAL2wXYd9NbWyTbXnedsn01n9wUDuytbf0jvI0jfitPZTINUdX7SqHS2L
|
||||||
kaSkq/4/TsEGg4dYrx+39JhpbDnv0edsxf0NFANuvkeUIsRpWAJa6czz1Cztltnk
|
ld9bPqPlYY8JETfRK8cTlOVQt+xRK0JnfzusiN6FBhCDwaRHTgqRmQtWacW8Yr+R
|
||||||
fA66yPnOHWKky33LmIZUyzVU03sXNlBT+wEMsz6PECw7wVAu9KXqEryg7nrwyyVi
|
Hj8F+Z/s6DMNocQEMaHVGTYfFog8YfdFnvN74E1z32hhmD1K6cahGIz4k9sGWb0g
|
||||||
ZTHlNRn6jNe+qZ+oT1gRAkUbKTI2M3J2DjV1y3o0JhtwJezC6fC0LUF1dG9ub21p
|
PD+MfwbxK91PuxBpMomILjN1AVvhqw05onvrPclZi5ZVC74vuOS5Ag0EWbHjhAEQ
|
||||||
YyBDb8O2cGVyYXRpdmUgPGhlbGxvQGF1dG9ub21pYy56b25lPokCVAQTAQgAPhYh
|
ALRFCmSZVxj09672/oWDa1o6dUJWEHo3+ZiruiUynRJljatTliRsAzmRSgXU4Rx9
|
||||||
BIL8h8UacZAv3BAs9U+Q1VuySxFHBQJc6dhRAhsjBQkLVts1BQsJCAcCBhUKCQgL
|
HBB7dnZ/a+T0kBZm1/hofnFQnLZR6FqcudQuCqwxN3mqEJB/l9sHKV5ht/sqO42b
|
||||||
AgQWAgMBAh4BAheAAAoJEE+Q1VuySxFH2pMQAIewubYq1RMvjaprSH6U+EmQgT8i
|
29LOpnfCoHBdhbFbhZn5DVknKwWfYJU3gh/fibAWXyfRC1Z8E1+sYU4uVCdPJyQ0
|
||||||
QoT4RwuChDy4noxjtKHKN4OI7cicdoqc0TN1cLBmncAMRbsUtPt0JdYuMVUbv2yo
|
CrLuw7rBJc9WAMedgBV75kQr9F/1wkZjvbmPvEcpAApkvsMd8ZXdKIa92Cgpdokw
|
||||||
hDJd9VJQ+KrYRV1HNb9D2tq/wPelEdjskKrQSlK6fA9a1iUOKLwAOI8vX8rkN7q7
|
+vRDd4Zm839OmuLQ0AzPB/CODOVxsV3wyfD2Ep+Erk0foNC+LV3FO5Yb4m6lQtRW
|
||||||
x/wH0PTfsUxVwxr0APmHX1l9U2+unSfkSWXqovrmwB+zD1n656e8FSA+yN4lJSyf
|
S5Dptn/KOybWiWR+n3Q1VuOHlQeNWGmAnbxydRkrpXxRbyxgrVMcTurOIawYv5l/
|
||||||
fCIlWXSdkBLadRltIRP/C26anhI/gM+xOXSXXlouQcXgqdacmfgeITfVlhbSjYp6
|
OvQgwvy1m7l1NG9UOzsoTIbmH/ENX3nTt0DT5j4kQ8WHg3KgQQ5lB7mKUduiU2qX
|
||||||
P3cRhVyql6LJ8OauiUjM/8/lnUGqcqeFnHNNp9rZY8A0zApcsWZ4MUq8wMkrwpfK
|
cJDGMHupIiL6rn0O73OdAUfdhraXAirQsID0ogZ5Un+iEgsIzMzSc/QR426JVnRM
|
||||||
CHvzK7DRLIk/Ct3/t9CV9WTcL5CUp/W3Y40zqNPWEyC0wRA2wNYVOZ/HNXsvWBLQ
|
rQGeA++gbsO4YOSSV+2P1WccuMhEfg9zFQ9KHrT/dIRAnSkj56qICM3w0Zi1F8v8
|
||||||
3bfioLCs/fSuWHaSXZemcRt8eAfFLiZ/iiKl0wC9sF2HfTW1sk2153nbJ9NZ/cFA
|
gNZKNjQsW5teeWG1SSNZKKX4kUpedUuTQMDbwzGE4kx6Sk9rS01MLFjp5CVazBCf
|
||||||
7srW39I7yNI34rT2UyDVHV+0qh0ti5XfWz6j5WGPCRE30SvHE5TlULfsUStCZ387
|
cRNl3bkk8IUAhPMltB9RulGXbjC+xtuGHkC1wopnWQJFABEBAAGJAjwEGAEIACYC
|
||||||
rIjehQYQg8GkR04KkZkLVmnFvGK/kR4/Bfmf7OgzDaHEBDGh1Rk2HxaIPGH3RZ7z
|
GwwWIQSC/IfFGnGQL9wQLPVPkNVbsksRRwUCW6K9PQUJC1bbOQAKCRBPkNVbsksR
|
||||||
e+BNc99oYZg9SunGoRiM+JPbBlm9IDw/jH8G8SvdT7sQaTKJiC4zdQFb4asNOaJ7
|
R+IsEACAYYovlNtt8Av0bDaljvb9E9ZC3nYjcEZzocknCuDv+ZVlHryTM0XwtQTa
|
||||||
6z3JWYuWVQu+L7jkuQINBFmx44QBEAC0RQpkmVcY9Peu9v6Fg2taOnVCVhB6N/mY
|
FnC7vrtHRi1yjhgQAhZcR4Ukc1Q4jfbW9eOGFIRLx9U9jZUgY4Mk6R7+zAw5dpSD
|
||||||
q7olMp0SZY2rU5YkbAM5kUoF1OEcfRwQe3Z2f2vk9JAWZtf4aH5xUJy2UehanLnU
|
OtEoXryXnuKYhbqdvTNrNBiBCXST7RghyWzgBwFXq2LO38nvlrOKlkiJwoyDKfo9
|
||||||
LgqsMTd5qhCQf5fbByleYbf7KjuNm9vSzqZ3wqBwXYWxW4WZ+Q1ZJysFn2CVN4If
|
peVWBoaIGEYc3LFMVeQf/CYZa9RsmziewjknfmUbYSajrvwxLDvLjUXF7ddzBLR7
|
||||||
34mwFl8n0QtWfBNfrGFOLlQnTyckNAqy7sO6wSXPVgDHnYAVe+ZEK/Rf9cJGY725
|
R3WMS5aIL8bbEjauwLzYWFBXROaToCHzvMlrSpUmEvpzUNofyp2lKLYUH2XWiYTi
|
||||||
j7xHKQAKZL7DHfGV3SiGvdgoKXaJMPr0Q3eGZvN/Tpri0NAMzwfwjgzlcbFd8Mnw
|
N/3h6bkLlpFwNgDjiZ9FsajIfNaF33Yvhd5oNDcPxgNphhsqh4DiZ24ZV1M3vb+P
|
||||||
9hKfhK5NH6DQvi1dxTuWG+JupULUVkuQ6bZ/yjsm1olkfp90NVbjh5UHjVhpgJ28
|
rfgvy0tV4yEaVN9iXVsmrl/e/CVxgqW4qRoKHOroRp2ssNoCL6Jt2jhinsoTdaFP
|
||||||
cnUZK6V8UW8sYK1THE7qziGsGL+Zfzr0IML8tZu5dTRvVDs7KEyG5h/xDV9507dA
|
VLhTRlG9sBf59gOcglkcH9RyVI+UNF0WdtNaciqCCBmat2lRide/yWAVRM7r/4EN
|
||||||
0+Y+JEPFh4NyoEEOZQe5ilHbolNql3CQxjB7qSIi+q59Du9znQFH3Ya2lwIq0LCA
|
VYDnYpGlbcrORM0FzY0b4qNhlVhQ+gITJ8zSKfX2KynIZziOG4TboGB5cR6QF7nG
|
||||||
9KIGeVJ/ohILCMzM0nP0EeNuiVZ0TK0BngPvoG7DuGDkklftj9VnHLjIRH4PcxUP
|
DEOSiNz8jGnBnxvFyb6z4XTpJsT/e4lcm0J1NNlVznU46EHg88s0aD4a47beMyZ1
|
||||||
Sh60/3SEQJ0pI+eqiAjN8NGYtRfL/IDWSjY0LFubXnlhtUkjWSil+JFKXnVLk0DA
|
XoIO4DVYN9Qn2H771xVi6oZ0rJJ4c4FYxl/4AhF2loFrCEnlZw==
|
||||||
28MxhOJMekpPa0tNTCxY6eQlWswQn3ETZd25JPCFAITzJbQfUbpRl24wvsbbhh5A
|
=jgXl
|
||||||
tcKKZ1kCRQARAQABiQI8BBgBCAAmAhsMFiEEgvyHxRpxkC/cECz1T5DVW7JLEUcF
|
|
||||||
Aln9wZgFCQItEZQACgkQT5DVW7JLEUfqWw//Z86vEQ66bPsv/yh+iIr07FxhrsXZ
|
|
||||||
zuRBpdqURFOGDfcz6mfs0KrHvln4vgTqrIOJt2W5tJfZKH5XjLT0q21ZkJhUsjvy
|
|
||||||
WS9SSvQocsecYsvJdR5EemqyDwJOkj+0SWt2D/uBFwy6ZPwecFh6UW5WvClrRjb1
|
|
||||||
BFKOrpqBp7HtarxH3qWBzvBFtNI0QvI6QxKOqzBlE58Ihr2e/ewC74CysfOefC6E
|
|
||||||
//UfNB76VcawU/gE76Xusxx+Bd/XebGLK1AaC4xpBPgQpDWpQTjJcoInadFHxJgq
|
|
||||||
ixTqmh83yQFAPomNdorLi7yMbWMjohl+cVcXemHXoaSMREg2FaJ/Z5mjJ5GbvOhd
|
|
||||||
ScYG6emEhnFqoS2zTUMA79ajn8IZQ47LtRSvnDuZliCEdjCPWfAeimTR27X3v4Ts
|
|
||||||
g8soHDUh5ctD/vNDbgRFeVMH9nV5RPHxJKaxVrNNX2u7Nt68Unw1Qs+6e1zCHUjj
|
|
||||||
kjzXbDfU4aE1/yiO/WaeoIhS9jzZe4ADRrQZk3qLCM/HhUPsD4LZTdOLRP8XYN+x
|
|
||||||
70+7LO1fkD+QytMnpy3szmSCDyuqjkh2KB7JrqH/pEOrSZYVKiusQoKR4WVrsisW
|
|
||||||
2k1roTsSMiHDvLQ6tUG0lXG4dgkbNoP3Bwz9aR8hk6R1Vd3vpJPFvqk3EtpGKkaJ
|
|
||||||
KDrIwzOXOcXBllWJAjwEGAEIACYCGwwWIQSC/IfFGnGQL9wQLPVPkNVbsksRRwUC
|
|
||||||
W6K9PQUJC1bbOQAKCRBPkNVbsksRR+IsEACAYYovlNtt8Av0bDaljvb9E9ZC3nYj
|
|
||||||
cEZzocknCuDv+ZVlHryTM0XwtQTaFnC7vrtHRi1yjhgQAhZcR4Ukc1Q4jfbW9eOG
|
|
||||||
FIRLx9U9jZUgY4Mk6R7+zAw5dpSDOtEoXryXnuKYhbqdvTNrNBiBCXST7RghyWzg
|
|
||||||
BwFXq2LO38nvlrOKlkiJwoyDKfo9peVWBoaIGEYc3LFMVeQf/CYZa9Rsmziewjkn
|
|
||||||
fmUbYSajrvwxLDvLjUXF7ddzBLR7R3WMS5aIL8bbEjauwLzYWFBXROaToCHzvMlr
|
|
||||||
SpUmEvpzUNofyp2lKLYUH2XWiYTiN/3h6bkLlpFwNgDjiZ9FsajIfNaF33Yvhd5o
|
|
||||||
NDcPxgNphhsqh4DiZ24ZV1M3vb+Prfgvy0tV4yEaVN9iXVsmrl/e/CVxgqW4qRoK
|
|
||||||
HOroRp2ssNoCL6Jt2jhinsoTdaFPVLhTRlG9sBf59gOcglkcH9RyVI+UNF0WdtNa
|
|
||||||
ciqCCBmat2lRide/yWAVRM7r/4ENVYDnYpGlbcrORM0FzY0b4qNhlVhQ+gITJ8zS
|
|
||||||
KfX2KynIZziOG4TboGB5cR6QF7nGDEOSiNz8jGnBnxvFyb6z4XTpJsT/e4lcm0J1
|
|
||||||
NNlVznU46EHg88s0aD4a47beMyZ1XoIO4DVYN9Qn2H771xVi6oZ0rJJ4c4FYxl/4
|
|
||||||
AhF2loFrCEnlZw==
|
|
||||||
=u0eg
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
36
src/assets/svg/Gitea_Logo.svg
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="512" height="512" viewBox="0 0 135.46667 135.46667" version="1.1" id="svg8" sodipodi:docname="logo.svg" inkscape:version="0.92.1 r15371" inkscape:export-filename="" inkscape:export-xdpi="48.000004" inkscape:export-ydpi="48.000004">
|
||||||
|
<defs id="defs2"/>
|
||||||
|
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:zoom="0.70710678" inkscape:cx="418.13805" inkscape:cy="177.57445" inkscape:document-units="mm" inkscape:current-layer="layer2" showgrid="false" units="px" width="256px" showguides="false" inkscape:window-width="1920" inkscape:window-height="1137" inkscape:window-x="1912" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:pagecheckerboard="false" inkscape:measure-start="283.373,243.952" inkscape:measure-end="290.267,236.527">
|
||||||
|
<sodipodi:guide position="0,0" orientation="0,512" id="guide3699" inkscape:locked="false"/>
|
||||||
|
<sodipodi:guide position="135.46667,0" orientation="-512,0" id="guide3701" inkscape:locked="false"/>
|
||||||
|
<sodipodi:guide position="135.46667,135.46667" orientation="0,-512" id="guide3703" inkscape:locked="false"/>
|
||||||
|
<sodipodi:guide position="0,135.46667" orientation="512,0" id="guide3705" inkscape:locked="false"/>
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata id="metadata5">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||||
|
<dc:title/>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(0,-161.53334)" style="display:inline">
|
||||||
|
<path style="fill:#ffffff;fill-opacity:1;stroke:#428f29;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" d="m 27.709937,195.15095 c -9.546573,-0.0272 -22.3392732,6.79805 -21.6317552,23.90397 1.105534,26.72889 25.4565952,29.20839 35.1916502,29.42301 1.068023,5.01357 12.521798,22.30563 21.001818,23.21667 h 37.15277 c 22.27763,-1.66785 38.9607,-75.75671 26.59321,-76.03825 -46.781583,2.47691 -49.995146,2.13838 -88.599758,0 -2.495053,-0.0266 -5.972321,-0.49474 -9.707935,-0.5054 z m 2.491319,9.45886 c 1.351378,13.69267 3.555849,21.70359 8.018216,33.94345 -11.382872,-1.50473 -21.069822,-5.22443 -22.851515,-19.10984 -0.950962,-7.4112 2.390428,-15.16769 14.833299,-14.83361 z" id="path3722" inkscape:connector-curvature="0" sodipodi:nodetypes="sscccccsccsc"/>
|
||||||
|
</g>
|
||||||
|
<g inkscape:groupmode="layer" id="layer2" inkscape:label="Layer 2" style="display:inline">
|
||||||
|
<rect style="display:inline;fill:#1d2442;fill-opacity:1;stroke:none;stroke-width:0.24757317;stroke-opacity:1" id="rect4599" width="34.762054" height="34.762054" x="87.508659" y="18.291576" transform="rotate(25.914715)" ry="5.4825778"/>
|
||||||
|
<path style="display:inline;fill:#1d2442;fill-opacity:1;stroke:none;stroke-width:0.26644793px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 79.804947,57.359056 3.241146,1.609954 V 35.255731 h -3.262698 z" id="path4525" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc"/>
|
||||||
|
</g>
|
||||||
|
<g inkscape:groupmode="layer" id="layer3" inkscape:label="Layer 3" style="display:inline">
|
||||||
|
<g style="display:inline" id="g4539">
|
||||||
|
<circle transform="rotate(-19.796137)" r="3.4745038" cy="90.077766" cx="49.064713" id="path4606" style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1"/>
|
||||||
|
<circle transform="rotate(-19.796137)" r="3.4745038" cy="102.1049" cx="36.810425" id="path4606-3" style="fill:#ffffff6;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1"/>
|
||||||
|
<circle transform="rotate(-19.796137)" r="3.4745038" cy="111.43928" cx="46.484283" id="path4606-1" style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1"/>
|
||||||
|
<rect transform="rotate(26.024158)" y="18.061695" x="97.333458" height="27.261492" width="2.6726954" id="rect4629-8" style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.27444693;stroke-opacity:1"/>
|
||||||
|
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path4514" d="m 76.558096,68.116343 c 12.97589,6.395378 13.012989,4.101862 4.890858,20.907244" style="fill:none;stroke:#ffffff;stroke-width:2.68000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.8 KiB |
1
src/assets/svg/creative-commons-brands.svg
Normal 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 |
1
src/assets/svg/mastodon-brands.svg
Normal 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 |
1
src/assets/svg/rss-square-solid.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="rss-square" class="svg-inline--fa fa-rss-square fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="#ffffff" d="M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z"></path></svg>
|
After Width: | Height: | Size: 943 B |
1
src/assets/svg/twitter-brands.svg
Normal 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 |
47
src/gdpr.md
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: Privacy Policy
|
||||||
|
description: Privacy policy for Autonomic Co-operative Limited
|
||||||
|
meta_description: This is the privacy policy for Autonomic Co-operative Limited.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Autonomic Cooperative Limited Data Protection Act 2018 (GDPR) privacy Notice.
|
||||||
|
|
||||||
|
> [The Data Protection Act 2018](https://www.gov.uk/data-protection) is the UK’s implementation of the General Data Protection Regulation (GDPR).
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
Our purpose is to provide secure services for socially responsible and progressive groups and individuals. We seek to minimise data collection where possible and follow best security practices.
|
||||||
|
|
||||||
|
To get in touch with Autonomic Cooperative Limited about any GPDR related issues please email [helo@autonomic.zone](helo@autonomic.zone). Our Secretary will act as contact for these matters.
|
||||||
|
|
||||||
|
## Data Protection Officer
|
||||||
|
We do not have or believe we require a Data Protection Officer, as we do not process sensitive data, nor do our core activities require large scale systemic tracking of individuals. See the [Information Commissioner’s Office (ICO) guidance](https://ico.org.uk/for-organisations/guide-to-the-general-data-protection-regulation-gdpr/accountability-and-governance/data-protection-officers/) on this.
|
||||||
|
|
||||||
|
## Data Collection
|
||||||
|
If you use our services, we may act as data processor for you. We provide information about how our systems and procedures allow you to use our service securely in our information security policy.
|
||||||
|
|
||||||
|
We process data to provide Internet services. We collect names, addresses, email addresses, phone numbers of our customers so we can charge them for services and communicate with them information regarding the availability and status of their services. This processing is necessary for the performance of our contracts with them.
|
||||||
|
|
||||||
|
## Logging and tracking
|
||||||
|
Our services are configured to collect statistics including IP addresses via web server log files as is standard practice. The log files are kept for 28 days or less and are then deleted. We recommend you use [Tor Browser](https://www.torproject.org/) if you require greater anonymity.
|
||||||
|
|
||||||
|
Our servers may collect web usage statistics via our private [Matamo](https://matomo.org/) analytics servers. You may opt out of Matamo tracking, the best way to do this is to set the [Do Not Track header](https://en.wikipedia.org/wiki/Do_Not_Track) in your browser or use the browser extensions [ublock origin](https://github.com/gorhill/uBlock/) and/or [Privacy Badger](https://privacybadger.org/).
|
||||||
|
|
||||||
|
Occasionally our users may run alternative analytics software. This is outside of our control.
|
||||||
|
|
||||||
|
## Data Storage
|
||||||
|
This data is processed by our staff and only stored in the EU. We do not share data with 3rd parties unless this is required for the implementation of a specific service. For example, to a Domain Name Registrar to complete the whois information for a domain name. The requirement to share with 3rd parties will be clearly communicated to you, and only done with explicit consent.
|
||||||
|
|
||||||
|
We are required under UK tax law to keep your basic personal data (name, address, contact details) for a minimum of 6 years after which time it will be destroyed.
|
||||||
|
|
||||||
|
## Incorrect Information
|
||||||
|
If at any point you believe the information we process on you is incorrect you request to see this information and even have it corrected or deleted. If you wish to raise a complaint on how we have handled your personal data, you can contact our Secretary via email on [helo@autonomic.zone](mailto:helo@autonomic.zone) who will then investigate the matter.
|
||||||
|
|
||||||
|
See also our [Website Privacy Policy](/privacy) and [Terms of Service](/terms).
|
||||||
|
|
||||||
|
## Third Party Services
|
||||||
|
We use servers hosted by [Webarchitects](https://www.webarch.net/privacy-notice), [Hetzner](https://www.hetzner.com/rechtliches/datenschutz) and [Digital Ocean](https://www.digitalocean.com/legal/gdpr/) and [Gandi](https://contract.gandi.net/v5/contracts/36637/Privacy_Policy_SAS_1.1_en.pdf) for Domain names, DNS and Email, so their Data Processing Agreements may also apply.
|
||||||
|
|
||||||
|
## Contact us
|
||||||
|
If you are not satisfied with our response or believe we are processing your personal data in a way that is not in accordance with the law you can complain to the [Information Commissioner’s Office (ICO)](https://ico.org.uk/).
|
||||||
|
|
18
src/privacy.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: Website Privacy Policy
|
||||||
|
description: Privacy policy for autonomic.zone
|
||||||
|
meta_description: This is the privacy policy for the website of Autonomic co-operative.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Website Privacy Policy
|
||||||
|
|
||||||
|
## The Autonomic Co-operative Limited website privacy policy
|
||||||
|
|
||||||
|
Our Privacy Notice contains information regarding our [Data Protection Act 2018 (GDPR)](https://www.gov.uk/data-protection) compliance.
|
||||||
|
|
||||||
|
This site does not set cookies.
|
||||||
|
|
||||||
|
This site is configured to collect statistics including IP addresses via web server log files as is standard practice. The log files are kept for 28 days or less and are then deleted. We recommend you use [Tor Browser](https://www.torproject.org/) if you require greater anonymity. This site remains functional without [Javascript](https://en.wikipedia.org/wiki/JavaScript) enabled.
|
||||||
|
|
||||||
|
The source code for this website can be found [here](https://git.autonomic.zone/autonomic-cooperative/autonomic.zone).
|
62
src/terms.md
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: Terms of Service
|
||||||
|
description: Terms of Service for autonomic.zone
|
||||||
|
meta_description: This is the Terms of Service for Autonomic Co-operative Limited.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Terms of service
|
||||||
|
This document describes what activities are allowed, under what conditions we may terminate your account, and asserts our limited liability. It applies to all interactions with Autonomic Cooperative Limited. Your use of Autonomic Cooperative Limited's services constitutes your agreement to these Terms of Service.
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
If you do anything truly evil, we will terminate your account. We are not liable for any damages related to the use of these services. You agree to hold patience in your heart for the hard work we do.
|
||||||
|
|
||||||
|
## Privacy policies
|
||||||
|
We ask that you review our [Privacy Policy](/gdpr), so that you are aware of how we collect and use your information.
|
||||||
|
|
||||||
|
## Ownership of and responsibility for content
|
||||||
|
All Content, whether publicly posted or privately transmitted, is the sole responsibility of the person who originated such Content. We may not monitor or control the Content posted via the Services and we cannot take responsibility for such Content.
|
||||||
|
|
||||||
|
Any use or reliance on any Content or materials posted via the Services or obtained by you through the Services is at your own risk. You are responsible for your use of the Services, for any Content you provide, and for any consequences thereof.
|
||||||
|
|
||||||
|
### Refraining from certain activities
|
||||||
|
You may not engage in the following activities through the services provided by Autonomic Cooperative Limited:
|
||||||
|
|
||||||
|
- Harassing or abusing others by engaging in threats, stalking or sending spam. This includes usernames, aliases or using any of our resources for this purpose.
|
||||||
|
- Misuse of services by distributing viruses or malware, engaging in a denial of service attack, or attempting to gain unauthorised access to any computer system, including this one.
|
||||||
|
- Contributing to the abuse of others by distributing material where the production process created violence or sexual assault against persons.
|
||||||
|
|
||||||
|
## Account Termination
|
||||||
|
Autonomic Cooperative Limited may terminate your service at any time for any reason.
|
||||||
|
|
||||||
|
## Limitation on Liability
|
||||||
|
You agree that Autonomic Cooperative Limited is not liable to you or to any other party for any direct, indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data, or other intangible losses, regardless of whether we were advised of the possibility of such damage.
|
||||||
|
|
||||||
|
In the case that applicable law may not allow the limitation or exclusion of liability or incidental or consequential damages, the above limitation or exclusion may not apply to you, although our liability will be limited to the fullest extent permitted by applicable law.
|
||||||
|
|
||||||
|
### Choice of Forum and Law
|
||||||
|
You agree that these Terms of Service and your use of Autonomic Cooperative Limited is governed by the law of United Kingdom.
|
||||||
|
|
||||||
|
### Policy regarding copyright infringement - DMCA
|
||||||
|
Autonomic Cooperative Limited complies with the Digital Millennium Copyright Act’s notice and take-down procedures. DMCA complaints should be addressed to:
|
||||||
|
|
||||||
|
```
|
||||||
|
Autonomic Cooperative Limited
|
||||||
|
1539 Pershore Road
|
||||||
|
Birmingham
|
||||||
|
B30 2JH
|
||||||
|
United Kingdom
|
||||||
|
```
|
||||||
|
|
||||||
|
Or via email: [helo@autonomic.zone](mailto:helo@autonomic.zone)
|
||||||
|
|
||||||
|
Please note that it is Autonomic Cooperative Limited’s policy to take reasonable steps, within our power, to terminate the accounts of users who are repeat infringers in appropriate circumstances.
|
||||||
|
|
||||||
|
### No Warranty
|
||||||
|
You understand and agree that Autonomic Cooperative Limited provides online services “as is” and without any warranty, express, implied, or statutory.
|
||||||
|
|
||||||
|
We specifically disclaim any implied warranties of title, merchant-ability, fitness for a particularly purpose and non-infringement. We make no warranty as to the reliability, accessibility, or quality of our services. You agree that the use of our services is at your sole and exclusive risk.
|
||||||
|
|
||||||
|
### Changes to this policy
|
||||||
|
We reserve the right to change this policy. If we make major changes, we will notify our users in a clear and prominent manner.
|
||||||
|
|