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