The main goal of this project is to easily set up Spotweb using Docker on the Raspberry Pi (or any compatible arm chipset) and regular x86 chipsets.
The easiest way to get Spotweb up and running is using the included docker-compose.yml
file. This will run Spotweb together with MySQL.
docker compose up -d
Have a look at the rest of the documentation for more fine tuned configuration.
Spotweb requires a database to work. Out of the box this project supports MySQL, PostgreSQL and SQLite. Provide one or more of the following environment variables to configure the database:
pdo_mysql
(MySQL, default)pdo_pgsql
(PostgreSQL)pdo_sqlite
(SQLite)mysql
)3306
)spotweb
)spotweb
)spotweb
)Example Docker Compose files are included in the examples
directory.
When no environment variables are configured, MySQL settings will be used as default.
See the included examples/docker-compose-mysql.yml
.
To use PostgreSQL have a look at examples/docker-compose-postgres.yml
on how to set-up the environment variables and how to include the PostgreSQL database Docker container.
SQLite is a light-weight serverless database engine and stores all content in a single file. Note that SQLite support in Spotweb is the least-tested database mode. Please report any issues to the Spotweb project.
See examples/docker-compose-sqlite.yml
for an example Docker Compose setup to use SQLite.
DB_ENGINE
variable to pdo_sqlite
DB_NAME
(e.g. /data/spotweb.db3
, when the database does not exist it will be created)docker run -p 8085:80 \
--name spotweb -d \
-e DB_ENGINE=pdo_sqlite \
-e DB_NAME=/data/spotweb.db3 \
-v /local/path/to/spotweb-data:/data:rw \
erikdevries/spotweb
To connect to an external database configure the DB_HOST
. Make sure the database server allows external access and correct credentials and/or port settings are configured.
docker run -p 8085:80 \
--name spotweb -d \
-e DB_HOST=mysql.hostname \
erikdevries/spotweb
http://localhost:8085
admin
and default password spotweb
CRON_INTERVAL
environment variable to any valid cronjob expression (see e.g. https://cron.help/ for more information, default 5 minute interval is configured in the docker-compose.yml file as an example)/app/cache
)/app/cache
see the commented lines in the included Docker Compose files on how to do thisTZ
environment variable to any valid timezone (e.g. Europe/Amsterdam or Europe/Lisbon)ownsettings.php
You can override Spotweb settings by using a custom ownsettings.php
file. In most cases there is no need to use this feature, so only use this when you know what you are doing!
The example below will mount /external/ownsettings.php
to /app/ownsettings.php
inside the container. Spotweb will see the ownsettings file and load it automatically.
volumes:
- /external/ownsettings.php:/app/ownsettings.php
If you want to use Spotweb with for example Sonarr or Radarr (or any tool that is compatible with newznab indexers), create a new (non admin) user in Spotweb and use the API key associated with this new user.
Next step is to set-up a custom newznab indexer in Sonarr or Radarr and point it to the Spotweb url with the API key from the newly created user.
pdo_mysql
(MySQL, default)pdo_pgsql
(PostgreSQL)pdo_sqlite
(SQLite)mysql
)3306
)spotweb
)spotweb
)spotweb
)Europe/Amsterdam
)*/5 * * * *
)