Compare commits

...

131 Commits

Author SHA1 Message Date
5de347550b initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-10 16:50:48 +02:00
077b0e801d initial commit
Some checks are pending
continuous-integration/drone/push Build is running
2021-09-10 16:50:00 +02:00
69f957e46a initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-10 16:47:23 +02:00
92e02c856b initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-10 16:46:43 +02:00
097d2dc2d1 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-10 16:44:25 +02:00
d4e93f3dc7 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-10 16:43:24 +02:00
fad304521b initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-10 16:37:39 +02:00
f52e1c10bc initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-10 16:35:19 +02:00
d8ea386388 initial commit 2021-09-10 16:34:14 +02:00
466c30dde6 initial commit 2021-09-10 16:32:55 +02:00
7a8a74f7ec initial commit 2021-09-10 16:31:54 +02:00
ba42ac52b8 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-10 11:00:04 +02:00
7468a242a4 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-10 10:56:47 +02:00
cbd3eac827 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-10 10:50:49 +02:00
029a3197b0 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-10 10:50:22 +02:00
becd731912 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 15:18:45 +02:00
38ebcd3084 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 15:17:36 +02:00
317f6772e9 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 15:06:58 +02:00
b273ef0785 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 15:05:30 +02:00
e6fc23fb52 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 15:05:15 +02:00
ca2aea93e1 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 15:04:57 +02:00
706e916d92 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 15:04:18 +02:00
ce1890fa34 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:59:48 +02:00
4193af75fc initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:59:40 +02:00
9effe13a7d initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:53:17 +02:00
0d3a08a0c0 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:53:00 +02:00
3db462229d initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:48:14 +02:00
5be61dae6b initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:45:02 +02:00
6d3f43fe9f initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:44:43 +02:00
fea3aa0d08 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:44:15 +02:00
71e301154d initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:43:50 +02:00
621273c988 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:42:32 +02:00
eb38948134 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:40:45 +02:00
b5326b8412 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:40:09 +02:00
5c1126d493 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:39:39 +02:00
859a90e149 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:37:50 +02:00
ade5d19e45 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:37:25 +02:00
06439fd958 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:36:46 +02:00
3d12753c3b initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:35:48 +02:00
35aaf2b703 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:35:07 +02:00
0a38dc1a28 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:34:46 +02:00
6d014b55b7 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:34:00 +02:00
51563f932c initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:33:32 +02:00
141f360387 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:32:56 +02:00
aed8156c81 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:32:26 +02:00
255fcb0dc1 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:31:57 +02:00
427d136048 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:31:39 +02:00
35225919c8 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:31:17 +02:00
bd87cfbde2 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:30:51 +02:00
9c253348ab initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:29:42 +02:00
a950c7fbfd initial commit
Some checks are pending
continuous-integration/drone/push Build is running
2021-09-09 14:29:28 +02:00
1d649a7913 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 14:26:10 +02:00
6f001937de initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 14:23:34 +02:00
f6b56015c1 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 13:38:17 +02:00
fc8c533c26 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 13:15:34 +02:00
1b0a78517c initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 13:03:39 +02:00
b6f19f4dd4 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:59:01 +02:00
2a2f146a24 initial commit
Some checks are pending
continuous-integration/drone/push Build is running
2021-09-09 12:58:06 +02:00
36c29ae557 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:57:50 +02:00
8bd8cfd5f4 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 12:54:11 +02:00
d04bd06ebe initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 12:53:19 +02:00
bad85adb4a initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:52:15 +02:00
fa7f8c42aa initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:50:21 +02:00
eb175b0eb2 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:50:13 +02:00
16c526634c initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:48:54 +02:00
4904215464 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:40:15 +02:00
33b5ce0499 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:38:07 +02:00
e7a1cc1dec initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:36:12 +02:00
0e2aa4429d initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 12:01:53 +02:00
bdd9664f60 initial commit
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2021-09-09 12:00:11 +02:00
cf25811ff1 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:55:04 +02:00
4e67931400 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:51:52 +02:00
ddc1c69c06 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:51:13 +02:00
2d10670d56 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:50:55 +02:00
dafd9e20c7 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:49:30 +02:00
e720c771ff initial commit 2021-09-09 11:48:50 +02:00
1974152a7f initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:44:45 +02:00
ad5b76116a initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:44:13 +02:00
b4c4aa4c64 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:42:30 +02:00
55e59c183f initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:13:35 +02:00
767413c4bd initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:13:23 +02:00
009963fe0f initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:13:09 +02:00
605ad5053a initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:08:32 +02:00
85cd2abb3b initial commit
Some checks are pending
continuous-integration/drone/push Build is running
2021-09-09 11:08:20 +02:00
d9ab180b90 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 11:05:21 +02:00
a30001228d initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-09 10:58:40 +02:00
d401e475ea initial commit 2021-09-09 10:36:46 +02:00
b77bdeaa3d initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-09 10:36:28 +02:00
d9a2b8cfaf initial commit
Some checks are pending
continuous-integration/drone/push Build is running
2021-09-09 10:34:50 +02:00
212e5f71ab initial commit 2021-09-09 10:31:06 +02:00
8432789521 initial commit 2021-09-09 10:30:45 +02:00
a6f3623b36 initial commit 2021-09-09 10:30:20 +02:00
f7090510b1 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-08 23:57:10 +02:00
66ef92ab55 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-08 23:54:20 +02:00
0212098e2d initial commit
Some checks are pending
continuous-integration/drone/push Build is running
2021-09-08 23:51:23 +02:00
fd8c05d670 initial commit 2021-09-08 23:50:24 +02:00
f1b7c210f0 initial commit 2021-09-07 18:51:50 +02:00
355b953c83 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-04 14:52:51 +02:00
c285ff4fb2 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-04 14:52:03 +02:00
d890a82558 initial commit
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-04 14:47:12 +02:00
2b34f97d8c initial commit 2021-09-04 14:46:47 +02:00
a982ef8b44 initial commit 2021-09-04 14:46:38 +02:00
bb7bc29974 initial commit 2021-09-04 14:46:02 +02:00
6eaa63e641 initial commit 2021-09-04 14:45:35 +02:00
088c60a8c3 initial commit 2021-09-04 14:45:10 +02:00
345301e6e7 initial commit 2021-09-04 14:44:52 +02:00
2b543aa802 initial commit 2021-09-04 14:44:33 +02:00
1fa93b9259 initial commit 2021-09-04 14:42:14 +02:00
c936863033 initial commit 2021-09-04 14:41:56 +02:00
9d6a641b0e initial commit 2021-09-04 14:41:45 +02:00
02289b3d22 initial commit 2021-09-04 14:41:30 +02:00
4d8c545b7a initial commit 2021-09-04 14:41:17 +02:00
0c25f8043a initial commit 2021-09-04 14:41:09 +02:00
02a8e6cdfe initial commit 2021-09-04 14:40:51 +02:00
c850e10721 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-04 14:39:14 +02:00
c938e633ef initial commit
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2021-09-04 14:38:47 +02:00
9bb0044130 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-04 14:34:25 +02:00
7600c45175 initial commit 2021-09-04 14:33:17 +02:00
c6ba9ac150 initial commit 2021-09-04 14:32:47 +02:00
76b26c9c32 initial commit 2021-09-04 14:32:22 +02:00
364fac4738 initial commit 2021-09-04 14:32:12 +02:00
c1506a436d initial commit 2021-09-04 14:29:59 +02:00
5699b3ba1f initial commit 2021-09-04 14:28:28 +02:00
3b7dd0552f initial commit 2021-09-04 14:23:50 +02:00
07482cbd9e initial commit 2021-09-04 14:23:20 +02:00
ceea046203 initial commit 2021-09-04 14:21:58 +02:00
a336f35ca0 Merge branch 'master' of https://git.sthope.dev/sthope/website
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-04 14:21:14 +02:00
23dc363646 initial commit 2021-09-04 14:20:52 +02:00
0506f02b43 initial commit
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-04 02:52:02 +02:00
055f2169dc Merge branch 'master' of https://git.sthope.dev/sthope/website
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-04 02:27:37 +02:00
210549bc05 initial commit 2021-09-04 02:27:30 +02:00
43 changed files with 616 additions and 72 deletions

