78 Commits
Author SHA1 Message Date
marc 7d743f3f08 fix 2021-08-22 13:53:40 +00:00
marc 6653823fa5 tried to fix things for kompose 2021-08-22 13:46:52 +00:00
marc 83bcaeeebf no esclave 2 2021-08-22 12:45:36 +00:00
marc 7f217a03f1 mounting mcvnc_usr 2021-08-20 13:07:07 +02:00
marc 2df1fd1523 fixed minecraft aventure 2021-08-20 12:41:39 +02:00
marc bf73c033be minecraft aventure 2021-08-20 12:36:19 +02:00
marc c28bb5e784 trying to use registries 2021-08-14 21:15:01 +00:00
marc 26cba7455c no pipfile or requirements.txt 2021-08-14 16:13:56 +02:00
marc b439d91d0e updated requirements.txt to pipfile.lock 2021-08-14 14:09:44 +00:00
marc 82de650b79 enabling snooper to disable telemetry 2021-08-14 16:02:49 +02:00
marc 45aedd9b18 mcmyadmin 2021-08-09 21:11:12 +02:00
marc f247d44230 updated caddy 2021-08-09 11:47:48 +00:00
marc fda4e23f56 different bind mount for 1.17 2021-08-09 00:08:57 +02:00
marc 006d03d73b minecraft 2 worlds 2021-08-08 23:58:36 +02:00
marc d978697dad bind mounts 2021-08-08 21:06:41 +02:00
marc 62684f48ab valentin.marcpartensky.com 2021-08-05 21:24:47 +00:00
marc acf8946506 openldap 2021-08-04 15:18:01 +00:00
marc 56d184abd6 ram usage from 2g to 1g for minecraft server 2021-08-04 00:22:20 +00:00
marc 35ea64604f wordpress arnaud 2021-08-03 23:39:53 +00:00
marc 1c99af96d5 website dev 2021-08-03 12:38:10 +00:00
marc 0e2d47097f not init-letsencrypt.sh 2021-08-02 01:52:20 +00:00
marc 0461e0c08c giving more build context to todolist containers 2021-08-01 23:58:51 +00:00
marc 5a10741a91 exporting data.tgz.gpg 2021-08-01 22:40:18 +00:00
marc 948d189305 ssh honeypot 2021-08-01 22:26:36 +00:00
marc 4ea3335b19 thai wara 2021-08-01 21:21:50 +00:00
marc 2af6a89315 using caddy as reverse proxy cuz it does not fail me 2021-08-01 16:34:25 +00:00
marc 0bdaa05577 no caddy cuz it does not work 2021-07-31 13:09:16 +00:00
marc e46bce5f85 trying to deploy docker registry 2021-07-27 11:43:07 +00:00
marc 817961dcf4 samy.github.io 2021-07-26 22:50:42 +00:00
marc c9252e9813 fixed gitea 2021-07-26 16:43:39 +00:00
marc 721dc5e924 fixed prometheus 2021-07-26 16:42:16 +00:00
marc b45e5e2df7 docker_data gpg 2021-07-26 16:29:51 +00:00
marc 92a6cdea42 using default network 2021-07-26 16:26:30 +00:00
marc cdf38224d1 wrong srv 2021-07-26 18:18:10 +02:00
marc a0e17b5834 oxivia business 2021-07-25 19:41:36 +00:00
marc 861d1fca09 mailserver 2021-07-25 01:41:54 +00:00
marc 770054a038 pandoc works again 2021-07-24 23:56:45 +00:00
marc 180943f4c5 trying some mailservers 2021-07-24 23:27:04 +00:00
marc fd01d5f787 traefik 2021-07-23 21:30:20 +00:00
marc 74b52adfdf schtroumpfix env 2021-07-19 20:17:48 +00:00
marc 6a0aedd1e5 image schtroumpfix 2021-07-19 20:11:03 +00:00
marc d80b0fba88 schtroumpfix 2021-07-19 20:10:32 +00:00
marc cf7d0ebd33 cleaned website config 2021-07-19 18:53:47 +00:00
marc a7cf9cc25b enabled http to https redirect 2021-07-19 12:00:26 +00:00
marc 81c7ff173a vnc 2021-07-19 02:55:12 +00:00
marc f3013f0ef8 updated readme links 2021-07-19 02:45:55 +00:00
marc a6a6ae6a5e docker api 2021-07-19 02:41:47 +00:00
marc 6e554926dc configured traefik for reverse proxy 2021-07-19 02:38:01 +00:00
marc b619989563 working caddy config 2021-07-19 00:58:13 +00:00
marc f506d48223 caddy proxy config that works 2021-07-19 00:38:19 +00:00
marc f869f5dbe3 updated reverse proxy from nginx-proxy to caddy-proxy 2021-07-17 16:51:36 +00:00
marc 0d93de311e tried to use traefik as reverse proxy but giving up and using nginx-proxy instead 2021-07-17 08:51:36 +00:00
marc ce26163993 .srv 2021-07-11 21:19:07 +02:00
marc 6c253f3d53 using relative links for everything 2021-07-07 13:40:52 +02:00
marc dd7dc76c26 pihole soon 2021-07-02 18:55:46 +00:00
marc f38959bd46 wordpress for marc and alex 2021-06-20 13:11:18 +00:00
marc 183975e3cd exposing healingpath db 2021-06-18 08:37:36 +00:00
marc 859e081eb8 using .vol in home folder to store docker volumes 2021-06-14 09:51:35 +02:00
marc 87d2a0e1ef pihole 2021-06-12 00:52:14 +02:00
marc d1f4146564 commenting 2021-06-08 20:37:13 +02:00
marc 6359bbd88d changed jenkins jar location 2021-05-31 12:32:02 +00:00
marc b2840b342f changed root location 2021-05-31 12:30:00 +00:00
marc 883a045614 fixed jetodoapp 2021-05-26 03:42:21 +02:00
marc 08e064c1eb no leopold 2 2021-05-26 03:37:56 +02:00
marc ca33b0271c no leopold 2021-05-26 03:31:42 +02:00
marc d1b8342ca8 vnc 2021-05-26 03:30:42 +02:00
marc ce94faa458 changing root to be home 2021-05-25 20:06:59 +02:00
marc c7b8e0659d trying centos 2021-05-25 18:09:18 +02:00
marc 74d775d7d6 added makefile 2021-05-25 16:08:56 +00:00
marc c18442e45c makefile 2021-05-25 16:06:13 +00:00
marc ed8436505a vnc conf 2021-05-25 01:03:38 +00:00
marc af3c127a81 vnc conf 2021-05-25 01:03:10 +00:00
marc 14f79d54de merge 2021-05-24 22:52:11 +00:00
marc 2d615e67c7 ignoring openvpn ovpn files 2021-05-22 11:24:23 +00:00
marc 32584a96da poiret 2021-05-01 17:52:34 +00:00
marc 46643abc4f poiret docker-compose 2021-04-27 22:12:19 +00:00
marc 2e0aa3d6dd Merge branch 'main' into poiret 2021-04-27 22:08:44 +00:00
marc 098ee388d2 poiret 2021-04-27 21:11:48 +00:00
19 changed files with 1131 additions and 167 deletions
+6 -3
View File
@@ -1,3 +1,6 @@
data/secrets/
data/certbot/
data/traefik/
data/openvpn
data/secrets
data/certbot
data/traefik
data/caddy
data.tar.gz
+6
View File
@@ -0,0 +1,6 @@
export:
tar cvzf data.tgz data
gpg --encrypt --recipient 'marc.partensky@gmail.com' data.tgz
rm data.tgz
clean:
rm data.tgz.gpg
+15 -2
View File
@@ -2,7 +2,6 @@
## Domains
- https://marcpartensky.com
- https://www.marcpartensky.com
- https://pandoc.marcpartensky.com
- https://ialab.marcpartensky.com
- https://notebook.marcpartensky.com
@@ -10,12 +9,26 @@
- https://cloud.marcpartensky.com
- https://wordpress.marcpartensky.com
- https://git.marcpartensky.com
- https://business.marcpartensky.com
- https://todolist.marcpartensky.com
- https://api.todolist.marcpartensky.com
- https://marc.wp.marcpartensky.com
- https://alex.wp.marcpartensky.com
- https://uml.marcpartensky.com
- https://grafana.marcpartensky.com
- https://prometheus.marcpartensky.com
- https://dns.marcpartensky.com
<!-- - https://dev.marcpartensky.com -->
<!-- - https://box.marcpartensky.com -->
<!-- - https://business.marcpartensky.com -->
<!-- - https://glou.marcpartensky.com -->
<!-- - https://minecraft.marcpartensky.com -->
## Reverse proxy
The `docker-compose.yml` configuration is compatible with the following reverse-proxies:
- traefik
- caddy
- nginx
## Commands
```sh
certbot certonly -d newdomain.com -n --standalone
+1
View File
@@ -0,0 +1 @@
mail._domainkey.marcpartensky.com marcpartensky.com:mail:/etc/opendkim/keys/marcpartensky.com/mail.private
+1
View File
@@ -0,0 +1 @@
*@marcpartensky.com mail._domainkey.marcpartensky.com
+2
View File
@@ -0,0 +1,2 @@
127.0.0.1
localhost
@@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,4 @@
mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAouPk5YPodxb41YBVY4xdeJGRCzUXSrVYUZc2ukE2HqIqWsivU7vPgBFlclBzMMJVdrt/NAt3NnulzWyQg6V+A8wSYkCNpevGlsp2TvkL8Mcuf1LVGfNScjycJ8nC8LhRgHZZJ876yM97mEK+J4X4k8X1/IWzwUSmOOAB3EpfuQLMVQL8KQh5gyAdvokbnmq+r9VqOyiFbZ03Jz"
"yW+RPMTQxMu2kid+KH336/j5Tvza8ITN3vqZRVfZJjJzCJHvx4iKpWy2iOFxNThlUTbnZ93xFEA+36s+pU2hT22RGN8qzSQFBtIXKEqyNJ4KoJ/X53ukYc4ZSmpRAz/PhxX9eIgurUwKXrSwX5127+eCIanRT4aMYSobuue7IGlHixNI4dmZW4H0kMs5MwDItYzNQfmsv7HDjkfsRhBlFpV5LMES1g4L4rWQ85kKcQYfl60FyReCKrrBGi"
"Fi9H8iEK5gDIgOFJ37qNa3yLolll31YdkhONsFyrOyGrEAcCzRHOa9jq9KEa5p8QyRekG75aGEfGlRMntkM1KAhdyjuyixle3I7SYywqtqJfjAButWJdvhuPf1jWmqzs97AoJZb2mYzgP/ur9sqHR8EBJ8HN9thRgf4QsyxpPTO9tOU+4GtT9YSVSGjXHQ0SnPDAj8YxjOql5RDalmiP91NmAeGUfCbLwUkCAwEAAQ==" ) ; ----- DKIM key mail for marcpartensky.com
+1
View File
@@ -0,0 +1 @@
marc@marcpartensky.com|{SHA512-CRYPT}$6$G1SLI/9La3kXrkrt$9MdkaLuUEoa2n8mVVZoCwmy0g6MrvlHDL0i2FVrUakAXi3pgPfo/HNz/mLWRFS6nG1oOeP8IMbTGM.JptPR../
+5
View File
@@ -0,0 +1,5 @@
# Please restart ClamAV after changing signatures
Example-Signature.Ignore-1
PUA.Win.Trojan.EmbeddedPDF-1
PUA.Pdf.Trojan.EmbeddedJavaScript-1
PUA.Pdf.Trojan.OpenActionObjectwithJavascript-1
+16
View File
@@ -0,0 +1,16 @@
server {
listen 25565;
server_name mc.marcpartensky.com;
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location / {
proxy_pass http://marcpartensky.com:7065;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
+30
View File
@@ -0,0 +1,30 @@
server {
listen 443 ssl http2;
server_name ialab.marcpartensky.com;
# ssl keys + letsencrypt
ssl_certificate /etc/letsencrypt/live/ialab.marcpartensky.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ialab.marcpartensky.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# logs
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location /.well-known/acme-challenge/ {
allow all;
root /var/www/certbot;
}
location / {
proxy_pass http://ialab;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
+30
View File
@@ -0,0 +1,30 @@
server {
listen 443 ssl http2;
server_name poiret.marcpartensky.com;
# ssl keys + letsencrypt
ssl_certificate /etc/letsencrypt/live/poiret.marcpartensky.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/poiret.marcpartensky.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# logs
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location /.well-known/acme-challenge/ {
allow all;
root /var/www/certbot;
}
location / {
proxy_pass http://poiret:8000;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
+30
View File
@@ -0,0 +1,30 @@
server {
listen 443 ssl http2;
server_name vnc.marcpartensky.com;
# ssl keys + letsencrypt
ssl_certificate /etc/letsencrypt/live/vnc.marcpartensky.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vnc.marcpartensky.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# logs
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location /.well-known/acme-challenge/ {
allow all;
root /var/www/certbot;
}
location / {
proxy_pass http://vnc:6901;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
+30
View File
@@ -0,0 +1,30 @@
server {
listen 443 ssl http2;
server_name alex.wp.marcpartensky.com;
# ssl keys + letsencrypt
ssl_certificate /etc/letsencrypt/live/alex.wp.marcpartensky.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/alex.wp.marcpartensky.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# logs
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location /.well-known/acme-challenge/ {
allow all;
root /var/www/certbot;
}
location / {
proxy_pass http://wordpress_alex;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
+30
View File
@@ -0,0 +1,30 @@
server {
listen 443 ssl http2;
server_name marc.wp.marcpartensky.com;
# ssl keys + letsencrypt
ssl_certificate /etc/letsencrypt/live/marc.wp.marcpartensky.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/marc.wp.marcpartensky.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# logs
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location /.well-known/acme-challenge/ {
allow all;
root /var/www/certbot;
}
location / {
proxy_pass http://wordpress_marc;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
+873 -82
View File
File diff suppressed because it is too large Load Diff
-80
View File
@@ -1,80 +0,0 @@
#!/bin/bash
if ! [ -x "$(command -v docker-compose)" ]; then
echo 'Error: docker-compose is not installed.' >&2
exit 1
fi
domains=(marcpartensky.com www.marcpartensky.com)
rsa_key_size=4096
data_path="./data/certbot"
email="" # Adding a valid address is strongly recommended
staging=0 # Set to 1 if you're testing your setup to avoid hitting request limits
if [ -d "$data_path" ]; then
read -p "Existing data found for $domains. Continue and replace existing certificate? (y/N) " decision
if [ "$decision" != "Y" ] && [ "$decision" != "y" ]; then
exit
fi
fi
if [ ! -e "$data_path/conf/options-ssl-nginx.conf" ] || [ ! -e "$data_path/conf/ssl-dhparams.pem" ]; then
echo "### Downloading recommended TLS parameters ..."
mkdir -p "$data_path/conf"
curl -s https://raw.githubusercontent.com/certbot/certbot/master/certbot-nginx/certbot_nginx/_internal/tls_configs/options-ssl-nginx.conf > "$data_path/conf/options-ssl-nginx.conf"
curl -s https://raw.githubusercontent.com/certbot/certbot/master/certbot/certbot/ssl-dhparams.pem > "$data_path/conf/ssl-dhparams.pem"
echo
fi
echo "### Creating dummy certificate for $domains ..."
path="/etc/letsencrypt/live/$domains"
mkdir -p "$data_path/conf/live/$domains"
docker-compose run --rm --entrypoint "\
openssl req -x509 -nodes -newkey rsa:$rsa_key_size -days 1\
-keyout '$path/privkey.pem' \
-out '$path/fullchain.pem' \
-subj '/CN=localhost'" certbot
echo
echo "### Starting nginx ..."
docker-compose up --force-recreate -d nginx
echo
echo "### Deleting dummy certificate for $domains ..."
docker-compose run --rm --entrypoint "\
rm -Rf /etc/letsencrypt/live/$domains && \
rm -Rf /etc/letsencrypt/archive/$domains && \
rm -Rf /etc/letsencrypt/renewal/$domains.conf" certbot
echo
echo "### Requesting Let's Encrypt certificate for $domains ..."
#Join $domains to -d args
domain_args=""
for domain in "${domains[@]}"; do
domain_args="$domain_args -d $domain"
done
# Select appropriate email arg
case "$email" in
"") email_arg="--register-unsafely-without-email" ;;
*) email_arg="--email $email" ;;
esac
# Enable staging mode if needed
if [ $staging != "0" ]; then staging_arg="--staging"; fi
docker-compose run --rm --entrypoint "\
certbot certonly --webroot -w /var/www/certbot \
$staging_arg \
$email_arg \
$domain_args \
--rsa-key-size $rsa_key_size \
--agree-tos \
--force-renewal" certbot
echo
echo "### Reloading nginx ..."
docker-compose exec nginx nginx -s reload