70 Commits
Author SHA1 Message Date
marc 6f2918b34c traefik.env 2022-09-01 21:55:44 +02:00
marc 49b3f28b36 no conf file 2022-08-25 21:25:42 +02:00
marc d7667dbcde ldap network 2022-08-25 21:04:45 +02:00
marc 29b67cb2a3 Merge branch 'master' into traefik-static 2022-08-24 18:15:41 +02:00
marc b86fd1a6f2 bye homeserver.yaml from matrix 2022-08-24 18:15:27 +02:00
marc 4a69f141e9 traefik static conf file ignored 2022-08-24 18:15:12 +02:00
marc 596cfe44b3 traefik.yml 2022-08-24 08:07:27 +02:00
marc bf5f4a86d9 trafik static 2022-08-24 08:05:36 +02:00
marc 0a5f3f9e7d trying with heimdall 2022-08-23 08:46:41 +02:00
marc 37b7d5b846 fix mistake 2022-08-23 08:47:37 +02:00
marc 87cb0d3160 trying auth middleware in traefik conf 2022-08-23 08:42:17 +02:00
marc 5f55804c43 fix conflict 2022-08-20 20:29:57 +02:00
marc 8d7d9f166c dont touch working dir 2022-08-20 05:00:51 +02:00
marc 6718686e58 config 2022-08-19 23:38:28 +02:00
marc 3711fd938d make merge 2022-08-19 23:35:50 +02:00
marc 8943c9db34 fix name 2022-08-19 23:35:10 +02:00
marc 2e72fbe681 make compose 2022-08-19 23:34:34 +02:00
marc 5e179cdb0d no need for oxivia_mysql 2022-08-19 23:33:37 +02:00
marc d5797eb860 fix ghost dependency 2022-08-19 23:32:39 +02:00
marc 21d09296ce no dependency over external containers 2022-08-19 23:30:42 +02:00
marc a579863acb no directory 2022-08-19 23:29:02 +02:00
marc abba5d1823 clone project 2022-08-19 23:27:24 +02:00
marc 295b77e091 fix for loop 2022-08-19 23:24:21 +02:00
marc 979263685a sudo bc github wants it 2022-08-19 23:07:09 +02:00
marc 91af2ad85a attempting to update apt to fix error 2022-08-19 23:06:14 +02:00
marc d9b7929b92 changed workflow 2022-08-19 23:04:50 +02:00
marc 635df32b93 fix indent 2022-08-19 22:56:58 +02:00
marc a4e9b30617 seafile_memcached 2022-08-19 22:37:50 +02:00
marc 2db7b00402 fix 2022-08-19 22:31:33 +02:00
marc 2feaa57f79 string 2022-08-19 22:30:42 +02:00
marc 27ba254cef env file 2022-08-19 22:30:13 +02:00
marc 871dcf640b good volume name 2022-08-19 22:25:34 +02:00
marc a04001b34e fix port 2022-08-19 22:24:01 +02:00
marc 01b57f8a86 fix seafile.yml 2022-08-19 21:50:04 +02:00
marc 533e166249 seafile.yml 2022-08-19 21:39:18 +02:00
marc a09b7dfb1b changing seafile 2022-08-19 21:28:39 +02:00
marc fd31196d75 tableau 2022-08-17 18:36:55 +02:00
marc 9df8c8e479 im dumb 2022-08-16 00:47:06 +02:00
marc 65e7b9c6a5 fix 2022-08-16 00:46:02 +02:00
marc 139b1f4e15 all together 2022-08-16 00:45:26 +02:00
marc 1c47280809 do not care about container names 2022-08-16 00:30:36 +02:00
marc 16cfdb7feb better when in same network 2022-08-16 00:28:30 +02:00
marc 877b1b2928 copied valentin.yml to services 2022-08-16 00:23:29 +02:00
marc 3e3c0a8194 external 2022-08-15 23:38:30 +02:00
marc 1fcb29d655 bye dependency that does not even work with swarm 2022-08-15 23:03:45 +02:00
marc 53ffd73c33 bye dependency that does not even work with swarm 2022-08-15 23:02:06 +02:00
marc e1a10ab5c9 fix 2022-08-15 23:01:23 +02:00
marc 28bd51c5af ports 2022-08-04 23:01:06 +02:00
marc 28a3974f1e now cmd 2022-08-04 12:47:01 +02:00
marc da7c18b93f full path 2022-08-04 12:43:57 +02:00
marc 2d1b767958 default options 2022-08-04 12:39:04 +02:00
marc d7ce33dbde why bother 2022-08-04 12:29:14 +02:00
marc 5fa65d9bd2 fix dumb conflict 2022-08-04 12:10:23 +02:00
marc f7c6d220d9 wordpress got phpmyadmin now 2022-08-03 21:48:13 +02:00
marc 7d94261be7 tableau update 2022-08-03 19:59:04 +02:00
marc 73d45aa9cf bye 2022-08-02 16:12:31 +02:00
marc 3660c57e00 wget 2022-08-02 16:04:49 +02:00
marc d37785e8cf added healthcheck to sslh 2022-08-02 16:01:08 +02:00
marc 6846e74d8f fixing ip address 2022-08-02 15:57:35 +02:00
marc 7a2d898765 fix matrix 2022-08-02 15:32:28 +02:00
marc 8d93d0411c exposing vnc 2022-08-01 17:33:11 +02:00
marc 62e701cedc rustdesk 2022-07-31 18:15:55 +02:00
marc 9bed10a4aa rustdesk server 2022-07-31 18:06:45 +02:00
marc e349098adb ops 2022-07-26 13:14:22 +02:00
marc 1c908406a9 new port too 2022-07-26 13:08:55 +02:00
marc 9f3bea3a83 tcp udp 2022-07-26 13:04:49 +02:00
marc dbeb6cfb7d 1.18 2022-07-26 13:01:41 +02:00
marc 07ffa2b803 1.18.12 2022-07-26 13:00:39 +02:00
marc e40c2ca4db string 2022-07-26 12:54:49 +02:00
marc b64abd7da3 bedrock 2022-07-26 12:50:35 +02:00
24 changed files with 252 additions and 2805 deletions
@@ -0,0 +1,26 @@
name: Check docker compose files
on:
push:
branches:
- master
tags:
- v*
jobs:
build:
env:
BIND_MOUNTS: "/srv"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install make and docker-compose
run: sudo apt install -y docker-compose make
# - name: Check docker-compose files
# run: for file in `find services/*`; do docker-compose -f $file config > /dev/null; done
- name: Clone validator
run: git clone https://github.com/serviceprototypinglab/dcvalidator /opt/validator
- name: Merge to docker-compose.yml
run: make merge
- name: Validate docker-compose.yml
# run: docker-compose -f stacks/docker-compose.yml config
run: /opt/validator/validator-cli.py -f stacks/docker-compose.yml
-20
View File
@@ -1,20 +0,0 @@
name: Docker Swarm Deployed
on:
push:
branches:
- master
tags:
- v*
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Update
run: apt-get update
- name: Install ssh
run: apt-get install openssh-client -y
- name: Setup ssh agent
run: eval $(ssh-agent -s) && ssh-add <(echo $SSH_PRIVATE_KEY)
- name: Deploy to Docker swarm
run: ssh -o StrictHostKeyChecking=no $SSH_REMOTE docker swarm deploy -c vps.yml vps
+1 -1
View File
@@ -2,7 +2,6 @@ docker-compose.yml
data/openvpn
data/secrets
data/certbot
data/traefik
data/searx
data/jenkins
data/beef
@@ -11,6 +10,7 @@ data/authelia
data/mx-puppet-discord
data/matrix
data/heimdall
data/traefik/traefik.yml
data/pihole/etc-pihole
data/pxe
data.tar.gz
File diff suppressed because it is too large Load Diff
+5
View File
@@ -3,8 +3,11 @@ services:
arch:
image: marcpartensky/arch:vnc
restart: unless-stopped
ports: # vnc is shared
- "5900:5900"
networks:
- caddy
- ldap
volumes:
- arch:/home/marc
labels:
@@ -20,5 +23,7 @@ volumes:
arch:
networks:
ldap:
external: true
caddy:
external: true
-1
View File
@@ -24,7 +24,6 @@ services:
- authentik_postgres
- authentik_redis
- authentik_worker
- caddy
networks:
- authentik
- caddy
+5 -1
View File
@@ -6,10 +6,14 @@ services:
restart: unless-stopped
networks:
- caddy
ports:
- "6789:6789"
- "61985:61985"
- "61986:61986"
volumes:
- beef:/root/.ms4f
- /tmp/beef:/tmp/data
- ../data/beef/config.yaml:beef/config.yaml
- ../data/beef/config.yaml:/beef/config.yaml
labels:
caddy: beef.marcpartensky.com"
caddy.reverse_proxy: "{{upstreams 3000}}"
+2 -1
View File
@@ -19,7 +19,8 @@ services:
- caddy_data:/data
- ../data/caddy/Caddyfile:/etc/Caddyfile
networks:
- caddy
caddy:
# ipv4_address: 10.0.0.1
logging:
# syslog?
options:
+2
View File
@@ -19,6 +19,8 @@ services:
traefik.http.routers.heimdall.rule: Host(`heimdall.marcpartensky.com`)
traefik.http.routers.heimdall.entrypoints: websecure
traefik.http.routers.heimdall.tls: "true"
traefik.http.middlewares.test-ldap-auth.plugin.ldapAuth.source: marcpartensky.com
traefik.http.middlewares.test-ldap-auth.plugin.ldapAuth.baseDN: dc=marcpartensky,dc=com
# traefik.http.services.heimdall.loadbalancer.server.port: 80
# traefik.http.routers.heimdall.middlewares: authelia-basic@docker
+1
View File
@@ -31,5 +31,6 @@ services:
networks:
ldap:
external: true
caddy:
external: true
+1
View File
@@ -26,3 +26,4 @@ volumes:
networks:
ldap:
external: true
+4 -4
View File
@@ -17,10 +17,10 @@ services:
caddy: matrix.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8008}}"
traefik.enable: "true"
traefik.http.routers.nextcloud.rule: Host(`matrix.marcpartensky.com`)
traefik.http.routers.nextcloud.entrypoints: websecure
traefik.http.routers.nextcloud.tls.certresolver: tls
traefik.http.services.nextcloud.loadbalancer.server.port: 8008
traefik.http.routers.matrix.rule: Host(`matrix.marcpartensky.com`)
traefik.http.routers.matrix.entrypoints: websecure
traefik.http.routers.matrix.tls.certresolver: tls
traefik.http.services.matrix.loadbalancer.server.port: 8008
networks:
caddy:
+13
View File
@@ -0,0 +1,13 @@
version: "3.9"
services:
minecraft_bedrock:
image: itzg/minecraft-bedrock-server
restart: unless-stopped
ports:
- "19132:19132"
- "39926:39926"
environment:
EULA: "true"
VERSION: "1.18"
OPS: "000901FA5EE9A31B"
+2 -2
View File
@@ -15,8 +15,8 @@ services:
networks:
- caddy
- nextcloud
depends_on:
- nextcloud_mariadb
# depends_on:
# - nextcloud_mariadb
labels:
caddy: cloud.marcpartensky.com
caddy.reverse_proxy: "{{upstreams http 80}}"
+1 -1
View File
@@ -14,7 +14,7 @@ services:
- caddy
- oxivia
depends_on:
- oxivia_mysql
# - oxivia_mysql
- caddy
healthcheck:
test: ["CMD", "curl", "-f", "localhost:80"]
+37
View File
@@ -0,0 +1,37 @@
version: "3.9"
services:
rustdesk_hbbs:
image: rustdesk/rustdesk-server:latest
restart: unless-stopped
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
command: hbbs -r example.com:21117
volumes:
- rustdesk_hbbs:/root
networks:
- rustdesk
depends_on:
- rustdesk_hbbr
rustdesk_hbbr:
image: rustdesk/rustdesk-server:latest
restart: unless-stopped
ports:
- 21117:21117
- 21119:21119
command: hbbr
volumes:
- rustdesk_hbbr:/root
networks:
- rustdesk
volumes:
rustdesk_hbbs:
rustdesk_hbbr:
networks:
rustdesk:
+78 -47
View File
@@ -1,47 +1,78 @@
version: "3.9"
services:
seafile_mariadb:
image: mariadb:10.5
env_file:
- ../data/secrets/seafile.env
volumes:
- seafile_mysql:/var/lib/mysql
networks:
- seafile
seafile_memcached:
image: memcached:1.5.6
entrypoint: memcached -m 256
networks:
- seafile
seafile:
image: seafileltd/seafile-mc:latest
volumes:
- seafile:/shared
env_file:
- ../data/secrets/seafile.env
depends_on:
- seafile_mariadb
- seafile_memcached
networks:
- seafile
- caddy
labels:
caddy: seafile.marcpartensky.com
caddy.reverse_proxy: "{{upstreams http 80}}"
traefik.enable: "true"
traefik.http.routers.seafile.rule: Host(`seafile.marcpartensky.com`)
traefik.http.routers.seafile.entrypoints: websecure
traefik.http.routers.seafile.tls.certresolver: tls
traefik.http.services.seafile.loadbalancer.server.port: 80
volumes:
seafile:
seafile_mysql:
networks:
seafile:
caddy:
external: true
version: "3.9"
services:
seafile_server:
image: ggogel/seafile-server:9.0.7
volumes:
- seafile_data:/shared
env_file:
- ../data/secrets/seafile.env
environment:
HTTPS: "true"
SEAFILE_SERVER_HOSTNAME: seafile.marcpartensky.com # Mandatory on first deployment!
depends_on:
- seafile_mariadb
- seafile_memcached
- seafile_caddy
networks:
- seafile
seahub:
image: ggogel/seahub:9.0.7
volumes:
- seafile_data:/shared
- seahub_avatars:/shared/seafile/seahub-data/avatars
- seahub_custom:/shared/seafile/seahub-data/custom
env_file:
- ../data/secrets/seafile.env
depends_on:
- seafile_server
- seafile_caddy
- seahub_media
networks:
- seafile
seahub_media:
image: ggogel/seahub-media:9.0.7
volumes:
- seahub_avatars:/usr/share/caddy/media/avatars
- seahub_custom:/usr/share/caddy/media/custom
depends_on:
- seafile_caddy
networks:
- seafile
seafile_mariadb:
image: mariadb:10.7.4
env_file:
- ../data/secrets/seafile.env
volumes:
- seafile_mariadb:/var/lib/mysql
networks:
- seafile
seafile_memcached:
image: memcached:1.6.16
entrypoint: memcached -m 1024
networks:
- seafile
seafile_caddy:
image: ggogel/seafile-caddy:1.0.6
networks:
- seafile
- caddy
labels:
caddy: seafile.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 80}}"
networks:
seafile:
internal: true
caddy:
external: true
volumes:
seafile_data:
seafile_mariadb:
seahub_avatars:
seahub_custom:
+7 -1
View File
@@ -2,7 +2,7 @@ version: "3.9"
services:
sslh:
image: tnwhitwell/sslh
image: marcpartensky/sslh
restart: unless-stopped
environment:
# LISTEN_IP: 0.0.0.0
@@ -21,6 +21,12 @@ services:
# - bridge
depends_on:
- caddy
healthcheck:
# test: ["CMD-SHELL", "wget", "--no-check-certificate", "https://caddy:8443"]
test: ["CMD", "/usr/bin/curl", "http://caddy"]
# interval: 30s
# timeout: 5s
# retries: 5
networks:
caddy:
+16 -4
View File
@@ -3,10 +3,22 @@ services:
tableau:
image: pvtmert/tableau
restart: unless-stopped
ports:
- "8081:8080"
# env_file:
# - ../data/secrets/tableau.env
env_file:
- ../data/secrets/tableau.env
networks:
- caddy
labels:
caddy: tableau.marcpartensky.com
caddy.reverse_proxy: "{{upstreams 8080}}"
traefik.enable: "true"
traefik.http.routers.tableau.rule: Host(`tableau.marcpartensky.com`)
traefik.http.routers.tableau.entrypoints: websecure
traefik.http.routers.tableau.tls.certresolver: tls
traefik.http.services.tableau.loadbalancer.server.port: 8080
networks:
caddy:
external: true
# docker run \
# -e LICENSE_KEY=<key> \
+10 -2
View File
@@ -3,6 +3,8 @@ version: "3.9"
services:
traefik:
image: traefik
env_file:
- ../data/secrets/traefik.env
restart: unless-stopped
command:
## Provider Settings - https://docs.traefik.io/providers/docker/#provider-configuration ##
@@ -30,21 +32,27 @@ services:
networks:
- caddy
volumes:
- ../data/traefik/letsencrypt:/letsencrypt
- traefik_letsencrypt:/letsencrypt
# - ../data/traefik/traefik.yml:/root/.config/traefik.yml # no configuration file
# - ./data/traefik/dynamic.yaml:/dynamic.yaml
- /var/run/docker.sock:/var/run/docker.sock:ro
labels:
traefik.enable: true
traefik.enable: "true"
traefik.http.routers.traefik.rule: Host(`traefik.marcpartensky.com`)
traefik.http.routers.traefik.service: api@internal
traefik.http.routers.traefik.entrypoints: websecure
traefik.http.routers.traefik.tls.certresolver: tls
traefik.docker.network: caddy
traefik.http.middlewares.test-ldap-auth.plugin.ldapAuth.source: marcpartensky.com
traefik.http.middlewares.test-ldap-auth.plugin.ldapAuth.baseDN: dc=marcpartensky,dc=com
# traefik.http.routers.redirs.entrypoints: web
# traefik.http.middlewares.redirect-to-https.redirectscheme.scheme: https
# traefik.http.routers.redirs.middlewares: redirect-to-https
# traefik.http.routers.redirs.rule: hostregexp(`{host:.+}`)
volumes:
traefik_letsencrypt:
networks:
caddy:
external: true
+25
View File
@@ -0,0 +1,25 @@
version: "3.9"
services:
valentin_website:
image: valentincolin/website
restart: unless-stopped
environment:
PRODUCTION: "True"
build:
context: ./
dockerfile: Dockerfile
networks:
- caddy
labels:
caddy: valentin-colin.fr
caddy.reverse_proxy: "{{upstreams 80}}"
traefik.enable: "true"
traefik.http.routers.valentincolin_website.rule: Host(`valentin-colin.com`)
traefik.http.routers.valentincolin_website.entrypoints: websecure
traefik.http.routers.valentincolin_website.tls.certresolver: tls
traefik.http.services.valentincolin_website.loadbalancer.server.port: 80
networks:
caddy:
external: true
+3 -6
View File
@@ -13,7 +13,6 @@ services:
RUST_BACKTRACE: 1
depends_on:
- vaultwarden
- ldap
vaultwarden:
image: vaultwarden/server
@@ -39,9 +38,7 @@ services:
environment:
PHPLDAPADMIN_HTTPS: 'false'
PHPLDAPADMIN_LDAP_HOSTS: ldap
depends_on:
- ldap
networks:
caddy:
external: true
networks:
caddy:
external: true
-6
View File
@@ -9,15 +9,9 @@ services:
environment:
VIRTUAL_HOST: marcpartensky.com
VIRTUAL_PORT: 80
# DEBUG: true
# SECURE_SSL_REDIRECT: false
# KEY: /app/privkey.pem
# CERT: /app/fullchain.pem
working_dir: /app
entrypoint: >
sh -c "./manage.py migrate;
./manage.py collectstatic --noinput;
daphne django_project.asgi:application --port 80 --bind 0.0.0.0 -v2"
# entrypoint: "daphne -e ssl:443:privateKey=$$KEY:certKey=$$CERT django_project.asgi:application"
# entrypoint: daphne -b website -e ssl:443:privateKey=/app/privkey.pem:certKey=/app/fullchain.pem django_project.asgi:application
# command:
+13 -1
View File
@@ -33,7 +33,19 @@ services:
- wordpress_mysql:/var/lib/mysql
# healthcheck:
# test: CMD /bin/sh -c 'mysqladmin ping --user=$MYSQL_USER --password=$MYSQL_PASSWORD'
#
phpmyadmin:
image: phpmyadmin
restart: unless-stopped
env_file:
- ../data/secrets/wordpress.env
networks:
- wordpress
ports:
- "8880:80"
labels:
caddy: phpmyadmin.marcpartensky.com
caddy.reverse_proxy: "{{upstreams}}"
volumes:
wordpress: