castopod. stack draft. (#112)

This commit is contained in:
Alexey Skobkin 2024-07-23 00:25:56 +03:00
parent 126c3f59bd
commit cd2c128901
No known key found for this signature in database
GPG key ID: 5D5CEF6F221278E7
5 changed files with 95 additions and 0 deletions

View file

@ -35,6 +35,7 @@ Not every stack is tested to fully work.
| App Name | Status | Image | Description | Links | | 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) | | 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 | ✅ | `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) | | 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) | | Duplicati | ✅ | `linuxserver/duplicati` | Backup solution with many storage backends. | [Website](https://www.duplicati.com), [Github](https://github.com/duplicati/duplicati) |

44
castopod/.env.dist Normal file
View file

@ -0,0 +1,44 @@
# see https://docs.castopod.org/main/en/getting-started/docker/
# see https://hub.docker.com/r/castopod/castopod
# Ports
EXTERNAL_ADDRESS=127.0.0.1
EXTERNAL_PORT=8393
# Castopod Settings
CP_BASEURL=https://cp.domain.tld
CP_ANALYTICS_SALT=changeme
CP_CACHE_HANDLER=redis
#CP_REDIS_HOST=redis
CP_REDIS_PASSWORD=changeme
# Storage
MEDIA_PATH=./media
REDIS_DATA_PATH=./redis_data
# See https://docs.castopod.org/main/en/getting-started/install/#s3
#media.fileManager="s3"
#media.s3.endpoint="your_s3_host"
#media.s3.key="your_s3_key"
#media.s3.secret="your_s3_secret"
#media.s3.region="your_s3_region"
##media.s3.bucket="your_s3_bucket"
# Mailing
#email.fromEmail=your_email_address
#email.SMTPHost=your_smtp_host
#email.SMTPUser=your_smtp_user
#email.SMTPPass=your_smtp_password
##email.SMTPPort=12345
##email.SMTPCrypto=tls
# Database
MYSQL_DATABASE=database
MYSQL_USER=user
MYSQL_PASSWORD=password
LOG_MAX_SIZE=5m
LOG_MAX_FILE=5

View file

@ -0,0 +1,46 @@
services:
castopod:
image: castopod/castopod:latest
container_name: 'castopod'
volumes:
- '${MEDIA_PATH:-./media}:/var/www/castopod/public/media'
environment:
MYSQL_DATABASE: '${MYSQL_DATABASE:-host.docker.internal}'
MYSQL_USER: '${MYSQL_USER:-castopod}'
MYSQL_PASSWORD: '${MYSQL_PASSWORD}'
CP_BASEURL: "https://castopod.example.com"
CP_ANALYTICS_SALT: '${CP_ANALYTICS_SALT}'
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