View File

@ -6,8 +6,7 @@ clone:
disable: false
steps:
- name: testing-jekyll
pull: always
- name: testing
image: jekyll/jekyll:latest
commands:
- touch Gemfile.lock
@ -18,24 +17,39 @@ steps:
- bundle install
- bundle exec jekyll build
- name: ssh commands
- name: deploying
image: appleboy/drone-ssh
settings:
host:
host:
from_secret: homelab_host
username:
from_secret: homelab_user
key:
from_secret: homelab_pwd
port: 22
from_secret: homelab_key
port:
from_secret: homelab_port
script:
- bash ~/scripts/sthopedevupdate
- bash /scripts/ssh_website_pull
when:
status:
- success
- name: semantic-release
image: cenk1cenk2/drone-semantic-release
settings:
semantic_release: true
git_method: cr
git_user_name:
from_secret: user_gitea
git_user_email:
from_secret: email_gitea
git_login:
from_secret: user_gitea
git_password:
from_secret: gitea_token
update_readme_toc: true
- name: discord
pull: always
image: appleboy/drone-discord
avatar_url: "https://git.sthope.dev/sthope/drone_test/raw/branch/master/rick.png"
environment:
@ -61,16 +75,19 @@ steps:
```
🌐 <{{ build.link }}>
{{/success}}
# when:
# event:
# - push
# - tag
# - pull_request
# - deployment
# status:
# - changed
# - failure
# - success
when:
status:
- failure
# # when:
# # event:
# # - push
# # - tag
# # - pull_request
# # - deployment
# # status:
# # - changed
# # - failure
# # - success

72
.releaserc Normal file
View File

@ -0,0 +1,72 @@
---
branch: master
preset: "angular"
tagFormat: "${version}"
plugins:
- "@semantic-release/commit-analyzer"
- "@semantic-release/release-notes-generator"
- "@semantic-release/changelog"
- "@semantic-release/git"
- "@semantic-release/github"
verifyConditions:
- '@semantic-release/git'
- "@semantic-release/github"
analyzeCommits:
- path: "@semantic-release/commit-analyzer"
releaseRules:
- type: "feat"
release: "patch"
- type: "hotfix"
release: "patch"
- type: "patch"
release: "patch"
- type: "minor"
release: "minor"
- type: "breaking"
release: "major"
generateNotes:
- path: "@semantic-release/release-notes-generator"
writerOpts:
groupBy: "type"
commitGroupsSort:
- "feat"
- "perf"
- "fix"
commitsSort: "header"
types:
- type: "feat"
- section: "Features"
# Tracked bug fix with a hotfix branch
- type: "hotfix"
- section: "Bug Fixes"
# Uninmportent fix (CI testing, etc)
- type: "fix"
- hidden: true
- type: "chore"
- hidden: true
- type: "docs"
- hidden: true
- type: "doc"
- hidden: true
- type: "style"
- hidden: true
- type: "refactor"
- hidden: true
- type: "perf"
- hidden: true
- type: "test"
- hidden: true
presetConfig: true
prepare:
- path: "@semantic-release/git"
- path: "@semantic-release/changelog"
changelogFile: "docs/CHANGELOG.md"
publish:
- path: "@semantic-release/github"
success:
- "@semantic-release/github"
fail:
- "@semantic-release/github"

View File

@ -16,7 +16,7 @@ permalink: /404.html
<div class="error-text">
<a href="{{ site.baseurl }}/">Home</a> |
<a href="{{ site.baseurl }}/by-year/">All Posts</a> |
<a href="{{ site.baseurl }}/by-year">All Posts</a> |
<a href="{{ site.baseurl }}/search/">Search</a>
</div>

View File

@ -1,3 +1,9 @@
# [Sthope.dev](https://www.Sthope.dev)
[![Build Status](https://drone.sthope.dev/api/badges/sthope/website/status.svg)](https://drone.sthope.dev/sthope/website)
[![Build Status](https://drone.sthope.dev/api/badges/sthope/website/status.svg)](https://drone.sthope.dev/sthope/website)
Installing Drone-CLI
```
curl -L https://github.com/drone/drone-cli/releases/latest/download/drone_linux_amd64.tar.gz | tar zx;sudo install -t /usr/local/bin drone
```

View File

@ -1,5 +1,5 @@
- name: tuya_doorlock
- name: randompwd
- name: randomport
- name: mqtt-broker
- name: dckrtmplt
tuya_doorlock:
randompwd:
randomport:
mqtt-broker:
dckrtmplt:

View File

@ -0,0 +1,79 @@
---
layout: post
title: "SSH Keys"
description: ""
author: sthope
image:
categories: [ ssh, ssh keys ]
comments: true
---
Generate a long random password with:
```
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1
```
Replace `very_long_secret` with the long generated password and replace `/opt/.certs/service` with the location for your keys and the name (different name for each key "service")
Default generally is `~/.ssh/id_rsa`, you can omit `-f "/opt/.certs/service"` if you don't want to choose it.
```
ssh-keygen -t rsa -b 4096 -f "/opt/.certs/service" -C "Private Key Comment"
```
Key should be created along also with .pub key
```
eval $(ssh-agent -s)
ssh-add /opt/.certs/service
ssh-copy-id -i /opt/.certs/service USERNAME@IP -p PORT
```
Login one last time using your old username and password and remember to disable them or remove them.
<br>
After that you can login into the host with:
```
ssh -i /opt/.certs/service -p PORT USERNAME@IP
```
<br>
Or you can go little further and create file:
```
sudo nano /etc/ssh/ssh_config.d/myssh.conf
```
<br>
With:
```
Host 192.168.1.*
AddKeysToAgent yes
IdentityFile /opt/.certs/service
Port 22
Host service.local 192.168.1.2
User USERNAME
HostName 192.168.1.2
### Github.com
# don't forget to add the .pub key into your profile
Host github.com
User git
Hostname github.com
AddKeysToAgent yes
IdentityFile /opt/.certs/github
### Gitea
# don't forget to add the .pub key into your profile
Host gitea.com
User git
Hostname gitea.com
AddKeysToAgent yes
IdentityFile /opt/.certs/gitea
### Gitlab
# don't forget to add the .pub key into your profile
Host gitlab.com
User git
Hostname gitlab.com
AddKeysToAgent yes
IdentityFile /opt/.certs/gitlab
```
Now you should be able to connect using `ssh service` or ssh git clone your repos from respective git repository
Test if it's working with: ```ssh -T git@github.com```

View File

@ -4,8 +4,8 @@
<ul class="pages">
<li><a href="{{ site.baseurl }}/"><i class="fa fa-home"></i> Home</a></li>
<li><a href="{{ site.baseurl }}/by-year/"><i class="fa fa-archive"></i> All Posts</a></li>
<li><a href="https://git.sthope.dev/sthope/docker_portainer_stacks" target="_blank"><i class="fas fa-cubes"></i> Portainer Stacks</a></li>
<li><a href="{{ site.baseurl }}/by-year"><i class="fa fa-archive"></i> All Posts</a></li>
<li><a href="https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks" target="_blank"><i class="fas fa-cubes"></i> Portainer Stacks</a></li>
<li><a href="https://git.sthope.dev/sthope?tab=&sort=recentupdate&q=proxmox" target="_blank"><i class="fab fa-product-hunt"></i> Proxmox LXC's</a></li>
<li><a href="{{ site.baseurl }}/dockercontainers"><i class="fab fa-docker"></i> My Docker Containers</a></li>
<li><a href="{{ site.baseurl }}/search/"><i class="fa fa-search"></i> Search</a></li>

View File

@ -45,7 +45,7 @@ layout: default
<ul style="list-style-type:upper-roman">
{% for item in site.data.mydockercontainers %}
<li>
<a href="https://github.com/users/Sthopeless/packages/container/package/{{ item.name }}" target="_blank"> {{ item.name }}</a>
<a href="https://github.com/users/Sthopeless/packages/container/package/{{ item }}" target="_blank"> {{ item }}</a>
</li>
{% endfor %}
</ul>

View File

@ -19,4 +19,8 @@ This website is a documentation of my adventures with electronics in general. Th
```
Hello and welcome to my website, where I explorer the world of electronics and technology.
Hello and welcome to my website, where I explorer the world of electronics and technology.
He said "You are the chosen one, the one who will deliver the message, a message of hope for those who choose to hear it and a warning for those who do not."
Me, the chosen one, they chose me and I didn't even graduate from fuckin' high school

