Compare commits
103 Commits
pgp-key-up
...
policies
Author | SHA1 | Date | |
---|---|---|---|
1604a4f453
|
|||
c17eda92b5
|
|||
0b5e27e0c1
|
|||
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 | |||
da3a3a989c | |||
dcb3ada610 | |||
489315eb60 | |||
704a678de5
|
|||
5a8abd8d2b | |||
9b906cff1a | |||
0afce645e0 | |||
abe8840d2a
|
|||
1c1e51f5d6
|
|||
7bd00564f4
|
|||
39d17a1e0b
|
|||
deeecb22b9
|
|||
177cc16dde
|
|||
4b31a9364d | |||
20c1d5bf0b |
56
.drone.yml
56
.drone.yml
@ -1,37 +1,31 @@
|
||||
---
|
||||
kind: pipeline
|
||||
|
||||
name: default
|
||||
|
||||
name: deploy to swarm.autonomic.zone
|
||||
steps:
|
||||
- name: Build autonomic.zone docker image
|
||||
image: docker:stable
|
||||
volumes:
|
||||
- name: docker_sock
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- docker build --no-cache -t autonomic/autonomic.zone:drone .
|
||||
|
||||
- name: Deploy Autonomic.zone with Dokku
|
||||
image: appleboy/drone-git-push:0.2.0-linux-amd64
|
||||
- name: bundle static
|
||||
image: plugins/docker
|
||||
settings:
|
||||
remote: ssh://dokku@dokku.autonomic.zone:222/autonomic.zone
|
||||
ssh_key:
|
||||
from_secret: drone_deploy_key
|
||||
when:
|
||||
branch: master
|
||||
username:
|
||||
from_secret: docker_reg_username
|
||||
password:
|
||||
from_secret: docker_reg_passwd
|
||||
repo: decentral1se/autonomic.zone
|
||||
tags: v2.0.0
|
||||
|
||||
- name: Send notification to chat.internal.autonomic.zone
|
||||
image: rmilewski/drone-rocket:latest
|
||||
when:
|
||||
status: [success, failure]
|
||||
- name: deployment
|
||||
image: decentral1se/drone-stack:19.03.8
|
||||
settings:
|
||||
webhook:
|
||||
from_secret: rocket_chat_webhook
|
||||
channel: drone-notify
|
||||
username: drone-notifications-bot
|
||||
message:
|
||||
- value: "${DRONE_COMMIT_AUTHOR} deployed site.autonomic.zone (see [commit](${DRONE_COMMIT_LINK})) :partying_face:"
|
||||
when:
|
||||
DRONE_BUILD_STATUS: success
|
||||
- value: "[commit](${DRONE_COMMIT_LINK}) failed to deploy site.autonomic.zone (see [logs](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone/${DRONE_BUILD_NUMBER})) :confounded:"
|
||||
compose: docker-compose.prod.yml
|
||||
host: tcp://swarm.autonomic.zone:2376
|
||||
stack_name: jekyll
|
||||
tlsverify: true
|
||||
environment:
|
||||
PLUGIN_CACERT:
|
||||
from_secret: docker_cacert
|
||||
PLUGIN_CERT:
|
||||
from_secret: docker_cert
|
||||
PLUGIN_KEY:
|
||||
from_secret: docker_key
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
|
@ -4,31 +4,40 @@
|
||||
|
||||
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
|
||||
[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/
|
||||
[front matter]: https://jekyllrb.com/docs/frontmatter/
|
||||
[writing posts]: https://jekyllrb.com/docs/posts/
|
||||
[creating pages]: https://jekyllrb.com/docs/pages/
|
||||
|
||||
## Deploy It
|
||||
## Development
|
||||
|
||||
1. Push your changes to master and Dokku will try to automatically release
|
||||
1. See the [Drone dashboard to see the build](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone/)
|
||||
The prerequisites are [Docker](https://www.docker.com/) and [Docker-compose](https://docs.docker.com/compose/).
|
||||
|
||||
## Hack On It
|
||||
If you're on Debian, installing is easy.
|
||||
|
||||
The only prerequisite is [Docker](https://www.docker.com/). If you're on Debian, installing is easy.
|
||||
Install Docker.
|
||||
|
||||
```bash
|
||||
$ curl -fsSL https://get.docker.com -o get-docker.sh # have a look if you want
|
||||
$ sh get-docker.sh
|
||||
$ CHANNEL=stable sh get-docker.sh
|
||||
```
|
||||
|
||||
Fire up the container with the following.
|
||||
Install Docker-compose.
|
||||
|
||||
```bash
|
||||
$ make dockerserver
|
||||
$ cd autonomic.zone
|
||||
$ python3 -m venv .venv
|
||||
$ pip3 install -r requirements.txt
|
||||
```
|
||||
|
||||
Then fire up the container with the following.
|
||||
|
||||
```bash
|
||||
$ docker-compose up
|
||||
```
|
||||
|
||||
Then visit the locally running website.
|
||||
@ -37,9 +46,8 @@ Then visit the locally running website.
|
||||
|
||||
Then you can edit the files as normal and reload the page.
|
||||
|
||||
## Notes
|
||||
To stop the container when you're done, you can run:
|
||||
|
||||
1. For configuration, please note, we now use a `dev` environment config file:
|
||||
`_config_dev.yml`. Hence if you edit one `_config*` file and you also want
|
||||
that change to be reflected in the other environment ("dev", "prod") then
|
||||
edit the other file as well!
|
||||
```bash
|
||||
$ docker-compose stop
|
||||
```
|
||||
|
18
Dockerfile
18
Dockerfile
@ -1,15 +1,17 @@
|
||||
FROM decentral1se/jekyll:4
|
||||
FROM ruby:2.7.1-alpine
|
||||
|
||||
EXPOSE 4000
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
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}
|
||||
|
||||
COPY sbin/* /sbin/
|
||||
|
||||
RUN bundle config --global frozen 1
|
||||
|
||||
RUN bundle install
|
||||
|
||||
ENTRYPOINT ["/sbin/entrypoint.sh"]
|
||||
|
6
Gemfile
6
Gemfile
@ -1,3 +1,7 @@
|
||||
source "https://rubygems.org"
|
||||
ruby '2.6.5'
|
||||
|
||||
ruby "2.7.1"
|
||||
|
||||
gemspec
|
||||
|
||||
gem "jekyll-feed"
|
||||
|
17
Gemfile.lock
17
Gemfile.lock
@ -34,11 +34,14 @@ GEM
|
||||
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.1.0)
|
||||
kramdown (2.2.1)
|
||||
rexml
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.3)
|
||||
@ -48,13 +51,14 @@ GEM
|
||||
mercenary (0.3.6)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (4.0.3)
|
||||
rb-fsevent (0.10.3)
|
||||
public_suffix (4.0.4)
|
||||
rb-fsevent (0.10.4)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rouge (3.17.0)
|
||||
rexml (3.2.3)
|
||||
rouge (3.18.0)
|
||||
safe_yaml (1.0.5)
|
||||
sassc (2.2.1)
|
||||
sassc (2.3.0)
|
||||
ffi (~> 1.9)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
@ -67,9 +71,10 @@ DEPENDENCIES
|
||||
autonomic!
|
||||
bundler (>= 2.1.4)
|
||||
jekyll (>= 4)
|
||||
jekyll-feed
|
||||
|
||||
RUBY VERSION
|
||||
ruby 2.6.5p114
|
||||
ruby 2.7.1p83
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
|
21
Makefile
21
Makefile
@ -1,21 +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
|
||||
|
||||
dockerbuild:
|
||||
@docker build -t autonomic/autonomic.zone:testing .
|
||||
.PHONY: dockerbuild
|
||||
|
||||
dockerserver: dockerbuild
|
||||
@docker run \
|
||||
-e JEKYLL_PORT=4000 \
|
||||
-e JEKYLL_HOST=0.0.0.0 \
|
||||
-e JEKYLL_CONFIG=_config_dev.yml \
|
||||
-v $$(pwd):/usr/src/app \
|
||||
-p 4000:4000 \
|
||||
-d \
|
||||
autonomic/autonomic.zone:testing
|
||||
.PHONY: dockerserver
|
11
README.md
11
README.md
@ -2,20 +2,13 @@
|
||||
|
||||
[](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone)
|
||||
|
||||
> https://site.autonomic.zone
|
||||
> https://autonomic.zone
|
||||
|
||||
A [Jekyll] based site for the Autonomic Cooperative. The site is based on the [spectral-jekyll-theme] template.
|
||||
|
||||
[jekyll]: https://jekyllrb.com/
|
||||
[spectral-jekyll-theme]: https://github.com/andrewbanchich/spectral-jekyll-theme
|
||||
|
||||
# Deploy
|
||||
|
||||
1. Push your changes to master and Dokku will try to automatically release
|
||||
1. See the [Drone dashboard to see the build](https://drone.autonomic.zone/autonomic-cooperative/autonomic.zone/)
|
||||
|
||||
# Contribute
|
||||
|
||||
Please see [CONTRIBUTING.md] for the juicy details.
|
||||
|
||||
[contributing.md]: ./CONTRIBUTING.md
|
||||
Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for the juicy details.
|
||||
|
@ -3,16 +3,16 @@ title: Autonomic Co-operative
|
||||
email: helo@autonomic.zone
|
||||
description: Sustainability, Transparency, Privacy
|
||||
baseurl: ""
|
||||
url: ""
|
||||
url: "https://autonomic.zone"
|
||||
source: src
|
||||
destination: dist
|
||||
sass:
|
||||
sass_dir: ./assets/styles
|
||||
featured-image-source:
|
||||
500px_url:
|
||||
github_url:
|
||||
include: ["src/.well-known", "src/.nojekyll"]
|
||||
mastodon_url: https://sunbeam.city/@autonomic
|
||||
twitter_url: https://twitter.com/autonomiccoop
|
||||
gitea_url: https://git.autonomic.zone/autonomic-cooperative/
|
||||
markdown: kramdown
|
||||
permalink: pretty
|
||||
collections:
|
||||
@ -25,3 +25,5 @@ exclude:
|
||||
- vendor
|
||||
- Gemfile
|
||||
- Gemfile.lock
|
||||
plugins:
|
||||
- jekyll-feed
|
@ -1,27 +0,0 @@
|
||||
---
|
||||
title: Autonomic Co-operative
|
||||
email: helo@autonomic.zone
|
||||
description: Sustainability, Transparency, Privacy
|
||||
baseurl: ""
|
||||
url: "https://site.autonomic.zone"
|
||||
source: src
|
||||
destination: dist
|
||||
sass:
|
||||
sass_dir: ./assets/styles
|
||||
featured-image-source:
|
||||
500px_url:
|
||||
github_url:
|
||||
mastodon_url: https://sunbeam.city/@autonomic
|
||||
twitter_url: https://twitter.com/autonomiccoop
|
||||
markdown: kramdown
|
||||
permalink: pretty
|
||||
collections:
|
||||
posts:
|
||||
output: true
|
||||
permalink: /blog/:title/
|
||||
clients:
|
||||
output: false
|
||||
exclude:
|
||||
- vendor
|
||||
- Gemfile
|
||||
- Gemfile.lock
|
@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
echo $(pass show hosts/autonomic-dokku/vault/password)
|
@ -1,47 +0,0 @@
|
||||
---
|
||||
- hosts: all
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- name: Load variables
|
||||
include_vars:
|
||||
dir: "{{ dokku_lib_root }}/data/ansible/autonomic.zone/vars/"
|
||||
extensions:
|
||||
- yml
|
||||
|
||||
- name: Set HTTP 80 port proxy
|
||||
dokku_ports:
|
||||
app: autonomic.zone
|
||||
mappings:
|
||||
- "http:80:{{ http_port }}"
|
||||
state: present
|
||||
|
||||
- name: Setup LE certificates
|
||||
shell: dokku letsencrypt autonomic.zone
|
||||
args:
|
||||
creates: /home/dokku/autonomic.zone/letsencrypt/certs
|
||||
|
||||
- name: Setup LE certificates renew cron job
|
||||
shell: dokku letsencrypt:cron-job --add
|
||||
args:
|
||||
creates: /home/dokku/autonomic.zone/letsencrypt/cron-job
|
||||
|
||||
- name: Specify docker volume mounts
|
||||
dokku_storage:
|
||||
app: autonomic.zone
|
||||
mounts:
|
||||
- /home/dokku/autonomic.zone/letsencrypt/certs/current/key.pem:/etc/x509/https/tls.key
|
||||
- /home/dokku/autonomic.zone/letsencrypt/certs/current/cert.pem:/etc/x509/https/tls.crt
|
||||
|
||||
- name: Set HTTP 443 port
|
||||
dokku_ports:
|
||||
app: autonomic.zone
|
||||
mappings:
|
||||
- "https:443:{{ http_port }}"
|
||||
state: present
|
||||
|
||||
- name: Remove automatically configured ports
|
||||
dokku_ports:
|
||||
app: autonomic.zone
|
||||
mappings:
|
||||
- "http:4000:4000"
|
||||
state: absent
|
@ -1,54 +0,0 @@
|
||||
---
|
||||
- hosts: all
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- name: Load variables
|
||||
include_vars:
|
||||
dir: "{{ dokku_lib_root }}/data/ansible/autonomic.zone/vars/"
|
||||
extensions:
|
||||
- yml
|
||||
|
||||
- name: Prepare Python system dependencies
|
||||
become: true
|
||||
apt:
|
||||
name: python3-pip
|
||||
state: present
|
||||
|
||||
- name: Install dns-lexicon system wide
|
||||
become: true
|
||||
pip:
|
||||
name: ["cryptography==2.8", "dns-lexicon==3.3.19"]
|
||||
executable: /usr/bin/pip3
|
||||
state: present
|
||||
|
||||
- name: "Create {{ domain }} DNS entry"
|
||||
gandi_dns:
|
||||
gandi_rest_token: "{{ gandi_rest_token }}"
|
||||
domain: "{{ domain }}"
|
||||
ipv4: "{{ dokku_domain_ipv4 }}"
|
||||
state: present
|
||||
|
||||
- name: "Configure the {{ domain }} domain"
|
||||
dokku_domains:
|
||||
app: autonomic.zone
|
||||
domains:
|
||||
- "{{ domain }}"
|
||||
state: present
|
||||
|
||||
- name: Ensure default app configured domains go away
|
||||
dokku_domains:
|
||||
app: autonomic.zone
|
||||
domains:
|
||||
- autonomic.zone.dokku.autonomic.zone
|
||||
state: absent
|
||||
|
||||
- name: Configure the dokku app environment
|
||||
dokku_config:
|
||||
app: autonomic.zone
|
||||
restart: false
|
||||
config:
|
||||
DOKKU_LETSENCRYPT_EMAIL: "{{ autonomic_admin_mail }}"
|
||||
JEKYLL_HOST: "0.0.0.0"
|
||||
JEKYLL_PORT: "{{ http_port }}"
|
||||
JEKYLL_CONFIG: "{{ jekyll_config }}"
|
||||
JEKYLL_ENV: "{{ jekyll_env }}"
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
- src: dokku_bot.ansible_dokku
|
||||
version: v2020.3.15
|
||||
|
||||
- src: https://git.autonomic.zone/autonomic-cooperative/autonomic.gandi/archive/0.0.5.tar.gz
|
||||
name: autonomic.gandi
|
@ -1,8 +0,0 @@
|
||||
---
|
||||
ansible_python_interpreter: "/usr/bin/python3"
|
||||
autonomic_admin_mail: "helo@autonomic.zone"
|
||||
dokku_domain_ipv4: "94.130.105.60"
|
||||
domain: "autonomic.zone"
|
||||
http_port: "4000"
|
||||
jekyll_config: "_config_prod.yml"
|
||||
jekyll_env: "production"
|
@ -1,8 +0,0 @@
|
||||
---
|
||||
ansible_become_pass: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
34396236353735666531323238656533643465303131663464613162396333313836363630666266
|
||||
6539323631656635333864316166633064633366323936610a656137616334313534333635313232
|
||||
35323561303763366563316631313638363333393763323935343563303963616334336639386462
|
||||
3837383830616637360a373539613630356564363662393836366462666430353439353637303035
|
||||
63396633303166343433313439303539313637306637663137313533316531616434
|
@ -1,8 +0,0 @@
|
||||
---
|
||||
gandi_rest_token: !vault |
|
||||
$ANSIBLE_VAULT;1.1;AES256
|
||||
65653461333739626564356366313338613561396163383161633561373736626138306633353261
|
||||
3230376530616361343063346533633464643165643739310a303965353336353063353564643263
|
||||
37396139643161346265616630633530353866356338386134383565363238393932666565663163
|
||||
3831393731353735350a313235376463643439363833616263653637623363386532636132366662
|
||||
65313835306637323066396232653166313262613333633061313266363338646334
|
5
app.json
5
app.json
@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "autonomic.zone",
|
||||
"description": "Autonomics website on the world wide web",
|
||||
"repository": "https://git.autonomic.zone/autonomic-cooperative/autonomic.zone"
|
||||
}
|
@ -2,13 +2,13 @@
|
||||
|
||||
Gem::Specification.new do |spec|
|
||||
spec.name = "autonomic"
|
||||
spec.version = '0.0.0'
|
||||
spec.date = '2017-09-24'
|
||||
spec.version = "0.0.0"
|
||||
spec.date = "2017-09-24"
|
||||
spec.summary = ""
|
||||
spec.description = ""
|
||||
spec.authors = ['autonomic co-operative']
|
||||
spec.email = 'autonomic.posteo.net'
|
||||
spec.files = 'README.md'
|
||||
spec.authors = ["autonomic co-operative"]
|
||||
spec.email = "autonomic.posteo.net"
|
||||
spec.files = "README.md"
|
||||
|
||||
spec.add_development_dependency "jekyll", ">= 4"
|
||||
spec.add_development_dependency "bundler", ">= 2.1.4"
|
||||
|
31
docker-compose.prod.yml
Normal file
31
docker-compose.prod.yml
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
jekyll:
|
||||
image: decentral1se/autonomic.zone:v2.0.0
|
||||
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"
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
11
docker-compose.yml
Normal file
11
docker-compose.yml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
version: "3.7"
|
||||
|
||||
services:
|
||||
jekyll:
|
||||
image: "jekyll/jekyll:4"
|
||||
command: jekyll serve --watch --force_polling --trace
|
||||
volumes:
|
||||
- ".:/srv/jekyll"
|
||||
ports:
|
||||
- "4000:4000"
|
@ -1 +1 @@
|
||||
ansible==2.9.6
|
||||
docker-compose==1.25.5
|
||||
|
@ -1,15 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
# Usage
|
||||
# ./encrypt.sh mysecretname mysecretvalue
|
||||
|
||||
declare name="$1"
|
||||
declare secret="$2"
|
||||
|
||||
ansible-vault \
|
||||
encrypt_string \
|
||||
--vault-password-file ansible/.vault.sh \
|
||||
--name "$name" \
|
||||
"$secret"
|
@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
# Fire up Jekyll with the right configuration
|
||||
run_jekyll() {
|
||||
set -eu
|
||||
|
||||
bundle exec jekyll serve \
|
||||
--config "$JEKYLL_CONFIG" \
|
||||
--host "$JEKYLL_HOST" \
|
||||
--port "$JEKYLL_PORT" \
|
||||
--trace \
|
||||
--verbose
|
||||
}
|
||||
|
||||
# Main entrypoint
|
||||
main() {
|
||||
set -eu
|
||||
|
||||
run_jekyll
|
||||
}
|
||||
|
||||
main
|
0
src/.nojekyll
Normal file
0
src/.nojekyll
Normal file
3
src/.well-known/autonomic.zone/matrix/server
Normal file
3
src/.well-known/autonomic.zone/matrix/server
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"m.server": "matrix.autonomic.zone:443"
|
||||
}
|
@ -4,36 +4,44 @@
|
||||
<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:
|
||||
<a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></br></br>
|
||||
<a href="{{ '/assets/pgp/autonomic-key.asc' | relative_url }}">PGP key:</a>
|
||||
<code id="fingerprint">82FC 87C5 1A71 902F DC10 2CF5 4F90 D55B B24B 1147</code>
|
||||
Contact us to discuss your project's needs and arrange a consultation:</br>
|
||||
<b><a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></b></br></br>
|
||||
<b><a href="{{ '/assets/pgp/autonomic-key.asc' | relative_url }}">Download PGP key</a></b></br>
|
||||
<a href= "https://git.autonomic.zone/autonomic-cooperative/autonomic.zone/src/branch/master/src/assets/pgp"> Verify fingerprint:</a><code id="fingerprint">82FC 87C5 1A71 902F DC10 2CF5 4F90 D55B B24B 1147</code>
|
||||
|
||||
<ul class="icons" style="margin-bottom: 0; padding-top: 1em">
|
||||
<li>
|
||||
<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">
|
||||
<!-- This SVG needs to be changed if you change the colour scheme as it is a massive hack. -->
|
||||
<img alt="rss" style="height: 2rem;color: #fff" src="{{ '/assets/svg/rss-square-solid.svg' | absolute_url }}">
|
||||
</a>
|
||||
</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 rel="me" href="{{ site.mastodon_url }}" style="border-bottom: none">
|
||||
<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>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="copyright">
|
||||
<object style="height: 1.2rem; vertical-align: text-bottom;" type="image/svg+xml" data="{{ '/assets/svg/creative-commons-brands.svg' | absolute_url }}">
|
||||
Your browser does not support SVG
|
||||
</object>
|
||||
{{ site.title }}
|
||||
</div>
|
||||
<div class="cotech-box">
|
||||
<a href="https://www.coops.tech/">
|
||||
<img class="cotech-logo" src="{{ '/assets/images/CoTech-white-logo.png' | relative_url }}" alt="CoTech"/>
|
||||
<span class="cotech-text">Member of the Cotech Network</span>
|
||||
<b><span class="cotech-text">Member of the Cotech Network</span></b>
|
||||
</a>
|
||||
</div>
|
||||
<div style="vertical-align: bottom;">
|
||||
@ -43,8 +51,14 @@
|
||||
Birmingham</br>
|
||||
B30 2JH</br>
|
||||
United Kingdom</br>
|
||||
</address>
|
||||
</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/index.html' | absolute_url }}">Privacy Policy</a> - <a href="{{ '/terms/index.html' | absolute_url }}">Terms of Service</a> - <a href="{{ '/gdpr/index.html' | absolute_url }}">GDPR</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
@ -2,10 +2,11 @@
|
||||
<section id="three" class="wrapper style6 special">
|
||||
<div class="inner">
|
||||
<header class="major">
|
||||
<h2>Cooperative Cloud: For Organisations</h2>
|
||||
<h2>Cooperative Cloud Infrastructure</h2>
|
||||
<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>
|
||||
<h3><a href="mailto:helo@autonomic.zone">helo@autonomic.zone</a></h3>
|
||||
</header>
|
||||
<ul class="features">
|
||||
<li class="features-item">
|
||||
|
52
src/_posts/2020-04-23-dat-py.md
Normal file
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/
|
BIN
src/assets/images/2020-04-23-dat-protocol.png
Normal file
BIN
src/assets/images/2020-04-23-dat-protocol.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 KiB |
36
src/assets/svg/Gitea_Logo.svg
Normal file
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/rss-square-solid.svg
Normal file
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 |
29
src/gdpr.md
Normal file
29
src/gdpr.md
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
layout: default
|
||||
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 General Data Protection Regulation 2016 (GDPR) Privacy Notice.
|
||||
|
||||
Our purpose is to provide secure services for socially responsible and progressive groups and individuals.
|
||||
|
||||
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. 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 [ICO guidance](https://ico.org.uk/for-organisations/guide-to-the-general-data-protection-regulation-gdpr/accountability-and-governance/data-protection-officers/) on this.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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 [helo@autonomic.zone](helo@autonomic.zone) who will investigate the matter.
|
||||
|
||||
See also our website privacy policy.
|
||||
|
||||
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 also apply.
|
||||
|
||||
If you are not satisfied with our response or believe we are processing your personal data not in accordance with the law you can complain to the Information Commissioner’s Office (ICO).
|
||||
|
16
src/privacy.md
Normal file
16
src/privacy.md
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: default
|
||||
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 General Data Protection Regulation 2016 (GDPR) compliance.
|
||||
|
||||
This site does not set cookies. The source code for this website can be [found here](https://git.autonomic.zone/autonomic-cooperative/autonomic.zone).
|
||||
|
||||
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://torproject.org/) if you require great anonymity. Our website is still functional without JavaScript enabled.
|
68
src/terms.md
Normal file
68
src/terms.md
Normal file
@ -0,0 +1,68 @@
|
||||
---
|
||||
layout: default
|
||||
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 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 this service. You agree to hold patience in your heart for the hard work we do.
|
||||
|
||||
## Privacy policies
|
||||
|
||||
We ask that you review our Privacy Policy, 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 unauthorized 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. Typically, however, accounts are destroyed because of one of the following conditions:
|
||||
|
||||
- The account has been found to be sending Spam (excessive amounts of unsolicited email).
|
||||
- The account has engaged one or more of the banned activities listed above.
|
||||
|
||||
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
|
||||
|
||||
[mailto:helo@autonomic.zone](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, merchantability, fitness for a particularly purpose and 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.
|
||||
|
Reference in New Issue
Block a user