initial commit
This commit is contained in:
27
cron/backup.sh
Executable file
27
cron/backup.sh
Executable 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
108
docker-compose.yml
Normal 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
11
install.sh
Executable 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
|
Reference in New Issue
Block a user