View File

@ -0,0 +1,63 @@
---
layout: post
title: "Jekyll Docker Website"
description: ""
author: sthope
image:
categories: [ Docker, Jekyll ]
comments: true
---
# Portainer Stack
```yaml
---
version: "3.8"
services:
jekyll:
image: "jekyll/jekyll:latest"
container_name: "jekyll"
hostname: "jekyll"
command: "jekyll serve --force_polling"
network_mode: "bridge"
environment:
- "TZ=Europe/Amsterdam"
volumes:
- "/edit/this:/srv/jekyll"
ports:
- "4000:4000"
restart: "unless-stopped"
volumes:
jekyll:
external: false
```
Create folder with eg: ```mkdir -p ~/jekyll``` and change the Volume
# Portainer Stack with Volumes
```yaml
---
version: "3.8"
services:
jekyll:
image: "jekyll/jekyll:latest"
container_name: "jekyll"
hostname: "jekyll"
command: "jekyll serve --force_polling"
network_mode: "bridge"
environment:
- "TZ=Europe/Amsterdam"
volumes:
- "jekyll:/srv/jekyll"
ports:
- "4000:4000"
restart: "unless-stopped"
volumes:
jekyll:
external: false
```
** Good for testing, not recommended for production. **
```
sudo docker exec -it jekyll /bin/sh -c 'jekyll new /srv/jekyll/ --blank --force'
```
Send this from the terminal to initiate a blank website.

