Skip to main content

Pure Docker

We recommend using Docker Compose because it is easier and provides more convenience for running multiple services than the pure Docker command-line interface. Before you proceed, make sure you have Docker installed on your system. It is available for Mac, Linux, and Windows.

Play With Docker

If you want to try Docker, I highly recommend to give Play With Docker a try. Also known as PWD, it’s an online playground where you can test all the latest Docker features without having to install anything locally. Once in PWD, you can create an instance, and you’ll feel as if you’re in the shell of a Linux VM.

Locations for Docker images

By version

On Docker Hub you can find tags by version number, for example qdraw/starsky:v0.5.6 or on GitHub Container Registry This is on GitHub Container Registry: ghcr.io/qdraw/starsky:v0.5.7-beta.0

Unstable test version:

  • ghcr.io/qdraw/starsky:master is the latest unstable image from the master branch, you can find it on GitHub Container Registry

Run Docker image with MySQL

Scroll below for example with SQLite, the snippet below is for MariaDB/MySQL.

docker run -d \
--name starsky \
--security-opt seccomp=unconfined \
--security-opt apparmor=unconfined \
-p 6470:6470 \
-e PORT=6470 \
-e app__databaseType="mysql" \
-e app__IsAccountRegisterOpen="false" \
-e app__useDiskWatcher="false" \
-e app__storageFolder="/app/pictures" \
-e DOTNET_USE_POLLING_FILE_WATCHER="true" \
-e DOTNET_HOSTBUILDER__RELOADCONFIGONCHANGE="false" \
--add-host=host.docker.internal:host-gateway \
-e app__databaseConnection="Server=host.docker.internal;port=6499;database=starsky_db;uid=starsky_sql;pwd=change__this__password__please_this_unsafe" \
-v /app/storage \
-v ~/Pictures:/app/pictures \
qdraw/starsky

Next install mysql/MariaDb

Run the following command to run MariaDb in Docker Make sure you have replaced the root and user password

docker run -d \
--name=mariadb \
--add-host=host.docker.internal:host-gateway \
-e PUID=1000 \
-e PGID=1000 \
-e MYSQL_ROOT_PASSWORD=change__this__root__password__please_this_unsafe \
-e TZ=UTC \
-e MYSQL_DATABASE=starsky_db `#optional` \
-e MYSQL_USER=starsky_sql `#optional` \
-e MYSQL_PASSWORD=change__this__password__please_this_unsafe `#optional` \
-p 6499:3306 \
-v /opt/mariadb:/config \
--restart unless-stopped \
lscr.io/linuxserver/mariadb

(Optional) Next install phpmyadmin

docker run -d \
--name=phpmyadmin \
--add-host=host.docker.internal:host-gateway \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=UTC \
-e PMA_HOST=host.docker.internal \
-e PMA_PORT=6499 \
-e MYSQL_ROOT_PASSWORD=change__this__root__password__please_this_unsafe \
-e PMA_ARBITRARY=0 `#optional` \
-p 10859:80 \
-v /opt/phpmyadmin:/config \
--restart unless-stopped \
lscr.io/linuxserver/phpmyadmin:latest

restore

To restore a existing database run the following command: Read more about this in the MariaDB documentation

docker exec -i mariadb mysql -uroot -pchange__this__root__password__please_this_unsafe starsky < $HOME/__starsky__temp.sql

:: Note Scroll below for more information about docker commands you can use.

Run Docker image with SQLite

docker run -d \
--name starsky \
--security-opt seccomp=unconfined \
--security-opt apparmor=unconfined \
-p 6470:6470 \
-e PORT=6470 \
-e app__databaseType="sqlite" \
-e app__IsAccountRegisterOpen="false" \
-e app__useDiskWatcher="false" \
-e app__storageFolder="/app/pictures" \
-e DOTNET_USE_POLLING_FILE_WATCHER="true" \
-e DOTNET_HOSTBUILDER__RELOADCONFIGONCHANGE="false" \
-v /app/storage \
-v /Pictures:/app/pictures \
qdraw/starsky

Logging

View logging:

docker logs -f starsky

Stop

docker stop starsky

remove

docker rm -f starsky

See docker-compose.md for more information