Compare commits

..

2 commits

Author SHA1 Message Date
Alexey Skobkin 8d3710d0cb
sish. stack draft. 2024-07-25 23:35:55 +03:00
Alexey Skobkin 24beb91928 castopod (#112) (#114)
Co-authored-by: Alexey Skobkin <skobkin-ru@ya.ru>
Reviewed-on: #114
2024-07-25 20:24:19 +00:00
5 changed files with 108 additions and 0 deletions

View file

@ -35,6 +35,7 @@ Not every stack is tested to fully work.
| App Name | Status | Image | Description | Links |
|-------------------------|-------------|----------------------------------------------|-------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ARK Server | ✅ | `thmhoag/arkserver` | ARK: Survival Evolved game server with ArkManager. | [Website](http://playark.com), [Steam](https://store.steampowered.com/app/346110/ARK_Survival_Evolved/), [Image Github](https://github.com/thmhoag/arkserver), [ArkManager](https://github.com/arkmanager/ark-server-tools) |
| Castopod | ✅ | `castopod/castopod` | Self-hosted federated podcasting platform | [Website](https://castopod.org), [Gitlab](https://code.castopod.org/adaures/castopod) |
| Drone | ✅ | `drone/drone` | Continuous integration platform. | [Website](https://www.drone.io), [Github](https://github.com/harness/drone), [Image](https://hub.docker.com/r/drone/drone) |
| Drone Docker Runner | ✅ | `drone/drone-runner-docker` | CI runner daemon for Docker. | [Website](https://www.drone.io), [Github](https://github.com/drone-runners/drone-runner-docker), [Image](https://hub.docker.com/r/drone/drone-runner-docker) |
| Duplicati | ✅ | `linuxserver/duplicati` | Backup solution with many storage backends. | [Website](https://www.duplicati.com), [Github](https://github.com/duplicati/duplicati) |

57
castopod/.env.dist Normal file
View file

@ -0,0 +1,57 @@
# see https://docs.castopod.org/main/en/getting-started/docker/
# see https://hub.docker.com/r/castopod/castopod
# see https://docs.castopod.org/main/en/getting-started/docker/#environment-variables
IMAGE_TAG=latest
# Ports
EXTERNAL_ADDRESS=127.0.0.1
EXTERNAL_PORT=8393
# Castopod Settings
CP_BASEURL=https://cp.domain.tld
#CP_MEDIA_BASEURL=https://cp.domain.tld
CP_ANALYTICS_SALT=changeme
#CP_CACHE_HANDLER=redis
#CP_REDIS_HOST=redis
CP_REDIS_PASSWORD=changeme
#CP_ADMIN_GATEWAY=custom-admin-path
#CP_AUTH_GATEWAY=custom-auth-path
#CP_ENABLE_2FA=true
CP_DATABASE_HOSTNAME=host.docker.internal
CP_DATABASE_NAME=castopod
CP_DATABASE_USERNAME=castopod
CP_DATABASE_PASSWORD=changeme
# Storage
MEDIA_PATH=./media
REDIS_DATA_PATH=./redis_data
# See https://docs.castopod.org/main/en/getting-started/install/#s3
#CP_MEDIA_FILE_MANAGER="s3"
#CP_MEDIA_S3_ENDPOINT="your_s3_host"
#CP_MEDIA_S3_KEY="your_s3_key"
#CP_MEDIA_S3_SECRET="your_s3_secret"
#CP_MEDIA_S3_REGION="your_s3_region"
##CP_MEDIA_S3_BUCKET="your_s3_bucket"
##CP_MEDIA_S3_PROTOCOL=
##CP_MEDIA_S3_PATH_STYLE_ENDPOINT=
##CP_MEDIA_S3_KEY_PREFIX=
#CP_MAX_BODY_SIZE=512M
# Mailing
#CP_EMAIL_FROM=your_email_address
#CP_EMAIL_SMTP_HOST=your_smtp_host
#CP_EMAIL_SMTP_USERNAME=your_smtp_user
#CP_EMAIL_SMTP_PASSWORD=your_smtp_password
##CP_EMAIL_SMTP_PORT=12345
##CP_EMAIL_SMTP_CRYPTO=tls
LOG_MAX_SIZE=5m
LOG_MAX_FILE=5

View file

@ -0,0 +1,46 @@
services:
castopod:
image: 'castopod/castopod:${IMAGE_TAG:-latest}'
container_name: 'castopod'
volumes:
- '${MEDIA_PATH:-./media}:/var/www/castopod/public/media'
environment:
MYSQL_DATABASE: '${CP_DATABASE_NAME:-castopod}'
MYSQL_USER: '${CP_DATABASE_USERNAME:-castopod}'
MYSQL_PASSWORD: '${CP_DATABASE_PASSWORD}'
CP_BASEURL: "${CP_BASEURL}"
CP_ANALYTICS_SALT: '${CP_ANALYTICS_SALT}'
CP_CACHE_HANDLER: '${CP_CACHE_HANDLER:-redis}'
CP_REDIS_HOST: '${CP_REDIS_HOST:-redis}'
CP_REDIS_PASSWORD: '${CP_REDIS_PASSWORD}'
env_file: '.env'
networks:
- castopod
extra_hosts:
- 'host.docker.internal:host-gateway'
ports:
- '${EXTERNAL_ADDRESS:-127.0.0.1}:${EXTERNAL_PORT:-8393}:8000'
restart: unless-stopped
logging:
driver: 'json-file'
options:
max-size: '${LOG_MAX_SIZE:-5m}'
max-file: '${LOG_MAX_FILE:-5}'
redis:
image: 'redis:7.2-alpine'
container_name: 'castopod-redis'
command: '--requirepass ${CP_REDIS_PASSWORD}'
volumes:
- '${REDIS_DATA_PATH:-./redis_data}:/data'
networks:
- castopod
restart: unless-stopped
logging:
driver: 'json-file'
options:
max-size: '${LOG_MAX_SIZE:-5m}'
max-file: '${LOG_MAX_FILE:-5}'
networks:
castopod:

2
castopod/media/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/*
!/.gitignore

2
castopod/redis_data/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/*
!/.gitignore