View File

@ -7,7 +7,7 @@ image: "dockergithub.png"
categories: [ Docker, Github ]
github_create_token: 'https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token#creating-a-token'
github_auth: 'https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry'
docker_tempalte_repo: 'https://github.com/Sthopeless/dckrtmplt'
docker_template_repo: 'https://github.com/Sthopeless/dckrtmplt'
comments: true
---
@ -29,7 +29,7 @@ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
## Setup container files
1. [Download this repository]({{page.docker_tempalte_repo}})
1. [Download this repository]({{page.docker_template_repo}})
2. Open terminal, go to the repo location (eg: ~/Documents/dckrtmplt) and do:
```
docker build -t dckrtmplt . ; \

View File

@ -12,7 +12,7 @@ doublecmd_dark: "https://doublecmd.sourceforge.io/gallery/images/MainWindowDark.
---
![logo]({{page.logo}})
<h2><a href="https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/doublecommander.yml" target="_blank">Portainer Stack</a></h2>
<h2><a href="https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/doublecommander.yml" target="_blank">Portainer Stack</a></h2>
```
---
version: "3.8"

View File

@ -7,7 +7,7 @@ image: "firefox.png"
categories: [ Docker, Portainer, Stack, LinuxServer ]
comments: true
logo: "/assets/images/doublecommander.png"
stack: "https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/firefox.yml"
stack: "https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/firefox.yml"
---
<h2><a href="{{page.stack}}" target="_blank">Portainer Stack</a></h2>
@ -42,7 +42,7 @@ volumes:
<br>
Use `Repository URL`:
```
https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/firefox.yml
https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/firefox.yml
```
<br>
<br>

