Compare commits

...

7 Commits

Author SHA1 Message Date
fb1a5794de add joplin 2023-12-31 13:11:04 +01:00
975b430284 accept your weaknesses 2023-12-09 15:21:38 +01:00
8b737be469 revamp teamspeak to use serverquery as an infrastructure-as-code tool (but bad) 2023-12-03 19:44:29 +01:00
0ca95558a6 remove terraria because server is too wimpy 2023-12-03 19:40:58 +01:00
b6edd536d3 add teamspeak 2023-05-02 23:10:25 +02:00
5673ef76fe terraria update 2023-05-02 22:40:00 +02:00
Hurlu
e909ac7869 tshock terraria server 2023-03-07 23:20:49 +01:00
11 changed files with 128 additions and 7 deletions

2
.gitignore vendored
View File

@ -1,5 +1,6 @@
/adminscripts/Syrupy/*.log /adminscripts/Syrupy/*.log
/adminscripts/Syrupy/*.raw /adminscripts/Syrupy/*.raw
/adminscripts/hub_token
/ftp/conf-* /ftp/conf-*
/ftp/home-* /ftp/home-*
/gitea/gitea_data /gitea/gitea_data
@ -7,6 +8,7 @@
/notes/standardfile.db /notes/standardfile.db
/notes/standardfile.yml /notes/standardfile.yml
/recipes/mealie /recipes/mealie
/teamspeak/data
/terraria/config /terraria/config
/traefik/letsencrypt /traefik/letsencrypt
/traefik/.env /traefik/.env

View File

@ -1,7 +1,7 @@
SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd) SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
GLOB_DIR=$SCRIPT_DIR/.. GLOB_DIR=$SCRIPT_DIR/..
SERVICES=( traefik gitea wizz ftp notes recipes ) SERVICES=( traefik gitea wizz ftp notes recipes teamspeak )
for service in "${SERVICES[@]}" for service in "${SERVICES[@]}"
do do

37
joplin/docker-compose.yml Normal file
View File

@ -0,0 +1,37 @@
version: "3.5"
networks:
traefik_default:
external: true
joplin_default:
external: false
services:
joplin:
container_name: joplin
image: joplin/server:2.14.1-beta
restart: always
env_file: ./secrets/joplin.secret
networks:
- traefik_default
- joplin_default
depends_on:
- db
labels:
- "traefik.enable=true"
- "traefik.http.routers.joplin.rule=Host(`joplin.hugowillaume.com`)"
- "traefik.http.routers.joplin.entrypoints=websecure"
- "traefik.http.routers.joplin.tls.certresolver=myhttpchallenge"
- "traefik.http.services.joplin.loadbalancer.server.port=22300"
db:
container_name: joplin_db
image: postgres:16
networks:
- joplin_default
env_file: ./secrets/joplin_db.secret
volumes:
- ./joplin_data/postgres:/var/lib/postgresql/data
# ports:
# - "5432:5432"
restart: always

View File

@ -0,0 +1,8 @@
APP_PORT=22300
APP_BASE_URL=https://joplin.hugowillaume.com
DB_CLIENT=pg
POSTGRES_PASSWORD=POSTGRES_PASSWORD
POSTGRES_DATABASE=POSTRES_DATABASE
POSTGRES_USER=POSTGRES_USER
POSTGRES_PORT=5432
POSTGRES_HOST=db

View File

@ -0,0 +1,3 @@
POSTGRES_PASSWORD=POSTGRES_PASSWORD
POSTGRES_USER=POSTRES_USER
POSTGRES_DB=POSTGRES_DATABASE

24
teamspeak/configure_server.sh Executable file
View File

@ -0,0 +1,24 @@
#required packages: httpie, jq
DOCKER_IP=$(docker inspect --format '{{ range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' teamspeak2)
BASE_COMMAND="http $DOCKER_IP:10080/1"
API_KEY="?api-key=$(cat api_key.secret)"
#Trying to give Guests permission to move anyone among channels, not working yet so doing it manually in ts3-client
#GUEST_ID=$($BASE_COMMAND/servergrouplist$API_KEY | jq -r '.body[4].sgid')
#echo "{\"sgid\": \"$GUEST_ID\", \"permsid\":\"i_client_needed_move_power\", \"permvalue\":0, \"permnegated\":0, \"permskip\":0 }" | $BASE_COMMAND/servergroupaddperm$API_KEY
#echo
#exit 0
AFK_ID=$(echo '{"channel_name": "AFK", "channel_flag_permanent":1, "channel_needed_talk_power":999}' | $BASE_COMMAND/channelcreate$API_KEY | jq -r '.body[0].cid')
echo "{\"channel_name\": \"Pokez-moi\", \"channel_flag_permanent\":1, \"channel_needed_talk_power\":999, \"cpid\":$AFK_ID}" | $BASE_COMMAND/channelcreate$API_KEY
echo
echo '{"channel_name": "Café Sonneveld", "channel_flag_permanent":1}' | $BASE_COMMAND/channelcreate$API_KEY
echo
echo '{"channel_name": "Le Coco", "channel_flag_permanent":1}' | $BASE_COMMAND/channelcreate$API_KEY
echo
echo '{"channel_name": "STREAM ON", "channel_flag_permanent":1}' | $BASE_COMMAND/channelcreate$API_KEY
echo

View File

@ -0,0 +1,30 @@
version: '3.7'
# Not run through traefik, causes too much slowdown: instead, using a DNS SRV rule.
services:
teamspeak:
image: teamspeak
container_name: teamspeak
ports:
- 9987:9987/udp #udp voice port
- 10080:10080
- 30033:30033 #file transfer port
restart: unless-stopped
env_file: ./secrets/teamspeak.secret
volumes:
- ./data:/var/ts3server/
networks:
- teamspeak
db:
image: mariadb
restart: always
env_file: ./secrets/teamspeak.secret
volumes:
- ./dbvolume:/var/lib/mysql
networks:
- teamspeak
networks:
teamspeak:
external: false

View File

@ -0,0 +1,11 @@
TS3SERVER_DB_PLUGIN=ts3db_mariadb
TS3SERVER_DB_SQLCREATEPATH=create_mariadb
TS3SERVER_DB_HOST=db
TS3SERVER_DB_USER=root
TS3SERVER_DB_PASSWORD=password
TS3SERVER_DB_NAME=dbname
TS3SERVER_DB_WAITUNTILREADY=30
TS3SERVER_LICENSE=accept
MYSQL_ROOT_PASSWORD=password
MYSQL_DATABASE=dbname

View File

@ -1,23 +1,25 @@
version: '3' version: '3.7'
services: services:
terraria: terraria:
image: ghcr.io/beardedio/terraria:latest image: ghcr.io/beardedio/terraria:tshock-5.1.3
container_name: terraria container_name: terraria
ports: ports:
- '7777:7777' - '7777:7777'
- '7878:7878'
restart: unless-stopped restart: unless-stopped
environment: env_file: ./env.file
- world=BurgerFamily.wld
volumes: volumes:
- ./config:/config - ./config:/config
# tty: true
# stdin_open: true
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.terraria.rule=Host(`terraria.hugowillaume.com`)" - "traefik.http.routers.terraria.rule=Host(`terraria.hugowillaume.com`)"
- "traefik.http.routers.terraria.entrypoints=terraria" - "traefik.http.routers.terraria.entrypoints=terraria"
- "traefik.http.services.terraria.loadbalancer.server.port=7777" - "traefik.http.services.terraria.loadbalancer.server.port=7777"
- "traefik.http.routers.terraria_api.rule=Host(`terraria.hugowillaume.com`)"
- "traefik.http.routers.terraria_api.entrypoints=terraria_api"
- "traefik.http.services.terraria_api.loadbalancer.server.port=7878"
networks: networks:
- traefik_default - traefik_default

1
terraria/env.file Normal file
View File

@ -0,0 +1 @@
world=BurgerFamily.wld

View File

@ -11,6 +11,9 @@
[entryPoints.terraria] [entryPoints.terraria]
address = ":7777" address = ":7777"
[entryPoints.terraria_api]
address = ":7878"
#[providers.file] #[providers.file]
# directory = "/etc/traefik/config" # directory = "/etc/traefik/config"