initial commit

This commit is contained in:
2025-05-28 16:32:46 +01:00
commit ae04bf6ec4
3 changed files with 146 additions and 0 deletions

27
cron/backup.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
set -e
echo "Backup up Gitea..."
GITEA_CONTAINER_ID=$(docker ps -qf 'name=^gitea$')
if [ ! -f "/tmp/gitea-backup.zip" ]; then
echo "Dumping Gitea backup..."
docker exec -u git -it -w /tmp $GITEA_CONTAINER_ID bash -c '/usr/local/bin/gitea dump --file gitea-backup.zip -c /etc/gitea/app.ini'
docker cp $GITEA_CONTAINER_ID:/tmp/gitea-backup.zip /tmp/gitea-backup.zip
echo "Gitea backup dumped to /tmp/gitea-backup.zip!"
fi
echo "Uploading Gitea backup to rsync.net..."
scp /tmp/gitea-backup.zip zh3735.rsync.net:helian/gitea/gitea-backup.zip
echo "Uploaded Gitea backup to rsync.net!"
echo "Cleaning up..."
rm /tmp/gitea-backup.zip > /dev/null
docker exec -u git -w /tmp $GITEA_CONTAINER_ID bash -c 'rm /tmp/gitea-backup.zip'
echo "All cleaned up. Successfully backed up Gitea!"
echo "Backing up 7am..."
rsync -avz /opt/7am/data/ zh3735.rsync.net:helian/7am/data/
echo "Successfully backed up 7am!"

108
docker-compose.yml Normal file
View File

@@ -0,0 +1,108 @@
networks:
gitea:
beszel:
7am:
website:
services:
7am:
build:
context: ./7am
dockerfile: Dockerfile
args:
uid: $UID
gid: $GID
container_name: 7am
environment:
GEMINI_API_KEY: $GEMINI_API_KEY
MET_API_USER_AGENT: $MET_API_USER_AGENT
VAPID_SUBJECT: $VAPID_SUBJECT
VAPID_PRIVATE_KEY_BASE64: $VAPID_PRIVATE_KEY_BASE64
VAPID_PUBLIC_KEY_BASE64: $VAPID_PUBLIC_KEY_BASE64
ports:
- "127.0.0.1:8080:8080"
volumes:
- ./7am/data:/app/data
networks:
- 7am
website:
build:
context: ./website
dockerfile: Dockerfile
restart: unless-stopped
container_name: website
ports:
- "127.0.0.1:5432:80"
networks:
- website
gitea:
image: docker.gitea.com/gitea:1.23.7-rootless
container_name: gitea
environment:
GITEA__database__DB_TYPE: postgres
GITEA__database__HOST: gitea_db:5432
GITEA__database__NAME: $GITEA_DATABASE_NAME
GITEA__database__USER: $GITEA_DATABASE_USER
GITEA__database__PASSWD: $GITEA_DATABASE_PASSWORD
restart: always
networks:
- gitea
volumes:
- ./gitea/data:/var/lib/gitea
- ./gitea/config:/etc/gitea
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "127.0.0.1:3000:3000"
- "127.0.0.1:2222:2222"
depends_on:
- gitea_db
act_runner:
image: docker.io/gitea/act_runner:0.2.11
environment:
CONFIG_FILE: /data/config.yaml
GITEA_INSTANCE_URL: http://gitea:3000
GITEA_RUNNER_REGISTRATION_TOKEN: g9KjamnVsUvTSVvwFRtv4hh0wxpt48dTNLXvgBRg
GITEA_RUNNER_NAME: helian_runner
volumes:
- ./act_runner/data:/data
- /var/run/docker.sock:/var/run/docker.sock
networks:
- gitea
gitea_db:
image: docker.io/library/postgres:14
container_name: gitea_db
restart: always
environment:
POSTGRES_USER: $GITEA_DATABASE_USER
POSTGRES_PASSWORD: $GITEA_DATABASE_PASSWORD
POSTGRES_DB: $GITEA_DATABASE_NAME
networks:
- gitea
volumes:
- ./gitea/postgres:/var/lib/postgresql/data
beszel:
image: henrygd/beszel
container_name: beszel
restart: unless-stopped
ports:
- "127.0.0.1:8090:8090"
volumes:
- ./beszel/data:/beszel_data
networks:
- beszel
beszel_agent:
image: henrygd/beszel-agent
container_name: beszel_agent
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
# monitor other disks / partitions by mounting a folder in /extra-filesystems
# - /mnt/disk/.beszel:/extra-filesystems/sda1:ro
environment:
LISTEN: 45876
KEY: $BESZEL_SSH_PUBLIC_KEY

11
install.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
set -eu
# make sure the cwd is where the script is.
pushd "$(dirname "$0")" >> /dev/null
DEST=$1
cp ./docker-compose.yml $DEST
cp -r cron $DEST