View File

@ -6,8 +6,8 @@ author: sthope
image:
categories: [ Docker, Portainer, Stack, LinuxServer, HTPC ]
comments: true
env_file: https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/htpc/config.env
stack_file: https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/htpc/docker-compose.yml
env_file: https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/htpc/config.env
stack_file: https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/htpc/docker-compose.yml
htpc_example: /assets/images/htpc_example.png
---
***Containers:***
@ -32,7 +32,7 @@ Download or copy the contents from [this file]({{page.env_file}}) and edit with
![example]({{page.htpc_example}})
**Repository URL:** <br>
```https://git.sthope.dev/sthope/docker_portainer_stacks``` <br>
```https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks``` <br>
**Compose path:** <br>
```htpc/docker-compose.yml``` <br>
<br>

View File

@ -5,7 +5,7 @@ description: "Docker NGINX & Authelia"
author: sthope
image: "nginx-logo.png"
categories: [ Docker, NGINX, LinuxServer ]
env_file: https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/nginx/nginx.env
env_file: https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/nginx/nginx.env
comments: true
---

View File

@ -46,8 +46,8 @@ Now you should be able to send your command from the terminal, the file name is
<h2 id="part5">Extra</h2>
SSH without asking for password.<br>
Create file named `sshnopwd` and paste the [contents of this file](https://git.sthope.dev/sthope/sthope_website_examples/raw/branch/master/custom-cmds-in-ubuntu/bin_examples/sshnopwd)<br>
Create file named `sshnopwd` and paste the [contents of this file](https://git.sthope.dev/sthope/sthope-examples/src/branch/master/custom-cmds-in-ubuntu/bin_examples/sshnopwd)<br>
now instead of using `ssh username@ip` and then entering password, simply run `sshnopwd password username@ip` and it will automatically login.<br>
Small collection with more examples can be found [here](https://git.sthope.dev/sthope/sthope_website_examples/src/branch/master/custom-cmds-in-ubuntu/bin_examples)
Small collection with more examples can be found [here](https://git.sthope.dev/sthope/sthope-examples/src/branch/master/custom-cmds-in-ubuntu/bin_examples)

View File

@ -20,7 +20,7 @@ pic12: "/assets/images/portainer_stacks/12.jpg"
pic13: "/assets/images/portainer_stacks/13.jpg"
pic14: "/assets/images/portainer_stacks/14.jpg"
pic15: "/assets/images/portainer_stacks/15.jpg"
stack_example: "https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/libreoffice.yml"
stack_example: "https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/libreoffice.yml"
comments: true
---
### Installling Portainer

View File

@ -6,11 +6,11 @@ author: sthope
image: samba-logo.png
comments: true
categories: [ Docker, Samba, Portainer, Stacks ]
samba_repo: "https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/samba"
env_file: "https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/samba/config.env"
dockercompose: "https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master/samba/samba.yml"
samba_repo: "https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/samba"
env_file: "https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/samba/config.env"
dockercompose: "https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master/samba/samba.yml"
samba_portainer_example: "/assets/images/samba_example.png"
repository_url: "https://git.sthope.dev/sthope/docker_portainer_stacks/src/branch/master"
repository_url: "https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/src/branch/master"
compose_path: "samba/samba.yml"
---

View File

@ -53,7 +53,7 @@ Save and reboot, system should now automatically login into the new user instead
<br>
1-Line command, replace Username and Password with your details and run:
```
bash -c "$(wget -qLO - https://git.sthope.dev/sthope/sthope_website_examples/raw/branch/master/custom-cmds-in-ubuntu/bin_examples/proxmox_addnewuser)" Username Password
bash -c "$(wget -qLO - https://git.sthope.dev/sthope/sthope-examples/src/branch/master/custom-cmds-in-ubuntu/bin_examples/proxmox_addnewuser)" Username Password
```
It will Update & Upgrade system, install sudo, create Username with Password provided and give new created User `sudo` and `docker` permissions.

View File

@ -0,0 +1,39 @@
---
layout: post
title: "Portainer Agent"
description: "Connection multiple Docker Hosts in one Portainer instance"
author: sthope
image:
categories: [ Docker, Portainer, Portainer Agent ]
comments: true
pic01: "/assets/images/portainer-agent/1.jpg"
pic02: "/assets/images/portainer-agent/2.jpg"
pic03: "/assets/images/portainer-agent/3.jpg"
pic04: "/assets/images/portainer-agent/4.jpg"
---
# Portainer Edge Agent
<br>
Open `Endpoints` tab on Portainer:
```
http://Portainer_IP:9000/#!/endpoints
```
![pic01]({{page.pic01}})
<br>
1. Select `Edge Agent`.
2. Give it a `Name` (generally hostname of the instance you are adding).
3. `Portainer server URL` is the url of your Portainer: http://Portainer_IP:9000
![pic02]({{page.pic02}})
<br>
<br>
Copy `EDGE_ID` and `EDGE_KEY`
![pic03]({{page.pic03}})
![pic04]({{page.pic04}})
<br>
On the terminal of host you are going to add to Portainer send:
```
bash -c "$(wget -qLO - https://git.sthope.dev/sthope/sthope-examples/src/branch/master/docker_portainer_stacks/raw/branch/master/portainer/install-portainer-agent)" EDGE_ID EDGE_KEY
```
Replace `EDGE_ID` and `EDGE_KEY` with ones given by Portainer

View File

@ -0,0 +1,56 @@
---
layout: post
title: "Openssh-server Docker Container"
description: ""
author: sthope
image:
categories: [ Docker, Portainer, SSH ]
comments: true
---
First create openssh-server configuration folders:
```
mkdir -p ~/docker/openssh-server/{config,ssh}
```
<br>
Portainer Stack:
```yaml
---
version: "3.8"
services:
openssh-server:
image: ghcr.io/linuxserver/openssh-server:latest
container_name: openssh-server
hostname: my_server
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Amsterdam
- DOCKER_MODS=linuxserver/mods:openssh-server-rsync|linuxserver/mods:openssh-server-openssh-client|linuxserver/mods:openssh-server-git
- PUBLIC_KEY_FILE=~/docker/openssh-server/ssh
- PASSWORD_ACCESS=false
- SUDO_ACCESS=true
volumes:
- ~/docker/openssh-server/config:/config
- ~/docker/openssh-server/ssh:/root/.ssh
- ~/docker:/my_server
ports:
- 2222:2222
restart: unless-stopped
```
After is running configure your ssh keys, you can generate new ones with command:
```
docker run --rm -it --entrypoint /keygen.sh linuxserver/openssh-server
```
And after keys are configured you can ssh with:
```
ssh -i /root/.ssh/your_key -p PORT USERNAME@IP
```
And from your Docker terminal you can enter the container with:
```
docker exec -it openssh-server /bin/bash
```

View File

@ -1,22 +0,0 @@
---
layout: post
title: "SSH Keys"
description: ""
author: sthope
image:
categories: [ ssh, ssh keys ]
comments: true
---
Generate a long random password with:
```
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1
```
Replace `very_long_secret` with the long generated password and replace `/opt/.certs/service` with the location for your keys and the name (different name for each key "service")
Default generally is `~/.ssh/id_rsa`, you can omit `-f "/opt/.certs/service"` if you don't want to choose it.
```
ssh-keygen -t rsa -b 4096 -f "/opt/.certs/service" -C "Hopeless Automations"
```

View File

@ -0,0 +1,98 @@
---
layout: post
title: "Portainer OAuth Authentication"
description: "Login into Portainer using your Github account or even better.. your private Gitea account (with 2FA)"
author: sthope
image:
categories: [ Docker, Portainer, OAuth ]
comments: true
pic01: "/assets/images/portainer_oauth/1.png"
pic02: "/assets/images/portainer_oauth/2.png"
pic03: "/assets/images/portainer_oauth/3.png"
pic04: "/assets/images/portainer_oauth/4.png"
pic05: "/assets/images/portainer_oauth/5.png"
pic06: "/assets/images/portainer_oauth/6.png"
pic07: "/assets/images/portainer_oauth/7.png"
pic08: "/assets/images/portainer_oauth/8.png"
pic09: "/assets/images/portainer_oauth/9.png"
pic10: "/assets/images/portainer_oauth/10.png"
---
# Github
Login into Github and go to https://github.com/settings/profile on the right side menu near the end enter `Developer settings` and select `OAuth Apps`
<img src="{{page.pic02}}"/>
<img src="{{page.pic03}}"/>
<br>
<br>
Create your app details
<img src="{{page.pic04}}"/>
`Application name`: Whatever you wanna call it
`Homepage URL`: eg: http://IP:9000
`Application description`: can be empty
`Authorization callback URL`: eg: http://IP:9000
<br>
<br>
After Github creates the application click on `Generate a new client secret` and copy `Client ID` and the `Secret` it created.
<img src="{{page.pic05}}"/>
<br>
This is it Github Part is finish!
<br>
# Portainer
Open Portainer UI and go to `Settings` on the right side menu then click on `Authentication` under it.
<img src="{{page.pic08}}"/>
Now choose this options, you can use other `Session lifetime` if you want
<img src="{{page.pic09}}"/>
`Automatic user provisioning`: If set ON anyone with Github account will be able to login and Portainer will automaticily create the user without authorizations, better leave it off and handle the users creation/allowance to you.
### OAuth Configuration
<img src="{{page.pic10}}"/>
| :-------------------- | :------------------------------------------ |
| **Client ID** | ClientID you copied from Github |
| **Client secret** | Secret you copied from Github |
| **Authorization URL** | https://github.com/login/oauth/authozize |
| **Access token URL** | https://github.com/login/oauth/access_token |
| **Resource URL** | https://api.github.com/user |
| **Redirect URL** | your Portainer URL eg: http://IP:9000 |
| **Logout URL** | *leave empty* |
| **User identifier** | login |
| **Scopes** | id,email,name |
Remember Gitea Username and Portainer Username need to math otherwise create a new username in Portainer with same name or enable `Automatic user provisioning` and then after login disable it again
<br>
<br>
# Gitea
For Gitea instead of Github, enter your user `Settings` and go to `Applications` and create a new one.
<img src="{{page.pic06}}"/>
`Redirect URL`= use your Portainer URL, eg: http://IP:9000
<br>
After that is created, Gitea will give you the ClientID and Secret you should save to use with Portainer.
<img src="{{page.pic07}}"/>
Now for Gitea the configs are a little different, follow:
| :-------------------- | :---------------------------------------- |
| **Client ID** | ClientID you copied from Gitea |
| **Client secret** | Secret you copied from Gitea |
| **Authorization URL** | http://GITEA_URL/login/oauth/authorize |
| **Access token URL** | http://GITEA_URL/login/oauth/access_token |
| **Resource URL** | http://GITEA_URL/login/oauth/userinfo |
| **Redirect URL** | your Portainer URL eg: http://IP:9000 |
| **Logout URL** | *leave empty* |
| **User identifier** | preferred_username |
| **Scopes** | *leave empty* |
Should now be configured and you should be able to login using your Gitea Account
Remember Gitea Username and Portainer Username need to math otherwise create a new username in Portainer with same name or enable `Automatic user provisioning` and then after login disable it again

View File

@ -0,0 +1,83 @@
---
layout: post
title: "Gitea"
description: "Gitea docker container"
author: sthope
image:
categories: [ Docker, Portainer, Gitea, Git ]
comments: true
pic01: "/assets/images/portainer_oauth/1.png"
pic02: "/assets/images/portainer_oauth/2.png"
pic03: "/assets/images/portainer_oauth/3.png"
pic04: "/assets/images/portainer_oauth/4.png"
pic05: "/assets/images/portainer_oauth/5.png"
pic06: "/assets/images/portainer_oauth/6.png"
pic07: "/assets/images/portainer_oauth/7.png"
pic08: "/assets/images/portainer_oauth/8.png"
pic09: "/assets/images/portainer_oauth/9.png"
pic10: "/assets/images/portainer_oauth/10.png"
---
Portainer Stack:
```yaml
---
version: "3.8"
networks:
EXTERNAL:
external:
name: EXTERNAL
INTERNAL:
external:
name: INTERNAL
services:
gitea:
image: gitea/gitea:latest
restart: unless-stopped
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
networks:
- EXTERNAL
- INTERNAL
volumes:
- /gitea/data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "22:22"
labels:
- com.centurylinklabs.watchtower.enable=true
depends_on:
- gitea_db
gitea_db:
image: ghcr.io/linuxserver/mariadb:latest
container_name: gitea_db
networks:
- INTERNAL
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=qtzZzVt4sRcAt682
- MYSQL_DATABASE=z7twLnmEmK7A3FMv
- MYSQL_USER=b2nngTxbJXbGUHkz
- MYSQL_PASSWORD=yBDK68gAwJrp3Pgp
- TZ=Europe/Lisbon
restart: unless-stopped
volumes:
- /gitea/db:/config
labels:
- com.centurylinklabs.watchtower.enable=true
- hide_db_container=true
```
If you are running reverse proxy in same docker you might not need the `ports` in the stack, otherwise change them from the default.
Also before running the container, create the folders for Gitea and the DB and change the `volumes` to math.
Run on the Terminal `id $USER` to know what are your `PUID`/`USER_UID` and `PGID`/`USER_GID`.
<small>[Official Documentation](https://docs.gitea.io/en-us/install-with-docker/)</small>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -16,7 +16,7 @@ make-smaller-titles: true
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="{{ site.baseurl }}/by-year/">Years</a></li>
<li><a href="{{ site.baseurl }}/by-year">Years</a></li>
</ul>
</div>

View File

@ -16,7 +16,7 @@ make-smaller-titles: true
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="{{ site.baseurl }}/by-categories/">Categories</a></li>
<li><a href="{{ site.baseurl }}/by-categories">Categories</a></li>
</ul>
</div>

View File

@ -43,7 +43,7 @@ make-smaller-titles: true
{% endfor %}
<li>
<small><i><a href="{{ site.baseurl }}/by-year/">more...</a></i></small>
<small><i><a href="{{ site.baseurl }}/by-year">more...</a></i></small>
</li>
</ul>

49
package.json Normal file
View File

@ -0,0 +1,49 @@
{
"name": "@semantic-release/gitlab",
"version": "1.1.1",
"main": "index.js",
"license": "MIT",
"release": {
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@semantic-release/npm",
{
"npmPublish": false
}
],
"@semantic-release/changelog",
"@semantic-release/git"
],
"branch": "master"
},
"devDependencies": {
"@semantic-release/changelog": "^5.0.1",
"@semantic-release/commit-analyzer": "^8.0.1",
"@semantic-release/git": "^9.0.0",
"@semantic-release/npm": "^7.0.5",
"@semantic-release/release-notes-generator": "^9.0.1",
"@types/express": "^4.17.6",
"@typescript-eslint/eslint-plugin": "^2.28.0",
"@typescript-eslint/parser": "^2.28.0",
"eslint": "^6.8.0",
"eslint-config-airbnb-base": "^14.1.0",
"eslint-config-prettier": "^6.10.1",
"eslint-import-resolver-typescript": "^2.0.0",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-prettier": "^3.1.3",
"prettier": "^2.0.4",
"semantic-release": "^17.0.6",
"ts-node-dev": "^1.0.0-pre.44",
"typescript": "^3.8.3"
},
"dependencies": {
"express": "^4.17.1"
},
"scripts": {
"build": "tsc",
"dev:server": "ts-node-dev --inspect --transpileOnly --ignore-watch node_modules src/server.ts"
}
}