Can I use railway to deploy my django application with minio and postgresql database?
I built a huge huuuuge application with django backend, and important images stored in minio, linked to a postgres database. Now I need to deploy this somewhere. It also uses an smtp server for emails, but I’m thinking I can keep that with amazon while using railway for the rest of everything cause AWS is a pain in the ass full offense. So can I do this here and where can I find info on doing it for a case like this on railway is it in the docs? I don’t know where to start for this deployment.
29 Replies
Project ID:
N/A
N/A
we have a minio template, so deploying that would really only be a few clicks, same for postgres, then it's just up to you to deploy your repo with your Django app
i’ve been using docker compose for this and in my django settings as well as other place i need to have all the information for the app right will i get the new information from railway and put it in settings from an env i’m trying to figure out what is going to happen to my docker here does it just evaporate and was a test env
railway doesn't use docker compose, so it just wouldn't do anything, you would need to configure your railway service with all the needed environment variables and whatnot
ok ok
so yea like i’m picturing it just evaporates cause it becomes useless out my system
Does your Django app already use environment variables for config? like database credentials and the MinIO endpoint?
right now it’s all in settings.py and docker compose some of it
but when i deployed i was gonna put it in env for the secret ones yea
is it a bad idea? i don’t know how to do it a different way lol
so you are hardcoding everything into settings.py?
for at least some security
yea
i do that for security
there is even more secure ways apparently
it’s in case someone gets their hands on settings.py
somehow
that's far less secure lol
you think so?
hardcoding sensitive information yes
so you would just keep it in settings?
as strings
no, as just mentioned thats very insecure, you need to use environment variables
oh bro we are saying the same thing lol
so get that done before you worry about deployment
then you retrieve the env vars from settings yea that’s what i’m saying were saying the same thing on that, but i was also going to retrieve the env vars for docker but you told me i don’t need docker anymore
so they will all be pulled by settings
well i’m going to setup the env soon and then try to deploy it to railway see what happens
and minio as well as postgres settings
yeah deploy those first, then deploy an empty service, setup the variables needed, then attach your repo
aaaaah i got my confusion
i need to setup the vars for when i use them in docker right every time i docker compose up build
i thought i was retrieving them there for some reason
what getting off the screen for 5 minutes does to the brain
no no they're set on the service, and those are injected into the environment
yea yea
that
i thought i was retrieving them in docker compose
instead of injecting them
which i prob can but why would you
like i can retrieve my systems or a environments variables in the docker compose then inject them in the docker variable but why would i do that
you can't even if you wanted to, railway has zero concept of docker compose
well i used docker so long for this for my local env and containers i have blurred it with django i had to unmix it
now i get what is happening hahahaha
awesome
after a few painful hours i got it to deploy and retrieve css/js now i need to improve minio access policies and a lot of settings and api settings
happy to hear that!
thanks i sorta slammed it there is still so much to do at least 5 hours of work i would say before it’s working the way i want it to
but now i know it is capable to at least
im sure youve learnt a lot in the process