Host Platform: CapRover
Deploy AniStream on CapRover using the provided one-click template.
CapRover is an open-source PaaS that simplifies container management, automated Let's Encrypt SSL certificates, and web reverse proxy routing.
AniStream includes a native CapRover One-Click App template definition.
1. Deployment Steps
Open CapRover Dashboard navigate to Apps → and click "Create A New App" and then "One-Click Apps/Databases
Search for >> TEMPLATE << and select it
Copy the template and paste it into the input field
captainVersion: 4
services:
$$cap_appname:
image: 'ghcr.io/cbx0-dev/anistream-api:latest'
volumes:
- $$cap_appname-assets:/data/assets
restart: unless-stopped
environment:
SIDECAR_PATH: /app/sidecar
ASSETS_PATH: /data/assets
DATABASE_MIGRATION_PATH: /app/migration
DATABASE_DRIVER: $$cap_database_driver
DATABASE_METADATA_CONNECTION_STRING: $$cap_metadata_connection_string
DATABASE_PROFILE_CONNECTION_STRING: $$cap_profile_connection_string
caproverExtra:
containerHttpPort: '8080'
$$cap_appname-worker:
depends_on:
- $$cap_appname
image: 'ghcr.io/cbx0-dev/anistream-worker:latest'
volumes:
- $$cap_appname-assets:/data/assets
restart: unless-stopped
environment:
SIDECAR_PATH: /app/sidecar
ASSETS_PATH: /data/assets
DATABASE_MIGRATION_PATH: /app/migration
DATABASE_DRIVER: $$cap_database_driver
DATABASE_METADATA_CONNECTION_STRING: $$cap_metadata_connection_string
DATABASE_PROFILE_CONNECTION_STRING: $$cap_profile_connection_string
caproverExtra:
notExposeAsWebApp: 'true'
caproverOneClickApp:
variables:
- id: $$cap_database_driver
label: Database driver
validRegex: /.{1,}/
- id: $$cap_metadata_connection_string
label: Metadata database connection string
validRegex: /.{1,}/
- id: $$cap_profile_connection_string
label: Profile database connection string
validRegex: /.{1,}/
instructions:
start: >-
Deploys AniStream (API + worker) from GHCR images.
end: >
AniStream API is deployed as $$cap_appname-api.
displayName: AniStream
isOfficial: false
description: AniStream API + background worker, sharing a persistent assets volume.Set your base app name (e.g. anistream).
AniStream requires a database storage engine to persist user profiles, watch progress, and media metadata.
Select one of the engines and insert the given configuration fields into the CapRover input mask.
Click "Deploy" and wait for CapRover to pull container images and start both the API and background worker services.
Once deployed, navigate to the anistream app in CapRover, open "HTTP Settings", and click "Enable HTTPS" and optional enforce HTTPS.
It is required to setup an SSL certificate so that the updater of the clients accept the update-manifests.
Using no SSL certificate is possible, but will break the functionality of the client updater
Next Step: Setup Outro & Connect Clients
Now that your CapRover app is running, proceed to the Outro to access the web dashboard and connect your desktop clients.