mirror of
https://github.com/bensuperpc/infrastructure.git
synced 2026-08-13 21:56:13 +02:00
test
This commit is contained in:
@@ -1,2 +1,9 @@
|
||||
|
||||
/*.tar.gz
|
||||
|
||||
# Real secrets: copy the matching *.env.example (or run `make init`) to
|
||||
# generate these locally. Never commit the filled-in versions.
|
||||
infrastructure/services/**/env/*.env
|
||||
infrastructure/services/**/config/*.env
|
||||
!infrastructure/services/**/env/*.env.example
|
||||
!infrastructure/services/**/config/*.env.example
|
||||
|
||||
@@ -29,3 +29,7 @@ CONFIGS := ia torrent tools
|
||||
#DOCKER_PROFILES :=
|
||||
|
||||
include DockerCompose.mk
|
||||
|
||||
.PHONY: init
|
||||
init:
|
||||
@bash tools/init_secrets.sh
|
||||
|
||||
@@ -151,165 +151,71 @@ And then, caddy will generate the certificate for you and renew it automatically
|
||||
|
||||
### Configure the infrastructure
|
||||
|
||||
You need to configure the infrastructure with your own configuration.
|
||||
|
||||
You can generate a password with 32 characters:
|
||||
Every service ships a `*.env.example` file. Real `*.env` files are gitignored and never committed - generate them locally with:
|
||||
|
||||
```sh
|
||||
openssl rand -base64 32
|
||||
make init
|
||||
```
|
||||
|
||||
Or online: [passwordsgenerator.net](https://passwordsgenerator.net/)
|
||||
This copies every `*.env.example` → `*.env` and fills in randomly generated passwords, keys and tokens (including shared values that must match across services, e.g. a service and its database). Existing `.env` files are never overwritten, so re-running it later is always safe.
|
||||
|
||||
After `make init`, a few things still need manual attention:
|
||||
|
||||
#### Caddy
|
||||
|
||||
For [caddy_backup.env](infrastructure/services/caddy/env/caddy_backup.env) file, you need to change the password(s) for the restic backup.
|
||||
|
||||
```sh
|
||||
RESTIC_PASSWORD=7L1Ncbquax0B2TCOmrjaQl9n5mnY88bQ
|
||||
```
|
||||
|
||||
On [caddy.env](infrastructure/services/caddy/env/caddy.env) file, you need to update some variables, like the main domain, mail domain and scheme (http or https).
|
||||
Edit [caddy.env](infrastructure/services/caddy/env/caddy.env.example) to set your domain and mail address:
|
||||
|
||||
```sh
|
||||
MAIN_DOMAIN=bensuperpc.org
|
||||
MAIL_DOMAIN=bensuperpc@gmail.com
|
||||
# Scheme
|
||||
SCHEME=https
|
||||
# ignore_loaded_certs off
|
||||
AUTO_HTTPS_OPTIONS=ignore_loaded_certs
|
||||
```
|
||||
|
||||
#### Authelia
|
||||
#### Authelia - user database
|
||||
|
||||
For [authelia.env](infrastructure/services/authelia/env/authelia.env) file, you need to change the password(s) and secret key:
|
||||
|
||||
```sh
|
||||
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET=ht87MVnXkXhBpDkMUHqKDqdg8UGBJt+Fx5jNIqXnN2k=
|
||||
AUTHELIA_SESSION_SECRET=nsvbXKGRXVZUCUkOapntlq/Zh+d75WacTK5Jgyh8zYk=
|
||||
AUTHELIA_STORAGE_ENCRYPTION_KEY=aWeIT74xIhGVd9nUOr4YTToTl5rpBEbzc/fv4jemuos=
|
||||
AUTHELIA_STORAGE_POSTGRES_HOST=authelia-postgres
|
||||
AUTHELIA_STORAGE_POSTGRES_PORT=5432
|
||||
AUTHELIA_STORAGE_POSTGRES_DATABASE=authelia_db
|
||||
AUTHELIA_STORAGE_POSTGRES_USERNAME=authelia
|
||||
AUTHELIA_STORAGE_POSTGRES_PASSWORD=sAdkxFW6k3GiMOrlBpl6OV76eb9cQz/uk95jmA2UpI8=
|
||||
```
|
||||
|
||||
Same for [authelia_postgres.env](infrastructure/services/authelia/env/authelia_postgres.env) file, you need to change the password(s) and user for the database.
|
||||
|
||||
```sh
|
||||
POSTGRES_USER=authelia
|
||||
POSTGRES_PASSWORD=sAdkxFW6k3GiMOrlBpl6OV76eb9cQz/uk95jmA2UpI8=
|
||||
POSTGRES_DB=authelia_db
|
||||
```
|
||||
|
||||
You also need to update [users_database.yml](infrastructure/services/authelia/config/users_database.yml)
|
||||
`make init` generates all Authelia secrets automatically. You still need to add at least one user in [users_database.yml](infrastructure/services/authelia/config/users_database.yml). Generate an argon2 hash for your password:
|
||||
|
||||
```sh
|
||||
docker run --rm authelia/authelia:latest authelia crypto hash generate argon2 --password 'MyPassword'
|
||||
```
|
||||
|
||||
#### Dozzle
|
||||
#### Dozzle - user account
|
||||
|
||||
To generate a new user for dozzle, you can use the following command [users.yml](infrastructure/services/dozzle/config/users.yml):
|
||||
Generate a user entry for [users.yml](infrastructure/services/dozzle/config/users.yml):
|
||||
|
||||
```sh
|
||||
docker run -it --rm amir20/dozzle generate bensuperpc --password mypassword --email bensuperpc@gmail.com --name "bensuperpc"
|
||||
```
|
||||
|
||||
#### PsiTransfer
|
||||
#### OpenSSH - public key
|
||||
|
||||
For [psitransfer.env](infrastructure/services/psitransfer/env/psitransfer.env) file, you need to change the secret key.
|
||||
Replace [id_ed25519.pub](infrastructure/services/openssh/config/authorized_keys/id_ed25519.pub) with your own public SSH key.
|
||||
|
||||
```sh
|
||||
PSITRANSFER_ADMIN_PASS=n9jLVNT9QUotTJTT91JqH4GyBTg9pvEn
|
||||
```
|
||||
#### Open-WebUI - Ollama model
|
||||
|
||||
For [projectsend_db.env](infrastructure/services/projectsend/env/projectsend_db.env) file, you need to change the password(s) and user for the database.
|
||||
|
||||
```sh
|
||||
MARIADB_ROOT_PASSWORD=8O34297GrBfT3Ld34Lfg9mpotmZwbJtt
|
||||
MARIADB_USER=bensuperpc
|
||||
MARIADB_PASSWORD=wdSUa1JEZhXie5AJ5NcX1w73xmpO12EY
|
||||
```
|
||||
|
||||
#### Picoshare
|
||||
|
||||
For [picoshare.env](infrastructure/services/picoshare/env/picoshare.env) file, you need to change the secret key.
|
||||
|
||||
```sh
|
||||
PS_SHARED_SECRET=CBuS4DJLqIe93xF1KGYRrnhxUFBqLD2n
|
||||
```
|
||||
|
||||
#### Dufs
|
||||
|
||||
For [dufs.env](infrastructure/services/dufs/env/dufs.env) file, you need to change the secret key and if you want the user name.
|
||||
|
||||
```sh
|
||||
DUFS_AUTH="admin:heqihlOfBmJDESGFlpbPi7P7Mi6F7RkV@/:rw|@/:ro"
|
||||
```
|
||||
|
||||
#### Stirling PDF
|
||||
|
||||
For [stirlingpdf.env](infrastructure/services/stirlingpdf/env/stirlingpdf.env) file, it's **completly optional**, you can change the password(s) and user.
|
||||
|
||||
```sh
|
||||
# Enable security, optional
|
||||
DOCKER_ENABLE_SECURITY=true
|
||||
SECURITY_ENABLE_LOGIN=true
|
||||
# Can be disabled after initial login, optional,
|
||||
# default it admin:stirling
|
||||
SECURITY_INITIALLOGIN_USERNAME=admin
|
||||
SECURITY_INITIALLOGIN_PASSWORD=Jw9U039f5xc2mFcacvGvPD9RjwIh4DzO
|
||||
```
|
||||
|
||||
#### OpenSSH
|
||||
|
||||
You can need to add/change the public ssh key [id_ed25519.pub](infrastructure/services/openssh/config/authorized_keys/id_ed25519.pub) (its my public key), also change the config/password in [openssh.env](infrastructure/services/openssh/env/openssh.env):
|
||||
|
||||
```sh
|
||||
SUDO_ACCESS=true
|
||||
#PUBLIC_KEY_URL=https://github.com/bensuperpc.keys
|
||||
PUBLIC_KEY_DIR=/authorized_ssh_keys
|
||||
USER_PASSWORD=rdUwf36C11PLmpU9Lvq7tP5pfFBKAuCh
|
||||
|
||||
#PUBLIC_KEY=yourpublickey
|
||||
#PUBLIC_KEY_FILE=/path/to/file
|
||||
#PUBLIC_KEY_DIR=/path/to/directory/containing/_only_/pubkeys
|
||||
#USER_PASSWORD_FILE=/path/to/file
|
||||
```
|
||||
|
||||
#### Open-WebUI
|
||||
|
||||
For [open-webui.env](infrastructure/services/open-webui/env/openwebui.env) file, you must change the secret key for the webui and configure its PostgreSQL backend.
|
||||
|
||||
```sh
|
||||
WEBUI_SECRET_KEY=7d83b15a417d090ba5c6b899270a05dd215c60848354c0c7574226d6ff02f39e
|
||||
DATABASE_URL=postgresql://postgres:securepassword123@openwebui-postgres:5432/openwebui
|
||||
REDIS_URL=redis://:valkey_password@valkey:6379/0
|
||||
```
|
||||
|
||||
Also update [openwebui-postgres.env](infrastructure/services/open-webui/env/openwebui-postgres.env) and [openwebui-valkey.env](infrastructure/services/open-webui/env/openwebui-valkey.env) with your own credentials.
|
||||
|
||||
To download the model, through open-webui GUI or you can use the following command:
|
||||
After starting the stack, pull a model via the Open-WebUI GUI or with:
|
||||
|
||||
```sh
|
||||
docker exec -it ollama ollama run deepseek-r1:8b
|
||||
```
|
||||
|
||||
#### Dependency-Track
|
||||
#### Team Fortress 2 - Steam GSLT
|
||||
|
||||
For [dependency-track.env](infrastructure/services/dependency-track/env/dependency-track.env) file, you need to set the database credentials and the API server URL.
|
||||
`make init` will remind you: set `SRCDS_TOKEN` in [teamfortress2.env](infrastructure/services/teamfortress2-server/teamfortress2/env/teamfortress2.env) with your token from [steamcommunity.com/dev/managegameservers](https://steamcommunity.com/dev/managegameservers).
|
||||
|
||||
#### Dependency-Track - first login
|
||||
|
||||
Default credentials are `admin` / `admin` - **change them on first login**.
|
||||
|
||||
#### Forgejo - installation lock
|
||||
|
||||
After the first-run installation wizard completes, set in [forgejo.env](infrastructure/services/forgejo/env/forgejo.env.example):
|
||||
|
||||
```sh
|
||||
POSTGRES_USER=dtrack
|
||||
POSTGRES_PASSWORD=<your_password>
|
||||
POSTGRES_DB=dtrack_db
|
||||
ALPINE_DATA_DIRECTORY=/data
|
||||
FORGEJO__security__INSTALL_LOCK=true
|
||||
```
|
||||
|
||||
The frontend is available at `https://dependency-track.bensuperpc.org` and the API server at `/api/*`. Default credentials are `admin` / `admin`, **change them on first login**.
|
||||
|
||||
### Homepage
|
||||
|
||||
You can change the homepage config in these files:
|
||||
@@ -319,16 +225,6 @@ You can change the homepage config in these files:
|
||||
- [settings.yaml](infrastructure/services/homepage/config/settings.yaml)
|
||||
- [widgets.yaml](infrastructure/services/homepage/config/widgets.yaml)
|
||||
|
||||
### Forgejo
|
||||
|
||||
For Forgejo installation, you must change the password(s) and user in [forgejo_db.env](infrastructure/services/forgejo/env/forgejo_db.env) file and [forgejo.env](infrastructure/services/forgejo/env/forgejo.env) file.
|
||||
|
||||
Once the installation is complete, you need to set the installation lock:
|
||||
|
||||
```sh
|
||||
FORGEJO__security__INSTALL_LOCK=true
|
||||
```
|
||||
|
||||
### Forgejo Runner (Out of date)
|
||||
|
||||
```sh
|
||||
@@ -436,29 +332,6 @@ AUTO_HTTPS_OPTIONS=ignore_loaded_certs
|
||||
|
||||
And remove all the `import authelia_middleware` in the caddyfiles, authelia need https to work.
|
||||
|
||||
#### Wordpress
|
||||
|
||||
For the [wordpress.env](infrastructure/services/wordpress/env/wordpress.env) file, you need to change the password and user for the database.
|
||||
|
||||
```sh
|
||||
WORDPRESS_DB_USER=bensuperpc
|
||||
WORDPRESS_DB_PASSWORD=lEOEf8cndnDjp84O4Uv5D9zJLJDFatLw
|
||||
```
|
||||
|
||||
For [wordpress_db.env](infrastructure/services/wordpress/env/wordpress_db.env) file, you need to change the password(s) and user for the database.
|
||||
|
||||
```sh
|
||||
MARIADB_ROOT_PASSWORD=7L1Ncbquax0B2TCOmrjaQl9n5mnY88bQ
|
||||
MARIADB_USER=bensuperpc
|
||||
MARIADB_PASSWORD=lEOEf8cndnDjp84O4Uv5D9zJLJDFatLw
|
||||
```
|
||||
|
||||
For [wordpress_backup.env](infrastructure/services/wordpress/env/wordpress_backup.env) file, you need to change the password(s) for the restic backup.
|
||||
|
||||
```sh
|
||||
RESTIC_PASSWORD=7L1Ncbquax0B2TCOmrjaQl9n5mnY88bQ
|
||||
```
|
||||
|
||||
## Sources
|
||||
|
||||
- [Wordpress](https://wordpress.org/)
|
||||
|
||||
+1
-1
@@ -4,4 +4,4 @@ TimeZone=Europe/Paris
|
||||
BACKUP=NO
|
||||
BACKUP_HOUR=2
|
||||
BACKUP_MAX=7
|
||||
MONITOR=NO
|
||||
MONITOR=NO
|
||||
@@ -1,14 +0,0 @@
|
||||
#RUN_ON_STARTUP=true
|
||||
RESTIC_REPOSITORY=/mnt/restic
|
||||
RESTIC_BACKUP_SOURCES=/data
|
||||
RESTIC_PASSWORD=SCY5cmu12Odca302EXabPA9jXYkCb2NN
|
||||
# Backup (exuclusive with Check and Prune)
|
||||
BACKUP_CRON=*/15 * * * *
|
||||
RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
#RESTIC_FORGET_ARGS=--prune --keep-last 8 --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 4
|
||||
# Check (exuclusive with Check and Prune)
|
||||
#CHECK_CRON=*/15 * * * *
|
||||
#RESTIC_CHECK_ARGS=--read-data-subset=40%
|
||||
# Prune (exuclusive with Check and Prune)
|
||||
#PRUNE_CRON=*/15 * * * *
|
||||
#RESTIC_PRUNE_ARGS=
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
#RUN_ON_STARTUP=true
|
||||
RESTIC_REPOSITORY=/mnt/restic
|
||||
RESTIC_BACKUP_SOURCES=/data
|
||||
RESTIC_PASSWORD=7xymiWBH4c56rlBXPXbgkxF2zw3f2AGs
|
||||
RESTIC_PASSWORD=__GENERATE_7DTD_RESTIC_PASSWORD__
|
||||
# Backup (exuclusive with Check and Prune)
|
||||
RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
BACKUP_CRON=*/15 * * * *
|
||||
RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
#RESTIC_FORGET_ARGS=--prune --keep-last 8 --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 4
|
||||
# Check (exuclusive with Check and Prune)
|
||||
#CHECK_CRON=*/15 * * * *
|
||||
@@ -1,7 +0,0 @@
|
||||
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET=ht87MVnXkXhBpDkMUHqKDqdg8UGBJt+Fx5jNIqXnN2k=
|
||||
AUTHELIA_SESSION_SECRET=nsvbXKGRXVZUCUkOapntlq/Zh+d75WacTK5Jgyh8zYk=
|
||||
AUTHELIA_STORAGE_ENCRYPTION_KEY=aWeIT74xIhGVd9nUOr4YTToTl5rpBEbzc/fv4jemuos=
|
||||
AUTHELIA_STORAGE_POSTGRES_ADDRESS=tcp://authelia-postgres:5432
|
||||
AUTHELIA_STORAGE_POSTGRES_DATABASE=authelia_db
|
||||
AUTHELIA_STORAGE_POSTGRES_USERNAME=authelia
|
||||
AUTHELIA_STORAGE_POSTGRES_PASSWORD=sAdkxFW6k3GiMOrlBpl6OV76eb9cQz/uk95jmA2UpI8=
|
||||
@@ -0,0 +1,7 @@
|
||||
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET=__GENERATE_AUTHELIA_JWT_SECRET__
|
||||
AUTHELIA_SESSION_SECRET=__GENERATE_AUTHELIA_SESSION_SECRET__
|
||||
AUTHELIA_STORAGE_ENCRYPTION_KEY=__GENERATE_AUTHELIA_STORAGE_ENCRYPTION_KEY__
|
||||
AUTHELIA_STORAGE_POSTGRES_ADDRESS=tcp://authelia-postgres:5432
|
||||
AUTHELIA_STORAGE_POSTGRES_DATABASE=authelia_db
|
||||
AUTHELIA_STORAGE_POSTGRES_USERNAME=authelia
|
||||
AUTHELIA_STORAGE_POSTGRES_PASSWORD=__GENERATE_AUTHELIA_DB_PASSWORD__
|
||||
@@ -1,3 +0,0 @@
|
||||
POSTGRES_USER=authelia
|
||||
POSTGRES_PASSWORD=sAdkxFW6k3GiMOrlBpl6OV76eb9cQz/uk95jmA2UpI8=
|
||||
POSTGRES_DB=authelia_db
|
||||
@@ -0,0 +1,3 @@
|
||||
POSTGRES_USER=authelia
|
||||
POSTGRES_PASSWORD=__GENERATE_AUTHELIA_DB_PASSWORD__
|
||||
POSTGRES_DB=authelia_db
|
||||
Vendored
+2
-2
@@ -1,7 +1,7 @@
|
||||
#RUN_ON_STARTUP=true
|
||||
RESTIC_REPOSITORY=/mnt/restic
|
||||
RESTIC_BACKUP_SOURCES=/data
|
||||
RESTIC_PASSWORD=YFQh8v3Wi95v0p6h88D4u8C8z4gLfdMw
|
||||
RESTIC_PASSWORD=__GENERATE_CADDY_RESTIC_PASSWORD__
|
||||
# Backup (exuclusive with Check and Prune)
|
||||
BACKUP_CRON=*/30 * * * *
|
||||
RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
@@ -11,4 +11,4 @@ RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
#RESTIC_CHECK_ARGS=--read-data-subset=40%
|
||||
# Prune (exuclusive with Check and Prune)
|
||||
#PRUNE_CRON=*/30 * * * *
|
||||
#RESTIC_PRUNE_ARGS=
|
||||
#RESTIC_PRUNE_ARGS=
|
||||
+1
-1
@@ -2,6 +2,6 @@ ALPINE_DATABASE_MODE="external"
|
||||
ALPINE_DATABASE_URL="jdbc:postgresql://dependency-track-postgres:5432/dtrack"
|
||||
ALPINE_DATABASE_DRIVER="org.postgresql.Driver"
|
||||
ALPINE_DATABASE_USERNAME="dtrack"
|
||||
ALPINE_DATABASE_PASSWORD="dtrack"
|
||||
ALPINE_DATABASE_PASSWORD="__GENERATE_DTRACK_DB_PASSWORD__"
|
||||
|
||||
API_BASE_URL="https://dependency-track.bensuperpc.org"
|
||||
@@ -1,3 +0,0 @@
|
||||
POSTGRES_DB="dtrack"
|
||||
POSTGRES_USER="dtrack"
|
||||
POSTGRES_PASSWORD="dtrack"
|
||||
@@ -0,0 +1,3 @@
|
||||
POSTGRES_DB="dtrack"
|
||||
POSTGRES_USER="dtrack"
|
||||
POSTGRES_PASSWORD="__GENERATE_DTRACK_DB_PASSWORD__"
|
||||
Vendored
+1
-1
@@ -4,4 +4,4 @@ DUFS_SERVE_PATH=/data
|
||||
DUFS_HIDDEN=tmp,*.log,*.lock
|
||||
DUFS_ALLOW_ALL=true
|
||||
DUFS_COMPRESS=medium
|
||||
DUFS_AUTH="admin:heqihlOfBmJDESGFlpbPi7P7Mi6F7RkV@/:rw|@/:ro"
|
||||
DUFS_AUTH="admin:__GENERATE_DUFS_PASSWORD__@/:rw|@/:ro"
|
||||
+3
-3
@@ -4,7 +4,7 @@ FORGEJO__database__DB_TYPE=mysql
|
||||
FORGEJO__database__HOST=database_forgejo:3306
|
||||
FORGEJO__database__NAME=forgejo
|
||||
FORGEJO__database__USER=bensuperpc
|
||||
FORGEJO__database__PASSWD=ZcuHcM9tnIEM7EEO7R5jCpEt6v1d6r7s
|
||||
FORGEJO__database__PASSWD=__GENERATE_FORGEJO_DB_PASSWORD__
|
||||
FORGEJO__APP_NAME=Bensuperpc's Forgejo
|
||||
FORGEJO__APP_SLOGAN=Personal Code, Mirrors, and More
|
||||
FORGEJO__server__DOMAIN=git.bensuperpc.org
|
||||
@@ -13,7 +13,7 @@ FORGEJO__server__HTTP_PORT=3000
|
||||
FORGEJO__server__SSH_LISTEN_PORT=2222
|
||||
FORGEJO__server__SSH_PORT=22
|
||||
FORGEJO__server__ROOT_URL=https://git.bensuperpc.org
|
||||
FORGEJO__security__SECRET_KEY=7IWrMh7mC7UMo1SowvUsAT2LOX49eU6P
|
||||
FORGEJO__security__SECRET_KEY=__GENERATE_FORGEJO_SECRET_KEY__
|
||||
#FORGEJO__security__INTERNAL_TOKEN=
|
||||
FORGEJO__security__INSTALL_LOCK=true
|
||||
FORGEJO__security__MIN_PASSWORD_LENGTH=8
|
||||
@@ -22,4 +22,4 @@ FORGEJO__actions__DEFAULT_ACTIONS_URL="https://git.bensuperpc.org"
|
||||
#FORGEJO__log__LEVEL: "debug"
|
||||
FORGEJO__repository__ENABLE_PUSH_CREATE_USER=true
|
||||
FORGEJO__repository__DEFAULT_PUSH_CREATE_PRIVATE=false
|
||||
FORGEJO__repository__DEFAULT_REPO_UNITS=repo.code,repo.actions
|
||||
FORGEJO__repository__DEFAULT_REPO_UNITS=repo.code,repo.actions
|
||||
@@ -1,4 +0,0 @@
|
||||
MARIADB_ROOT_PASSWORD=ZI8Trbot3b8WGqE5AKj1yphKMu4v9qQw
|
||||
MARIADB_USER=bensuperpc
|
||||
MARIADB_PASSWORD=ZcuHcM9tnIEM7EEO7R5jCpEt6v1d6r7s
|
||||
MARIADB_DATABASE=forgejo
|
||||
@@ -0,0 +1,4 @@
|
||||
MARIADB_ROOT_PASSWORD=__GENERATE_FORGEJO_DB_ROOT_PASSWORD__
|
||||
MARIADB_USER=bensuperpc
|
||||
MARIADB_PASSWORD=__GENERATE_FORGEJO_DB_PASSWORD__
|
||||
MARIADB_DATABASE=forgejo
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
DOCKER_HOST=tcp://docker:2376
|
||||
DOCKER_CERT_PATH=/certs/client
|
||||
DOCKER_TLS_VERIFY=1
|
||||
DOCKER_TLS_VERIFY=1
|
||||
Vendored
+3
-3
@@ -1,14 +1,14 @@
|
||||
#RUN_ON_STARTUP=true
|
||||
RESTIC_REPOSITORY=/mnt/restic
|
||||
RESTIC_BACKUP_SOURCES=/data
|
||||
RESTIC_PASSWORD=SCY5cmu12Odca302EXabPA9jXYkCb2NN
|
||||
RESTIC_PASSWORD=__GENERATE_MINECRAFT_RESTIC_PASSWORD__
|
||||
# Backup (exuclusive with Check and Prune)
|
||||
BACKUP_CRON=*/15 * * * *
|
||||
RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
BACKUP_CRON=*/15 * * * *
|
||||
#RESTIC_FORGET_ARGS=--prune --keep-last 8 --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 4
|
||||
# Check (exuclusive with Check and Prune)
|
||||
#CHECK_CRON=*/15 * * * *
|
||||
#RESTIC_CHECK_ARGS=--read-data-subset=40%
|
||||
# Prune (exuclusive with Check and Prune)
|
||||
#PRUNE_CRON=*/15 * * * *
|
||||
#RESTIC_PRUNE_ARGS=
|
||||
#RESTIC_PRUNE_ARGS=
|
||||
+1
-1
@@ -31,4 +31,4 @@ REMOVE_OLD_MODS_DEPTH=16
|
||||
# MODS_FORGEAPI_IGNORE_GAMETYPE
|
||||
# REMOVE_OLD_FORGEAPI_MODS
|
||||
# REMOVE_OLD_DATAPACKS_DEPTH
|
||||
# REMOVE_OLD_DATAPACKS_INCLUDE
|
||||
# REMOVE_OLD_DATAPACKS_INCLUDE
|
||||
+1
-1
@@ -6,7 +6,7 @@ VELOCITY_BUILD_ID=594
|
||||
DEBUG=false
|
||||
DEBUG_HELPER=false
|
||||
ENABLE_RCON=false
|
||||
#RCON_PASSWORD=6hxU3Oxmh2Q8e6S9fjkdWJik
|
||||
#RCON_PASSWORD=__GENERATE_MINECRAFT_PROXY_RCON_PASSWORD__
|
||||
#RCON_PORT=25576
|
||||
INIT_MEMORY=512M
|
||||
MAX_MEMORY=1536M
|
||||
+1
-2
@@ -64,7 +64,7 @@ ALLOW_FLIGHT=false
|
||||
|
||||
# RCON options
|
||||
ENABLE_RCON=false
|
||||
RCON_PASSWORD=6hxU3Oxmh2Q8e6S9fjkdWJik
|
||||
RCON_PASSWORD=__GENERATE_MINECRAFT_RCON_PASSWORD__
|
||||
RCON_PORT=25575
|
||||
BROADCAST_CONSOLE_TO_OPS=true
|
||||
BROADCAST_RCON_TO_OPS=true
|
||||
@@ -78,4 +78,3 @@ SNOOPER_ENABLED=true
|
||||
ENABLE_STATUS=true
|
||||
PREVIEWS_CHAT=false
|
||||
#SYNC_CHUNK_WRITES=true
|
||||
|
||||
+1
-1
@@ -19,4 +19,4 @@ SEED=3820
|
||||
# Spawn Entities Options
|
||||
SPAWN_ANIMALS=true
|
||||
SPAWN_MONSTERS=true
|
||||
SPAWN_NPCS=true
|
||||
SPAWN_NPCS=true
|
||||
@@ -154,7 +154,9 @@ services:
|
||||
env_file:
|
||||
- ./env/openwebui-valkey.env
|
||||
restart: on-failure:7
|
||||
command: valkey-server --requirepass ${VALKEY_PASSWORD:-valkey_password} --maxclients 10000 --timeout 1800
|
||||
# $$VALKEY_PASSWORD (not ${VALKEY_PASSWORD}) so it's expanded at container
|
||||
# runtime from env_file, not at compose-parse time from the host shell.
|
||||
command: sh -c 'exec valkey-server --requirepass "$$VALKEY_PASSWORD" --maxclients 10000 --timeout 1800'
|
||||
volumes:
|
||||
- openwebui-valkey:/data
|
||||
networks:
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
POSTGRES_USER=litellm_user
|
||||
POSTGRES_PASSWORD=fdbdfsgfdghgjhfjtjgdfssdgsfdg
|
||||
POSTGRES_DB=litellm_db
|
||||
@@ -0,0 +1,3 @@
|
||||
POSTGRES_USER=litellm_user
|
||||
POSTGRES_PASSWORD=__GENERATE_LITELLM_DB_PASSWORD__
|
||||
POSTGRES_DB=litellm_db
|
||||
@@ -1,11 +0,0 @@
|
||||
DATABASE_URL=postgresql://litellm_user:fdbdfsgfdghgjhfjtjgdfssdgsfdg@litellm-postgres:5432/litellm_db
|
||||
|
||||
LITELLM_MASTER_KEY=a51d5a17f7b8f96128866c6bfc903ec0
|
||||
|
||||
LITELLM_MODE=proxy
|
||||
UI_USERNAME=admin
|
||||
UI_PASSWORD=ffdsfsdsfdggdfsgdfhgfsgfsg
|
||||
PROXY_BASE_URL=https://litellm.bensuperpc.org
|
||||
|
||||
#OPENAI_API_KEY=
|
||||
#ANTHROPIC_API_KEY=
|
||||
@@ -0,0 +1,11 @@
|
||||
DATABASE_URL=postgresql://litellm_user:__GENERATE_LITELLM_DB_PASSWORD__@litellm-postgres:5432/litellm_db
|
||||
|
||||
LITELLM_MASTER_KEY=__GENERATE_LITELLM_MASTER_KEY__
|
||||
|
||||
LITELLM_MODE=proxy
|
||||
UI_USERNAME=admin
|
||||
UI_PASSWORD=__GENERATE_LITELLM_UI_PASSWORD__
|
||||
PROXY_BASE_URL=https://litellm.bensuperpc.org
|
||||
|
||||
#OPENAI_API_KEY=
|
||||
#ANTHROPIC_API_KEY=
|
||||
@@ -1,4 +0,0 @@
|
||||
PGADMIN_DEFAULT_EMAIL=admin@local.ai
|
||||
PGADMIN_DEFAULT_PASSWORD=admin123
|
||||
PGADMIN_CONFIG_SERVER_MODE=False
|
||||
PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED=False
|
||||
@@ -0,0 +1,4 @@
|
||||
PGADMIN_DEFAULT_EMAIL=admin@local.ai
|
||||
PGADMIN_DEFAULT_PASSWORD=__GENERATE_PGADMIN_PASSWORD__
|
||||
PGADMIN_CONFIG_SERVER_MODE=False
|
||||
PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED=False
|
||||
@@ -1 +0,0 @@
|
||||
PIPELINES_API_KEY=ssdfsfdsfdgfgfg
|
||||
@@ -0,0 +1 @@
|
||||
PIPELINES_API_KEY=__GENERATE_PIPELINES_API_KEY__
|
||||
@@ -1,3 +0,0 @@
|
||||
POSTGRES_DB=openwebui
|
||||
POSTGRES_USER=postgres
|
||||
POSTGRES_PASSWORD=securepassword123
|
||||
@@ -0,0 +1,3 @@
|
||||
POSTGRES_DB=openwebui
|
||||
POSTGRES_USER=postgres
|
||||
POSTGRES_PASSWORD=__GENERATE_OPENWEBUI_DB_PASSWORD__
|
||||
@@ -1,2 +0,0 @@
|
||||
QDRANT__SERVICE__API_KEY=qdrant_api_key
|
||||
QDRANT__SERVICE__ENABLE_API_KEY_AUTHORIZATION=true
|
||||
@@ -0,0 +1,2 @@
|
||||
QDRANT__SERVICE__API_KEY=__GENERATE_QDRANT_API_KEY__
|
||||
QDRANT__SERVICE__ENABLE_API_KEY_AUTHORIZATION=true
|
||||
@@ -1 +0,0 @@
|
||||
VALKEY_PASSWORD=valkey_password
|
||||
@@ -0,0 +1 @@
|
||||
VALKEY_PASSWORD=__GENERATE_VALKEY_PASSWORD__
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
OLLAMA_BASE_URL=http://ollama:11434
|
||||
|
||||
OPENAI_API_BASE_URL=http://litellm:4000/v1
|
||||
OPENAI_API_KEY=a51d5a17f7b8f96128866c6bfc903ec0
|
||||
OPENAI_API_KEY=__GENERATE_LITELLM_MASTER_KEY__
|
||||
|
||||
# openssl rand -hex 32
|
||||
WEBUI_SECRET_KEY=7d83b15a417d090ba5c6b899270a05dd215c60848354c0c7574226d6ff02f39e
|
||||
WEBUI_SECRET_KEY=__GENERATE_OPENWEBUI_SECRET_KEY__
|
||||
|
||||
#HF_HUB_OFFLINE=1
|
||||
# Disable analytics
|
||||
@@ -16,7 +16,7 @@ ANONYMIZED_TELEMETRY=false
|
||||
#OPENAI_API_KEY=
|
||||
|
||||
# Database configuration
|
||||
DATABASE_URL=postgresql://postgres:securepassword123@openwebui-postgres:5432/openwebui
|
||||
DATABASE_URL=postgresql://postgres:__GENERATE_OPENWEBUI_DB_PASSWORD__@openwebui-postgres:5432/openwebui
|
||||
DATABASE_POOL_SIZE=20
|
||||
DATABASE_POOL_MAX_OVERFLOW=10
|
||||
DATABASE_POOL_TIMEOUT=30
|
||||
@@ -24,12 +24,12 @@ DATABASE_POOL_RECYCLE=1800
|
||||
|
||||
VECTOR_DB=${VECTOR_DB:-qdrant}
|
||||
QDRANT_URI=http://qdrant:6333
|
||||
QDRANT_API_KEY=qdrant_api_key
|
||||
QDRANT_API_KEY=__GENERATE_QDRANT_API_KEY__
|
||||
|
||||
REDIS_URL=redis://:valkey_password@valkey:6379/0
|
||||
REDIS_URL=redis://:__GENERATE_VALKEY_PASSWORD__@valkey:6379/0
|
||||
ENABLE_WEBSOCKET_SUPPORT=true
|
||||
WEBSOCKET_MANAGER=redis
|
||||
WEBSOCKET_REDIS_URL=redis://:valkey_password@valkey:6379/1?socket_timeout=86400
|
||||
WEBSOCKET_REDIS_URL=redis://:__GENERATE_VALKEY_PASSWORD__@valkey:6379/1?socket_timeout=86400
|
||||
# Fix issues with redis lib 8.0.0 and openwebUI 0.10.1
|
||||
WEBSOCKET_REDIS_OPTIONS={"socket_timeout":null}
|
||||
|
||||
+2
-2
@@ -4,11 +4,11 @@ DOCKER_MODS=linuxserver/mods:openssh-server-rsync
|
||||
#PUBLIC_KEY_URL=https://github.com/bensuperpc.keys
|
||||
PUBLIC_KEY_DIR=/authorized_ssh_keys
|
||||
USER_NAME=admin
|
||||
USER_PASSWORD=it47mnLJIhNFspkYQo70zJsAYX7n0DSX
|
||||
USER_PASSWORD=__GENERATE_OPENSSH_USER_PASSWORD__
|
||||
|
||||
#PUBLIC_KEY=yourpublickey
|
||||
#PUBLIC_KEY_FILE=/path/to/file
|
||||
#PUBLIC_KEY_DIR=/path/to/directory/containing/_only_/pubkeys
|
||||
#PUBLIC_KEY_URL=https://github.com/username.keys
|
||||
#USER_PASSWORD_FILE=/path/to/file
|
||||
#LOG_STDOUT=
|
||||
#LOG_STDOUT=
|
||||
@@ -1,3 +0,0 @@
|
||||
PS_SHARED_SECRET=CBuS4DJLqIe93xF1KGYRrnhxUFBqLD2n
|
||||
PORT=4001
|
||||
PS_BEHIND_PROXY=true
|
||||
@@ -0,0 +1,3 @@
|
||||
PS_SHARED_SECRET=__GENERATE_PICOSHARE_SHARED_SECRET__
|
||||
PORT=4001
|
||||
PS_BEHIND_PROXY=true
|
||||
@@ -1,4 +0,0 @@
|
||||
MARIADB_ROOT_PASSWORD=8O34297GrBfT3Ld34Lfg9mpotmZwbJtt
|
||||
MARIADB_USER=bensuperpc
|
||||
MARIADB_PASSWORD=wdSUa1JEZhXie5AJ5NcX1w73xmpO12EY
|
||||
MARIADB_DATABASE=projectsend
|
||||
@@ -0,0 +1,4 @@
|
||||
MARIADB_ROOT_PASSWORD=__GENERATE_PROJECTSEND_DB_ROOT_PASSWORD__
|
||||
MARIADB_USER=bensuperpc
|
||||
MARIADB_PASSWORD=__GENERATE_PROJECTSEND_DB_PASSWORD__
|
||||
MARIADB_DATABASE=projectsend
|
||||
@@ -1,2 +0,0 @@
|
||||
PSITRANSFER_ADMIN_PASS=n9jLVNT9QUotTJTT91JqH4GyBTg9pvEn
|
||||
#PSITRANSFER_PORT=3000
|
||||
@@ -0,0 +1,2 @@
|
||||
PSITRANSFER_ADMIN_PASS=__GENERATE_PSITRANSFER_ADMIN_PASS__
|
||||
#PSITRANSFER_PORT=3000
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
WEBUI_PORT=8080
|
||||
TORRENTING_PORT=6881
|
||||
# Use alternative WebUI: /vuetorrent
|
||||
DOCKER_MODS=ghcr.io/vuetorrent/vuetorrent-lsio-mod:latest
|
||||
DOCKER_MODS=ghcr.io/vuetorrent/vuetorrent-lsio-mod:latest
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
#RUN_ON_STARTUP=true
|
||||
RESTIC_REPOSITORY=/mnt/restic
|
||||
RESTIC_BACKUP_SOURCES=/data
|
||||
RESTIC_PASSWORD=SCY5cmu12Odca302EXabPA9jXYkCb2NN
|
||||
RESTIC_PASSWORD=__GENERATE_SATISFACTORY_RESTIC_PASSWORD__
|
||||
# Backup (exuclusive with Check and Prune)
|
||||
BACKUP_CRON=*/15 * * * *
|
||||
RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
+1
-1
@@ -14,4 +14,4 @@ TIMEOUT=60
|
||||
|
||||
AUTOSAVEONDISCONNECT=true
|
||||
CRASHREPORT=true
|
||||
NETWORKQUALITY=3
|
||||
NETWORKQUALITY=3
|
||||
+1
-1
@@ -6,4 +6,4 @@ LANGS=en_GB
|
||||
# Can be disabled after initial login, optional,
|
||||
# default it admin:stirling
|
||||
#SECURITY_INITIALLOGIN_USERNAME=admin
|
||||
#SECURITY_INITIALLOGIN_PASSWORD=Jw9U039f5xc2mFcacvGvPD9RjwIh4DzO
|
||||
#SECURITY_INITIALLOGIN_PASSWORD=__GENERATE_STIRLINGPDF_LOGIN_PASSWORD__
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
#RUN_ON_STARTUP=true
|
||||
RESTIC_REPOSITORY=/mnt/restic
|
||||
RESTIC_BACKUP_SOURCES=/data
|
||||
RESTIC_PASSWORD=SCY5cmu12Odca302EXabPA9jXYkCb2NN
|
||||
RESTIC_PASSWORD=__GENERATE_TEAMFORTRESS2_RESTIC_PASSWORD__
|
||||
# Backup (exuclusive with Check and Prune)
|
||||
BACKUP_CRON=*/15 * * * *
|
||||
RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
@@ -11,4 +11,4 @@ RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
#RESTIC_CHECK_ARGS=--read-data-subset=40%
|
||||
# Prune (exuclusive with Check and Prune)
|
||||
#PRUNE_CRON=*/15 * * * *
|
||||
#RESTIC_PRUNE_ARGS=
|
||||
#RESTIC_PRUNE_ARGS=
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
SRCDS_TOKEN=D3667770288B9CC33B0E526D441FA241
|
||||
SRCDS_PW=linuxmasterrace
|
||||
SRCDS_PORT=27015
|
||||
SRCDS_MAXPLAYERS=32
|
||||
SRCDS_REGION=3
|
||||
SRCDS_STARTMAP=pl_goldrush
|
||||
#SRCDS_MAPCYCLE="mapcycle_default.txt"
|
||||
#pl_badwater
|
||||
SRCDS_CFG=server.cfg
|
||||
SRCDS_SECURED=0
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
# Get a free Game Server Login Token from https://steamcommunity.com/dev/managegameservers
|
||||
# This is NOT a value make init can generate for you, you must fill it in yourself.
|
||||
SRCDS_TOKEN=CHANGEME_STEAM_GSLT_TOKEN
|
||||
SRCDS_PW=__GENERATE_TEAMFORTRESS2_SERVER_PW__
|
||||
SRCDS_PORT=27015
|
||||
SRCDS_MAXPLAYERS=32
|
||||
SRCDS_REGION=3
|
||||
SRCDS_STARTMAP=pl_goldrush
|
||||
#SRCDS_MAPCYCLE="mapcycle_default.txt"
|
||||
#pl_badwater
|
||||
SRCDS_CFG=server.cfg
|
||||
SRCDS_SECURED=0
|
||||
@@ -1,3 +0,0 @@
|
||||
TZ=Etc/UTC
|
||||
USER=admin
|
||||
PASS=4vqXCNGG09JUBe7rXkuQS8MG7ovE6Vxj
|
||||
@@ -0,0 +1,3 @@
|
||||
TZ=Etc/UTC
|
||||
USER=admin
|
||||
PASS=__GENERATE_TRANSMISSION_PASSWORD__
|
||||
@@ -1,4 +0,0 @@
|
||||
WORDPRESS_DB_USER=bensuperpc
|
||||
WORDPRESS_DB_PASSWORD=lEOEf8cndnDjp84O4Uv5D9zJLJDFatLw
|
||||
WORDPRESS_DB_NAME=wordpress
|
||||
WORDPRESS_DB_HOST=wordpress_db:3306
|
||||
@@ -0,0 +1,4 @@
|
||||
WORDPRESS_DB_USER=bensuperpc
|
||||
WORDPRESS_DB_PASSWORD=__GENERATE_WORDPRESS_DB_PASSWORD__
|
||||
WORDPRESS_DB_NAME=wordpress
|
||||
WORDPRESS_DB_HOST=wordpress_db:3306
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
#RUN_ON_STARTUP=true
|
||||
RESTIC_REPOSITORY=/mnt/restic
|
||||
RESTIC_BACKUP_SOURCES=/data
|
||||
RESTIC_PASSWORD=7L1Ncbquax0B2TCOmrjaQl9n5mnY88bQ
|
||||
RESTIC_PASSWORD=__GENERATE_WORDPRESS_RESTIC_PASSWORD__
|
||||
# Backup (exuclusive with Check and Prune)
|
||||
BACKUP_CRON=*/30 * * * *
|
||||
RESTIC_BACKUP_ARGS=--tag docker-volumes --verbose
|
||||
@@ -11,4 +11,4 @@ RESTIC_FORGET_ARGS=--prune --keep-last 8 --keep-daily 7 --keep-weekly 5 --keep-m
|
||||
#RESTIC_CHECK_ARGS=--read-data-subset=40%
|
||||
# Prune (exuclusive with Check and Prune)
|
||||
#PRUNE_CRON=*/30 * * * *
|
||||
#RESTIC_PRUNE_ARGS=
|
||||
#RESTIC_PRUNE_ARGS=
|
||||
@@ -1,4 +0,0 @@
|
||||
MARIADB_ROOT_PASSWORD=7L1Ncbquax0B2TCOmrjaQl9n5mnY88bQ
|
||||
MARIADB_USER=bensuperpc
|
||||
MARIADB_PASSWORD=lEOEf8cndnDjp84O4Uv5D9zJLJDFatLw
|
||||
MARIADB_DATABASE=wordpress
|
||||
@@ -0,0 +1,4 @@
|
||||
MARIADB_ROOT_PASSWORD=__GENERATE_WORDPRESS_DB_ROOT_PASSWORD__
|
||||
MARIADB_USER=bensuperpc
|
||||
MARIADB_PASSWORD=__GENERATE_WORDPRESS_DB_PASSWORD__
|
||||
MARIADB_DATABASE=wordpress
|
||||
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copy every services/**/*.env.example to *.env and fill in random secrets.
|
||||
# Existing *.env files are never touched, so this is safe to re-run.
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
SERVICES_DIR="${ROOT_DIR}/infrastructure/services"
|
||||
|
||||
random_value() {
|
||||
openssl rand -hex 16
|
||||
}
|
||||
|
||||
mapfile -d '' -t examples < <(find "${SERVICES_DIR}" -type f -name '*.env.example' -print0 | sort -z)
|
||||
|
||||
created=0
|
||||
skipped=0
|
||||
|
||||
for example in "${examples[@]}"; do
|
||||
target="${example%.example}"
|
||||
if [[ -f "${target}" ]]; then
|
||||
skipped=$((skipped + 1))
|
||||
continue
|
||||
fi
|
||||
cp "${example}" "${target}"
|
||||
created=$((created + 1))
|
||||
done
|
||||
|
||||
mapfile -d '' -t targets < <(find "${SERVICES_DIR}" -type f -name '*.env' -print0)
|
||||
|
||||
declare -A generated
|
||||
tokens="$(grep -hoE '__GENERATE_[A-Z0-9_]+__' "${targets[@]}" 2>/dev/null | sort -u || true)"
|
||||
|
||||
for token in ${tokens}; do
|
||||
if [[ -z "${generated[${token}]:-}" ]]; then
|
||||
generated[${token}]="$(random_value)"
|
||||
fi
|
||||
value="${generated[${token}]}"
|
||||
for f in "${targets[@]}"; do
|
||||
if grep -qF -- "${token}" "${f}" 2>/dev/null; then
|
||||
sed -i "s#${token}#${value}#g" "${f}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
echo "Created ${created} env file(s), left ${skipped} existing one(s) untouched."
|
||||
|
||||
remaining="$(grep -rlF 'CHANGEME_' "${targets[@]}" 2>/dev/null || true)"
|
||||
if [[ -n "${remaining}" ]]; then
|
||||
echo
|
||||
echo "These files still need a value you must fill in by hand:"
|
||||
echo "${remaining}"
|
||||
fi
|
||||
Reference in New Issue
Block a user