[Request] unRAID Template? #283
Replies: 4 comments 7 replies
-
i converted this into a discussion so people can upvote it if there is demand for it. as long as you can run docker you should be able to run the solidtime docker images, but i have never used unraid so I'm not sure how you would have to configure it, or what configuration options it gives you. |
Beta Was this translation helpful? Give feedback.
-
You can install PortainerCE https://unraid.net/community/apps?q=portainer in the meantime and use it to create the solidtime stack. I used the following # https://www.solidtime.io/
# https://docs.solidtime.io/self-hosting/guides/docker
# https://docs.solidtime.io/self-hosting/configuration
# https://github.com/solidtime-io/solidtime
# https://hub.docker.com/r/solidtime/solidtime
#
# ISSUE:
# PASSPORT_PRIVATE_KEY and PASSPORT_PUBLIC_KEY environment doesn't work
# => execute instead "php artisan passport:keys" to generate under 'storage/oauth-.*.key'
# https://stackoverflow.com/questions/39414956/laravel-passport-key-path-oauth-public-key-does-not-exist-or-is-not-readable
networks:
backend:
external: false
volumes:
server-data:
driver: local
postgres-data:
driver: local
services:
server:
restart: always
image: solidtime/solidtime:${SOLIDTIME_IMAGE_TAG:-latest}
container_name: solidtime_server
user: "1000:1000"
ports:
- ${FORWARD_APP_PORT:-8000}:8000
networks:
- backend
volumes:
- server-data:/var/www/html/storage
environment:
CONTAINER_MODE: http
AUTO_DB_MIGRATE: true
env_file:
- stack.env
healthcheck:
test: [ "CMD-SHELL", "curl --fail http://localhost:8000/health-check/up || exit 1" ]
depends_on:
- database
scheduler:
restart: always
image: "solidtime/solidtime:${SOLIDTIME_IMAGE_TAG:-latest}"
container_name: solidtime_scheduler
user: "1000:1000"
networks:
- backend
volumes:
- server-data:/var/www/html/storage
environment:
CONTAINER_MODE: scheduler
env_file:
- stack.env
healthcheck:
test: [ "CMD-SHELL", "supervisorctl status scheduler:scheduler_00" ]
depends_on:
- database
queue:
restart: always
image: "solidtime/solidtime:${SOLIDTIME_IMAGE_TAG:-latest}"
container_name: solidtime_queue
user: "1000:1000"
networks:
- backend
volumes:
- server-data:/var/www/html/storage
environment:
CONTAINER_MODE: worker
WORKER_COMMAND: "php /var/www/html/artisan queue:work"
env_file:
- stack.env
healthcheck:
test: [ "CMD-SHELL", "supervisorctl status worker:worker_00" ]
depends_on:
- database
database:
restart: always
image: postgres:16
container_name: solidtime_db
environment:
PGPASSWORD: ${DB_PASSWORD:-secret}
POSTGRES_DB: ${DB_DATABASE}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD:-secret}
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- backend
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "${DB_DATABASE}", "-U", "${DB_USERNAME}"]
retries: 3
timeout: 5s
In Portainer it looks like this: And at the Environment variables section you can switch to Advanced mode: and paste the environment settings there - check also https://docs.solidtime.io/self-hosting/configuration for the details: APP_DOMAIN=https://your-domain.com
DB_DATABASE=solidtime
DB_USERNAME=solidtime
FORWARD_APP_PORT=18000
DB_PASSWORD=INSERT-YOUR-DB-PASSWORD-WHICH-YOU-WANT
SOLIDTIME_IMAGE_TAG=latest
APP_NAME="solidtime"
VITE_APP_NAME="solidtime"
APP_ENV="production"
APP_DEBUG="true"
APP_URL="https://your-domain.com"
APP_FORCE_HTTPS="true"
TRUSTED_PROXIES="0.0.0.0/0,2000:0:0:0:0:0:0:0/3"
SUPER_ADMINS=""
LOG_CHANNEL="stderr_daily"
LOG_LEVEL="debug"
DB_CONNECTION="pgsql"
DB_HOST="solidtime_db"
DB_PORT="5432"
DB_SSLMODE="require"
MAIL_MAILER="smtp"
MAIL_HOST="smtp.gmail.com"
MAIL_PORT="587"
MAIL_ENCRYPTION="tls"
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="solidtime"
MAIL_USERNAME="[email protected]"
MAIL_PASSWORD="GENERATE-AND-INSERT-GMAIL-APP-PASSWORD"
QUEUE_CONNECTION="database"
FILESYSTEM_DISK="local"
PUBLIC_FILESYSTEM_DISK="public"
APP_KEY="GENERATE-AND-INSERT-APP-KEY" You need to change the above values to your target:
Then press the button Once it is up and running the stack looks like this in Portainer: Press the Then press Press the Go back to the solidtime stack: Select the When you have set Press here then the You have to use a reachable mail address because the application sends you then a link to validate the mail address. Hope it helps 😄. |
Beta Was this translation helpful? Give feedback.
-
First of all, wow, what a response from @markus-ruderman - that's nothing less than heroic work above. I just wanted to suggest another possibility, I have installed the "Docker Compose Manager" plugin in Unraid - you can find this in the Community Apps page. This lets me run docker-compose stacks (like Portainer lets you do). You can probably use the compose file above, maybe with some tweaking (I used fully qualified paths to the .env files under the appdata share). |
Beta Was this translation helpful? Give feedback.
-
Thanks for the write up! I actually got this working with native unRAID. Below is the templates file that can be used. You can store this at
When running |
Beta Was this translation helpful? Give feedback.
-
Hi,
Love the look of solidtime. Unfortunately with the documentation currently available I'm finding it difficult to configure this to run on unRAID. Unsure if this is because solidtime cannot function outside of docker compose?
Would love any advice :)
Thanks
Beta Was this translation helpful? Give feedback.
All reactions